OR-Tools  9.2
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 < 3019000
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 3019001 < 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[30]
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 uint32_t offsets[];
55 };
56 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto;
57 namespace operations_research {
58 namespace sat {
59 class AllDifferentConstraintProto;
60 struct AllDifferentConstraintProtoDefaultTypeInternal;
61 extern AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_;
62 class AutomatonConstraintProto;
63 struct AutomatonConstraintProtoDefaultTypeInternal;
64 extern AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_;
65 class BoolArgumentProto;
66 struct BoolArgumentProtoDefaultTypeInternal;
67 extern BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_;
68 class CircuitConstraintProto;
69 struct CircuitConstraintProtoDefaultTypeInternal;
70 extern CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_;
71 class ConstraintProto;
72 struct ConstraintProtoDefaultTypeInternal;
73 extern ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_;
74 class CpModelProto;
75 struct CpModelProtoDefaultTypeInternal;
76 extern CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_;
77 class CpObjectiveProto;
78 struct CpObjectiveProtoDefaultTypeInternal;
79 extern CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_;
80 class CpSolverResponse;
81 struct CpSolverResponseDefaultTypeInternal;
82 extern CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_;
83 class CpSolverSolution;
84 struct CpSolverSolutionDefaultTypeInternal;
85 extern CpSolverSolutionDefaultTypeInternal _CpSolverSolution_default_instance_;
86 class CumulativeConstraintProto;
87 struct CumulativeConstraintProtoDefaultTypeInternal;
88 extern CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_;
89 class DecisionStrategyProto;
90 struct DecisionStrategyProtoDefaultTypeInternal;
91 extern DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_;
92 class DecisionStrategyProto_AffineTransformation;
93 struct DecisionStrategyProto_AffineTransformationDefaultTypeInternal;
94 extern DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_;
95 class DenseMatrixProto;
96 struct DenseMatrixProtoDefaultTypeInternal;
97 extern DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_;
98 class ElementConstraintProto;
99 struct ElementConstraintProtoDefaultTypeInternal;
100 extern ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_;
101 class FloatObjectiveProto;
102 struct FloatObjectiveProtoDefaultTypeInternal;
103 extern FloatObjectiveProtoDefaultTypeInternal _FloatObjectiveProto_default_instance_;
104 class IntegerVariableProto;
105 struct IntegerVariableProtoDefaultTypeInternal;
106 extern IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_;
107 class IntervalConstraintProto;
108 struct IntervalConstraintProtoDefaultTypeInternal;
109 extern IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_;
110 class InverseConstraintProto;
111 struct InverseConstraintProtoDefaultTypeInternal;
112 extern InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_;
113 class LinearArgumentProto;
114 struct LinearArgumentProtoDefaultTypeInternal;
115 extern LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_;
116 class LinearConstraintProto;
117 struct LinearConstraintProtoDefaultTypeInternal;
118 extern LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_;
119 class LinearExpressionProto;
120 struct LinearExpressionProtoDefaultTypeInternal;
121 extern LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_;
122 class ListOfVariablesProto;
123 struct ListOfVariablesProtoDefaultTypeInternal;
124 extern ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_;
125 class NoOverlap2DConstraintProto;
126 struct NoOverlap2DConstraintProtoDefaultTypeInternal;
127 extern NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_;
128 class NoOverlapConstraintProto;
129 struct NoOverlapConstraintProtoDefaultTypeInternal;
130 extern NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_;
131 class PartialVariableAssignment;
132 struct PartialVariableAssignmentDefaultTypeInternal;
133 extern PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_;
134 class ReservoirConstraintProto;
135 struct ReservoirConstraintProtoDefaultTypeInternal;
136 extern ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_;
137 class RoutesConstraintProto;
138 struct RoutesConstraintProtoDefaultTypeInternal;
139 extern RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_;
140 class SparsePermutationProto;
141 struct SparsePermutationProtoDefaultTypeInternal;
142 extern SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_;
143 class SymmetryProto;
144 struct SymmetryProtoDefaultTypeInternal;
145 extern SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_;
146 class TableConstraintProto;
147 struct TableConstraintProtoDefaultTypeInternal;
148 extern TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_;
149 } // namespace sat
150 } // namespace operations_research
151 PROTOBUF_NAMESPACE_OPEN
152 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
153 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
154 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
155 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
156 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
157 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
158 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
159 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
160 template<> ::operations_research::sat::CpSolverSolution* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverSolution>(Arena*);
161 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
162 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
163 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
164 template<> ::operations_research::sat::DenseMatrixProto* Arena::CreateMaybeMessage<::operations_research::sat::DenseMatrixProto>(Arena*);
165 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
166 template<> ::operations_research::sat::FloatObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::FloatObjectiveProto>(Arena*);
167 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
168 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
169 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
170 template<> ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearArgumentProto>(Arena*);
171 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
172 template<> ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(Arena*);
173 template<> ::operations_research::sat::ListOfVariablesProto* Arena::CreateMaybeMessage<::operations_research::sat::ListOfVariablesProto>(Arena*);
174 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
175 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
176 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
177 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
178 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
179 template<> ::operations_research::sat::SparsePermutationProto* Arena::CreateMaybeMessage<::operations_research::sat::SparsePermutationProto>(Arena*);
180 template<> ::operations_research::sat::SymmetryProto* Arena::CreateMaybeMessage<::operations_research::sat::SymmetryProto>(Arena*);
181 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
182 PROTOBUF_NAMESPACE_CLOSE
183 namespace operations_research {
184 namespace sat {
185 
194 };
199 
200 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
201 template<typename T>
202 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
205  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
206  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
208 }
210  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy* value) {
211  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
213 }
222 };
227 
228 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
229 template<typename T>
230 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
233  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
234  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
236 }
238  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy* value) {
239  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
241 }
242 enum CpSolverStatus : int {
243  UNKNOWN = 0,
245  FEASIBLE = 2,
247  OPTIMAL = 4,
250 };
251 bool CpSolverStatus_IsValid(int value);
255 
256 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
257 template<typename T>
258 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
259  static_assert(::std::is_same<T, CpSolverStatus>::value ||
261  "Incorrect type passed to function CpSolverStatus_Name.");
262  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
263  CpSolverStatus_descriptor(), enum_t_value);
264 }
266  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus* value) {
267  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
269 }
270 // ===================================================================
271 
272 class IntegerVariableProto final :
273  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
274  public:
276  ~IntegerVariableProto() override;
277  explicit constexpr IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
278 
282  *this = ::std::move(from);
283  }
284 
286  CopyFrom(from);
287  return *this;
288  }
290  if (this == &from) return *this;
291  if (GetOwningArena() == from.GetOwningArena()
292  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
293  && GetOwningArena() != nullptr
294  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
295  ) {
296  InternalSwap(&from);
297  } else {
298  CopyFrom(from);
299  }
300  return *this;
301  }
302 
303  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
304  return GetDescriptor();
305  }
306  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
307  return default_instance().GetMetadata().descriptor;
308  }
309  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
310  return default_instance().GetMetadata().reflection;
311  }
313  return *internal_default_instance();
314  }
316  return reinterpret_cast<const IntegerVariableProto*>(
318  }
319  static constexpr int kIndexInFileMessages =
320  0;
321 
323  a.Swap(&b);
324  }
325  inline void Swap(IntegerVariableProto* other) {
326  if (other == this) return;
327  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
328  if (GetOwningArena() != nullptr &&
329  GetOwningArena() == other->GetOwningArena()) {
330  #else // PROTOBUF_FORCE_COPY_IN_SWAP
331  if (GetOwningArena() == other->GetOwningArena()) {
332  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
333  InternalSwap(other);
334  } else {
335  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
336  }
337  }
339  if (other == this) return;
340  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
341  InternalSwap(other);
342  }
343 
344  // implements Message ----------------------------------------------
345 
346  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
347  return CreateMaybeMessage<IntegerVariableProto>(arena);
348  }
349  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
350  void CopyFrom(const IntegerVariableProto& from);
351  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
352  void MergeFrom(const IntegerVariableProto& from);
353  private:
354  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
355  public:
356  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
357  bool IsInitialized() const final;
358 
359  size_t ByteSizeLong() const final;
360  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
361  uint8_t* _InternalSerialize(
362  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
363  int GetCachedSize() const final { return _cached_size_.Get(); }
364 
365  private:
366  void SharedCtor();
367  void SharedDtor();
368  void SetCachedSize(int size) const final;
369  void InternalSwap(IntegerVariableProto* other);
370 
371  private:
372  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
373  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
374  return "operations_research.sat.IntegerVariableProto";
375  }
376  protected:
377  explicit IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
378  bool is_message_owned = false);
379  private:
380  static void ArenaDtor(void* object);
381  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
382  public:
383 
384  static const ClassData _class_data_;
385  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
386 
387  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
388 
389  // nested types ----------------------------------------------------
390 
391  // accessors -------------------------------------------------------
392 
393  enum : int {
396  };
397  // repeated int64 domain = 2;
398  int domain_size() const;
399  private:
400  int _internal_domain_size() const;
401  public:
402  void clear_domain();
403  private:
404  int64_t _internal_domain(int index) const;
405  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
406  _internal_domain() const;
407  void _internal_add_domain(int64_t value);
408  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
409  _internal_mutable_domain();
410  public:
411  int64_t domain(int index) const;
412  void set_domain(int index, int64_t value);
413  void add_domain(int64_t value);
414  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
415  domain() const;
416  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
417  mutable_domain();
418 
419  // string name = 1;
420  void clear_name();
421  const std::string& name() const;
422  template <typename ArgT0 = const std::string&, typename... ArgT>
423  void set_name(ArgT0&& arg0, ArgT... args);
424  std::string* mutable_name();
425  PROTOBUF_NODISCARD std::string* release_name();
426  void set_allocated_name(std::string* name);
427  private:
428  const std::string& _internal_name() const;
429  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
430  std::string* _internal_mutable_name();
431  public:
432 
433  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
434  private:
435  class _Internal;
436 
437  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
438  typedef void InternalArenaConstructable_;
439  typedef void DestructorSkippable_;
440  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > domain_;
441  mutable std::atomic<int> _domain_cached_byte_size_;
442  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
443  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
444  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
445 };
446 // -------------------------------------------------------------------
447 
448 class BoolArgumentProto final :
449  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
450  public:
451  inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
452  ~BoolArgumentProto() override;
453  explicit constexpr BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
454 
457  : BoolArgumentProto() {
458  *this = ::std::move(from);
459  }
460 
462  CopyFrom(from);
463  return *this;
464  }
465  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
466  if (this == &from) return *this;
467  if (GetOwningArena() == from.GetOwningArena()
468  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
469  && GetOwningArena() != nullptr
470  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
471  ) {
472  InternalSwap(&from);
473  } else {
474  CopyFrom(from);
475  }
476  return *this;
477  }
478 
479  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
480  return GetDescriptor();
481  }
482  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
483  return default_instance().GetMetadata().descriptor;
484  }
485  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
486  return default_instance().GetMetadata().reflection;
487  }
489  return *internal_default_instance();
490  }
492  return reinterpret_cast<const BoolArgumentProto*>(
494  }
495  static constexpr int kIndexInFileMessages =
496  1;
497 
499  a.Swap(&b);
500  }
501  inline void Swap(BoolArgumentProto* other) {
502  if (other == this) return;
503  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
504  if (GetOwningArena() != nullptr &&
505  GetOwningArena() == other->GetOwningArena()) {
506  #else // PROTOBUF_FORCE_COPY_IN_SWAP
507  if (GetOwningArena() == other->GetOwningArena()) {
508  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
509  InternalSwap(other);
510  } else {
511  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
512  }
513  }
515  if (other == this) return;
516  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
517  InternalSwap(other);
518  }
519 
520  // implements Message ----------------------------------------------
521 
522  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
523  return CreateMaybeMessage<BoolArgumentProto>(arena);
524  }
525  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
526  void CopyFrom(const BoolArgumentProto& from);
527  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
528  void MergeFrom(const BoolArgumentProto& from);
529  private:
530  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
531  public:
532  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
533  bool IsInitialized() const final;
534 
535  size_t ByteSizeLong() const final;
536  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
537  uint8_t* _InternalSerialize(
538  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
539  int GetCachedSize() const final { return _cached_size_.Get(); }
540 
541  private:
542  void SharedCtor();
543  void SharedDtor();
544  void SetCachedSize(int size) const final;
545  void InternalSwap(BoolArgumentProto* other);
546 
547  private:
548  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
549  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
550  return "operations_research.sat.BoolArgumentProto";
551  }
552  protected:
553  explicit BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
554  bool is_message_owned = false);
555  private:
556  static void ArenaDtor(void* object);
557  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
558  public:
559 
560  static const ClassData _class_data_;
561  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
562 
563  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
564 
565  // nested types ----------------------------------------------------
566 
567  // accessors -------------------------------------------------------
568 
569  enum : int {
570  kLiteralsFieldNumber = 1,
571  };
572  // repeated int32 literals = 1;
573  int literals_size() const;
574  private:
575  int _internal_literals_size() const;
576  public:
577  void clear_literals();
578  private:
579  int32_t _internal_literals(int index) const;
580  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
581  _internal_literals() const;
582  void _internal_add_literals(int32_t value);
583  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
584  _internal_mutable_literals();
585  public:
586  int32_t literals(int index) const;
587  void set_literals(int index, int32_t value);
588  void add_literals(int32_t value);
589  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
590  literals() const;
591  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
592  mutable_literals();
593 
594  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
595  private:
596  class _Internal;
597 
598  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
599  typedef void InternalArenaConstructable_;
600  typedef void DestructorSkippable_;
601  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > literals_;
602  mutable std::atomic<int> _literals_cached_byte_size_;
603  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
604  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
605 };
606 // -------------------------------------------------------------------
607 
609  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
610  public:
612  ~LinearExpressionProto() override;
613  explicit constexpr LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
614 
618  *this = ::std::move(from);
619  }
620 
622  CopyFrom(from);
623  return *this;
624  }
626  if (this == &from) return *this;
627  if (GetOwningArena() == from.GetOwningArena()
628  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
629  && GetOwningArena() != nullptr
630  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
631  ) {
632  InternalSwap(&from);
633  } else {
634  CopyFrom(from);
635  }
636  return *this;
637  }
638 
639  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
640  return GetDescriptor();
641  }
642  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
643  return default_instance().GetMetadata().descriptor;
644  }
645  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
646  return default_instance().GetMetadata().reflection;
647  }
649  return *internal_default_instance();
650  }
652  return reinterpret_cast<const LinearExpressionProto*>(
654  }
655  static constexpr int kIndexInFileMessages =
656  2;
657 
659  a.Swap(&b);
660  }
661  inline void Swap(LinearExpressionProto* other) {
662  if (other == this) return;
663  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
664  if (GetOwningArena() != nullptr &&
665  GetOwningArena() == other->GetOwningArena()) {
666  #else // PROTOBUF_FORCE_COPY_IN_SWAP
667  if (GetOwningArena() == other->GetOwningArena()) {
668  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
669  InternalSwap(other);
670  } else {
671  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
672  }
673  }
675  if (other == this) return;
676  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
677  InternalSwap(other);
678  }
679 
680  // implements Message ----------------------------------------------
681 
682  LinearExpressionProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
683  return CreateMaybeMessage<LinearExpressionProto>(arena);
684  }
685  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
686  void CopyFrom(const LinearExpressionProto& from);
687  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
688  void MergeFrom(const LinearExpressionProto& from);
689  private:
690  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
691  public:
692  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
693  bool IsInitialized() const final;
694 
695  size_t ByteSizeLong() const final;
696  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
697  uint8_t* _InternalSerialize(
698  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
699  int GetCachedSize() const final { return _cached_size_.Get(); }
700 
701  private:
702  void SharedCtor();
703  void SharedDtor();
704  void SetCachedSize(int size) const final;
705  void InternalSwap(LinearExpressionProto* other);
706 
707  private:
708  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
709  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
710  return "operations_research.sat.LinearExpressionProto";
711  }
712  protected:
713  explicit LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
714  bool is_message_owned = false);
715  private:
716  static void ArenaDtor(void* object);
717  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
718  public:
719 
720  static const ClassData _class_data_;
721  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
722 
723  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
724 
725  // nested types ----------------------------------------------------
726 
727  // accessors -------------------------------------------------------
728 
729  enum : int {
730  kVarsFieldNumber = 1,
731  kCoeffsFieldNumber = 2,
732  kOffsetFieldNumber = 3,
733  };
734  // repeated int32 vars = 1;
735  int vars_size() const;
736  private:
737  int _internal_vars_size() const;
738  public:
739  void clear_vars();
740  private:
741  int32_t _internal_vars(int index) const;
742  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
743  _internal_vars() const;
744  void _internal_add_vars(int32_t value);
745  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
746  _internal_mutable_vars();
747  public:
748  int32_t vars(int index) const;
749  void set_vars(int index, int32_t value);
750  void add_vars(int32_t value);
751  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
752  vars() const;
753  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
754  mutable_vars();
755 
756  // repeated int64 coeffs = 2;
757  int coeffs_size() const;
758  private:
759  int _internal_coeffs_size() const;
760  public:
761  void clear_coeffs();
762  private:
763  int64_t _internal_coeffs(int index) const;
764  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
765  _internal_coeffs() const;
766  void _internal_add_coeffs(int64_t value);
767  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
768  _internal_mutable_coeffs();
769  public:
770  int64_t coeffs(int index) const;
771  void set_coeffs(int index, int64_t value);
772  void add_coeffs(int64_t value);
773  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
774  coeffs() const;
775  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
776  mutable_coeffs();
777 
778  // int64 offset = 3;
779  void clear_offset();
780  int64_t offset() const;
781  void set_offset(int64_t value);
782  private:
783  int64_t _internal_offset() const;
784  void _internal_set_offset(int64_t value);
785  public:
786 
787  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
788  private:
789  class _Internal;
790 
791  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
792  typedef void InternalArenaConstructable_;
793  typedef void DestructorSkippable_;
794  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
795  mutable std::atomic<int> _vars_cached_byte_size_;
796  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > coeffs_;
797  mutable std::atomic<int> _coeffs_cached_byte_size_;
798  int64_t offset_;
799  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
800  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
801 };
802 // -------------------------------------------------------------------
803 
804 class LinearArgumentProto final :
805  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
806  public:
808  ~LinearArgumentProto() override;
809  explicit constexpr LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
810 
813  : LinearArgumentProto() {
814  *this = ::std::move(from);
815  }
816 
818  CopyFrom(from);
819  return *this;
820  }
822  if (this == &from) return *this;
823  if (GetOwningArena() == from.GetOwningArena()
824  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
825  && GetOwningArena() != nullptr
826  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
827  ) {
828  InternalSwap(&from);
829  } else {
830  CopyFrom(from);
831  }
832  return *this;
833  }
834 
835  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
836  return GetDescriptor();
837  }
838  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
839  return default_instance().GetMetadata().descriptor;
840  }
841  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
842  return default_instance().GetMetadata().reflection;
843  }
845  return *internal_default_instance();
846  }
848  return reinterpret_cast<const LinearArgumentProto*>(
850  }
851  static constexpr int kIndexInFileMessages =
852  3;
853 
855  a.Swap(&b);
856  }
857  inline void Swap(LinearArgumentProto* other) {
858  if (other == this) return;
859  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
860  if (GetOwningArena() != nullptr &&
861  GetOwningArena() == other->GetOwningArena()) {
862  #else // PROTOBUF_FORCE_COPY_IN_SWAP
863  if (GetOwningArena() == other->GetOwningArena()) {
864  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
865  InternalSwap(other);
866  } else {
867  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
868  }
869  }
871  if (other == this) return;
872  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
873  InternalSwap(other);
874  }
875 
876  // implements Message ----------------------------------------------
877 
878  LinearArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
879  return CreateMaybeMessage<LinearArgumentProto>(arena);
880  }
881  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
882  void CopyFrom(const LinearArgumentProto& from);
883  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
884  void MergeFrom(const LinearArgumentProto& from);
885  private:
886  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
887  public:
888  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
889  bool IsInitialized() const final;
890 
891  size_t ByteSizeLong() const final;
892  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
893  uint8_t* _InternalSerialize(
894  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
895  int GetCachedSize() const final { return _cached_size_.Get(); }
896 
897  private:
898  void SharedCtor();
899  void SharedDtor();
900  void SetCachedSize(int size) const final;
901  void InternalSwap(LinearArgumentProto* other);
902 
903  private:
904  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
905  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
906  return "operations_research.sat.LinearArgumentProto";
907  }
908  protected:
909  explicit LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
910  bool is_message_owned = false);
911  private:
912  static void ArenaDtor(void* object);
913  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
914  public:
915 
916  static const ClassData _class_data_;
917  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
918 
919  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
920 
921  // nested types ----------------------------------------------------
922 
923  // accessors -------------------------------------------------------
924 
925  enum : int {
926  kExprsFieldNumber = 2,
927  kTargetFieldNumber = 1,
928  };
929  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
930  int exprs_size() const;
931  private:
932  int _internal_exprs_size() const;
933  public:
934  void clear_exprs();
936  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
937  mutable_exprs();
938  private:
939  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
941  public:
942  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
944  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
945  exprs() const;
946 
947  // .operations_research.sat.LinearExpressionProto target = 1;
948  bool has_target() const;
949  private:
950  bool _internal_has_target() const;
951  public:
952  void clear_target();
953  const ::operations_research::sat::LinearExpressionProto& target() const;
954  PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto* release_target();
956  void set_allocated_target(::operations_research::sat::LinearExpressionProto* target);
957  private:
958  const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
959  ::operations_research::sat::LinearExpressionProto* _internal_mutable_target();
960  public:
961  void unsafe_arena_set_allocated_target(
963  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_target();
964 
965  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
966  private:
967  class _Internal;
968 
969  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
970  typedef void InternalArenaConstructable_;
971  typedef void DestructorSkippable_;
972  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
974  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
975  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
976 };
977 // -------------------------------------------------------------------
978 
980  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
981  public:
983  ~AllDifferentConstraintProto() override;
984  explicit constexpr AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
985 
989  *this = ::std::move(from);
990  }
991 
993  CopyFrom(from);
994  return *this;
995  }
997  if (this == &from) return *this;
998  if (GetOwningArena() == from.GetOwningArena()
999  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1000  && GetOwningArena() != nullptr
1001  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1002  ) {
1003  InternalSwap(&from);
1004  } else {
1005  CopyFrom(from);
1006  }
1007  return *this;
1008  }
1009 
1010  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1011  return GetDescriptor();
1012  }
1013  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1014  return default_instance().GetMetadata().descriptor;
1015  }
1016  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1017  return default_instance().GetMetadata().reflection;
1018  }
1020  return *internal_default_instance();
1021  }
1023  return reinterpret_cast<const AllDifferentConstraintProto*>(
1025  }
1026  static constexpr int kIndexInFileMessages =
1027  4;
1028 
1030  a.Swap(&b);
1031  }
1032  inline void Swap(AllDifferentConstraintProto* other) {
1033  if (other == this) return;
1034  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1035  if (GetOwningArena() != nullptr &&
1036  GetOwningArena() == other->GetOwningArena()) {
1037  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1038  if (GetOwningArena() == other->GetOwningArena()) {
1039  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1040  InternalSwap(other);
1041  } else {
1042  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1043  }
1044  }
1046  if (other == this) return;
1047  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1048  InternalSwap(other);
1049  }
1050 
1051  // implements Message ----------------------------------------------
1052 
1053  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1054  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
1055  }
1056  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1057  void CopyFrom(const AllDifferentConstraintProto& from);
1058  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1059  void MergeFrom(const AllDifferentConstraintProto& from);
1060  private:
1061  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1062  public:
1063  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1064  bool IsInitialized() const final;
1065 
1066  size_t ByteSizeLong() const final;
1067  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1068  uint8_t* _InternalSerialize(
1069  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1070  int GetCachedSize() const final { return _cached_size_.Get(); }
1071 
1072  private:
1073  void SharedCtor();
1074  void SharedDtor();
1075  void SetCachedSize(int size) const final;
1076  void InternalSwap(AllDifferentConstraintProto* other);
1077 
1078  private:
1079  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1080  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1081  return "operations_research.sat.AllDifferentConstraintProto";
1082  }
1083  protected:
1084  explicit AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1085  bool is_message_owned = false);
1086  private:
1087  static void ArenaDtor(void* object);
1088  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1089  public:
1090 
1091  static const ClassData _class_data_;
1092  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1093 
1094  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1095 
1096  // nested types ----------------------------------------------------
1097 
1098  // accessors -------------------------------------------------------
1099 
1100  enum : int {
1101  kExprsFieldNumber = 1,
1102  };
1103  // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
1104  int exprs_size() const;
1105  private:
1106  int _internal_exprs_size() const;
1107  public:
1108  void clear_exprs();
1110  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
1111  mutable_exprs();
1112  private:
1113  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
1115  public:
1116  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
1118  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
1119  exprs() const;
1120 
1121  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
1122  private:
1123  class _Internal;
1124 
1125  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1126  typedef void InternalArenaConstructable_;
1127  typedef void DestructorSkippable_;
1128  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
1129  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1130  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1131 };
1132 // -------------------------------------------------------------------
1133 
1135  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1136  public:
1138  ~LinearConstraintProto() override;
1139  explicit constexpr LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1140 
1143  : LinearConstraintProto() {
1144  *this = ::std::move(from);
1145  }
1146 
1148  CopyFrom(from);
1149  return *this;
1150  }
1152  if (this == &from) return *this;
1153  if (GetOwningArena() == from.GetOwningArena()
1154  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1155  && GetOwningArena() != nullptr
1156  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1157  ) {
1158  InternalSwap(&from);
1159  } else {
1160  CopyFrom(from);
1161  }
1162  return *this;
1163  }
1164 
1165  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1166  return GetDescriptor();
1167  }
1168  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1169  return default_instance().GetMetadata().descriptor;
1170  }
1171  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1172  return default_instance().GetMetadata().reflection;
1173  }
1175  return *internal_default_instance();
1176  }
1178  return reinterpret_cast<const LinearConstraintProto*>(
1180  }
1181  static constexpr int kIndexInFileMessages =
1182  5;
1183 
1185  a.Swap(&b);
1186  }
1187  inline void Swap(LinearConstraintProto* other) {
1188  if (other == this) return;
1189  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1190  if (GetOwningArena() != nullptr &&
1191  GetOwningArena() == other->GetOwningArena()) {
1192  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1193  if (GetOwningArena() == other->GetOwningArena()) {
1194  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1195  InternalSwap(other);
1196  } else {
1197  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1198  }
1199  }
1201  if (other == this) return;
1202  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1203  InternalSwap(other);
1204  }
1205 
1206  // implements Message ----------------------------------------------
1207 
1208  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1209  return CreateMaybeMessage<LinearConstraintProto>(arena);
1210  }
1211  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1212  void CopyFrom(const LinearConstraintProto& from);
1213  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1214  void MergeFrom(const LinearConstraintProto& from);
1215  private:
1216  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1217  public:
1218  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1219  bool IsInitialized() const final;
1220 
1221  size_t ByteSizeLong() const final;
1222  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1223  uint8_t* _InternalSerialize(
1224  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1225  int GetCachedSize() const final { return _cached_size_.Get(); }
1226 
1227  private:
1228  void SharedCtor();
1229  void SharedDtor();
1230  void SetCachedSize(int size) const final;
1231  void InternalSwap(LinearConstraintProto* other);
1232 
1233  private:
1234  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1235  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1236  return "operations_research.sat.LinearConstraintProto";
1237  }
1238  protected:
1239  explicit LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1240  bool is_message_owned = false);
1241  private:
1242  static void ArenaDtor(void* object);
1243  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1244  public:
1245 
1246  static const ClassData _class_data_;
1247  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1248 
1249  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1250 
1251  // nested types ----------------------------------------------------
1252 
1253  // accessors -------------------------------------------------------
1254 
1255  enum : int {
1256  kVarsFieldNumber = 1,
1257  kCoeffsFieldNumber = 2,
1259  };
1260  // repeated int32 vars = 1;
1261  int vars_size() const;
1262  private:
1263  int _internal_vars_size() const;
1264  public:
1265  void clear_vars();
1266  private:
1267  int32_t _internal_vars(int index) const;
1268  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1269  _internal_vars() const;
1270  void _internal_add_vars(int32_t value);
1271  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1272  _internal_mutable_vars();
1273  public:
1274  int32_t vars(int index) const;
1275  void set_vars(int index, int32_t value);
1276  void add_vars(int32_t value);
1277  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1278  vars() const;
1279  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1280  mutable_vars();
1281 
1282  // repeated int64 coeffs = 2;
1283  int coeffs_size() const;
1284  private:
1285  int _internal_coeffs_size() const;
1286  public:
1287  void clear_coeffs();
1288  private:
1289  int64_t _internal_coeffs(int index) const;
1290  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1291  _internal_coeffs() const;
1292  void _internal_add_coeffs(int64_t value);
1293  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1294  _internal_mutable_coeffs();
1295  public:
1296  int64_t coeffs(int index) const;
1297  void set_coeffs(int index, int64_t value);
1298  void add_coeffs(int64_t value);
1299  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1300  coeffs() const;
1301  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1302  mutable_coeffs();
1303 
1304  // repeated int64 domain = 3;
1305  int domain_size() const;
1306  private:
1307  int _internal_domain_size() const;
1308  public:
1309  void clear_domain();
1310  private:
1311  int64_t _internal_domain(int index) const;
1312  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1313  _internal_domain() const;
1314  void _internal_add_domain(int64_t value);
1315  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1316  _internal_mutable_domain();
1317  public:
1318  int64_t domain(int index) const;
1319  void set_domain(int index, int64_t value);
1320  void add_domain(int64_t value);
1321  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1322  domain() const;
1323  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1324  mutable_domain();
1325 
1326  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1327  private:
1328  class _Internal;
1329 
1330  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1331  typedef void InternalArenaConstructable_;
1332  typedef void DestructorSkippable_;
1333  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
1334  mutable std::atomic<int> _vars_cached_byte_size_;
1335  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > coeffs_;
1336  mutable std::atomic<int> _coeffs_cached_byte_size_;
1337  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > domain_;
1338  mutable std::atomic<int> _domain_cached_byte_size_;
1339  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1340  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1341 };
1342 // -------------------------------------------------------------------
1343 
1345  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
1346  public:
1348  ~ElementConstraintProto() override;
1349  explicit constexpr ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1350 
1354  *this = ::std::move(from);
1355  }
1356 
1358  CopyFrom(from);
1359  return *this;
1360  }
1362  if (this == &from) return *this;
1363  if (GetOwningArena() == from.GetOwningArena()
1364  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1365  && GetOwningArena() != nullptr
1366  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1367  ) {
1368  InternalSwap(&from);
1369  } else {
1370  CopyFrom(from);
1371  }
1372  return *this;
1373  }
1374 
1375  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1376  return GetDescriptor();
1377  }
1378  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1379  return default_instance().GetMetadata().descriptor;
1380  }
1381  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1382  return default_instance().GetMetadata().reflection;
1383  }
1385  return *internal_default_instance();
1386  }
1388  return reinterpret_cast<const ElementConstraintProto*>(
1390  }
1391  static constexpr int kIndexInFileMessages =
1392  6;
1393 
1395  a.Swap(&b);
1396  }
1397  inline void Swap(ElementConstraintProto* other) {
1398  if (other == this) return;
1399  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1400  if (GetOwningArena() != nullptr &&
1401  GetOwningArena() == other->GetOwningArena()) {
1402  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1403  if (GetOwningArena() == other->GetOwningArena()) {
1404  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1405  InternalSwap(other);
1406  } else {
1407  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1408  }
1409  }
1411  if (other == this) return;
1412  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1413  InternalSwap(other);
1414  }
1415 
1416  // implements Message ----------------------------------------------
1417 
1418  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1419  return CreateMaybeMessage<ElementConstraintProto>(arena);
1420  }
1421  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1422  void CopyFrom(const ElementConstraintProto& from);
1423  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1424  void MergeFrom(const ElementConstraintProto& from);
1425  private:
1426  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1427  public:
1428  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1429  bool IsInitialized() const final;
1430 
1431  size_t ByteSizeLong() const final;
1432  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1433  uint8_t* _InternalSerialize(
1434  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1435  int GetCachedSize() const final { return _cached_size_.Get(); }
1436 
1437  private:
1438  void SharedCtor();
1439  void SharedDtor();
1440  void SetCachedSize(int size) const final;
1441  void InternalSwap(ElementConstraintProto* other);
1442 
1443  private:
1444  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1445  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1446  return "operations_research.sat.ElementConstraintProto";
1447  }
1448  protected:
1449  explicit ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1450  bool is_message_owned = false);
1451  private:
1452  static void ArenaDtor(void* object);
1453  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1454  public:
1455 
1456  static const ClassData _class_data_;
1457  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1458 
1459  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1460 
1461  // nested types ----------------------------------------------------
1462 
1463  // accessors -------------------------------------------------------
1464 
1465  enum : int {
1466  kVarsFieldNumber = 3,
1467  kIndexFieldNumber = 1,
1468  kTargetFieldNumber = 2,
1469  };
1470  // repeated int32 vars = 3;
1471  int vars_size() const;
1472  private:
1473  int _internal_vars_size() const;
1474  public:
1475  void clear_vars();
1476  private:
1477  int32_t _internal_vars(int index) const;
1478  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1479  _internal_vars() const;
1480  void _internal_add_vars(int32_t value);
1481  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1482  _internal_mutable_vars();
1483  public:
1484  int32_t vars(int index) const;
1485  void set_vars(int index, int32_t value);
1486  void add_vars(int32_t value);
1487  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1488  vars() const;
1489  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1490  mutable_vars();
1491 
1492  // int32 index = 1;
1493  void clear_index();
1494  int32_t index() const;
1495  void set_index(int32_t value);
1496  private:
1497  int32_t _internal_index() const;
1498  void _internal_set_index(int32_t value);
1499  public:
1500 
1501  // int32 target = 2;
1502  void clear_target();
1503  int32_t target() const;
1504  void set_target(int32_t value);
1505  private:
1506  int32_t _internal_target() const;
1507  void _internal_set_target(int32_t value);
1508  public:
1509 
1510  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1511  private:
1512  class _Internal;
1513 
1514  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1515  typedef void InternalArenaConstructable_;
1516  typedef void DestructorSkippable_;
1517  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
1518  mutable std::atomic<int> _vars_cached_byte_size_;
1519  int32_t index_;
1520  int32_t target_;
1521  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1522  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1523 };
1524 // -------------------------------------------------------------------
1525 
1527  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1528  public:
1530  ~IntervalConstraintProto() override;
1531  explicit constexpr IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1532 
1536  *this = ::std::move(from);
1537  }
1538 
1540  CopyFrom(from);
1541  return *this;
1542  }
1544  if (this == &from) return *this;
1545  if (GetOwningArena() == from.GetOwningArena()
1546  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1547  && GetOwningArena() != nullptr
1548  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1549  ) {
1550  InternalSwap(&from);
1551  } else {
1552  CopyFrom(from);
1553  }
1554  return *this;
1555  }
1556 
1557  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1558  return GetDescriptor();
1559  }
1560  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1561  return default_instance().GetMetadata().descriptor;
1562  }
1563  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1564  return default_instance().GetMetadata().reflection;
1565  }
1567  return *internal_default_instance();
1568  }
1570  return reinterpret_cast<const IntervalConstraintProto*>(
1572  }
1573  static constexpr int kIndexInFileMessages =
1574  7;
1575 
1577  a.Swap(&b);
1578  }
1579  inline void Swap(IntervalConstraintProto* other) {
1580  if (other == this) return;
1581  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1582  if (GetOwningArena() != nullptr &&
1583  GetOwningArena() == other->GetOwningArena()) {
1584  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1585  if (GetOwningArena() == other->GetOwningArena()) {
1586  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1587  InternalSwap(other);
1588  } else {
1589  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1590  }
1591  }
1593  if (other == this) return;
1594  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1595  InternalSwap(other);
1596  }
1597 
1598  // implements Message ----------------------------------------------
1599 
1600  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1601  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1602  }
1603  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1604  void CopyFrom(const IntervalConstraintProto& from);
1605  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1606  void MergeFrom(const IntervalConstraintProto& from);
1607  private:
1608  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1609  public:
1610  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1611  bool IsInitialized() const final;
1612 
1613  size_t ByteSizeLong() const final;
1614  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1615  uint8_t* _InternalSerialize(
1616  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1617  int GetCachedSize() const final { return _cached_size_.Get(); }
1618 
1619  private:
1620  void SharedCtor();
1621  void SharedDtor();
1622  void SetCachedSize(int size) const final;
1623  void InternalSwap(IntervalConstraintProto* other);
1624 
1625  private:
1626  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1627  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1628  return "operations_research.sat.IntervalConstraintProto";
1629  }
1630  protected:
1631  explicit IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1632  bool is_message_owned = false);
1633  private:
1634  static void ArenaDtor(void* object);
1635  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1636  public:
1637 
1638  static const ClassData _class_data_;
1639  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1640 
1641  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1642 
1643  // nested types ----------------------------------------------------
1644 
1645  // accessors -------------------------------------------------------
1646 
1647  enum : int {
1648  kStartFieldNumber = 4,
1649  kEndFieldNumber = 5,
1650  kSizeFieldNumber = 6,
1651  };
1652  // .operations_research.sat.LinearExpressionProto start = 4;
1653  bool has_start() const;
1654  private:
1655  bool _internal_has_start() const;
1656  public:
1657  void clear_start();
1658  const ::operations_research::sat::LinearExpressionProto& start() const;
1659  PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto* release_start();
1661  void set_allocated_start(::operations_research::sat::LinearExpressionProto* start);
1662  private:
1663  const ::operations_research::sat::LinearExpressionProto& _internal_start() const;
1664  ::operations_research::sat::LinearExpressionProto* _internal_mutable_start();
1665  public:
1666  void unsafe_arena_set_allocated_start(
1668  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_start();
1669 
1670  // .operations_research.sat.LinearExpressionProto end = 5;
1671  bool has_end() const;
1672  private:
1673  bool _internal_has_end() const;
1674  public:
1675  void clear_end();
1676  const ::operations_research::sat::LinearExpressionProto& end() const;
1677  PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto* release_end();
1679  void set_allocated_end(::operations_research::sat::LinearExpressionProto* end);
1680  private:
1681  const ::operations_research::sat::LinearExpressionProto& _internal_end() const;
1682  ::operations_research::sat::LinearExpressionProto* _internal_mutable_end();
1683  public:
1684  void unsafe_arena_set_allocated_end(
1686  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_end();
1687 
1688  // .operations_research.sat.LinearExpressionProto size = 6;
1689  bool has_size() const;
1690  private:
1691  bool _internal_has_size() const;
1692  public:
1693  void clear_size();
1694  const ::operations_research::sat::LinearExpressionProto& size() const;
1695  PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto* release_size();
1697  void set_allocated_size(::operations_research::sat::LinearExpressionProto* size);
1698  private:
1699  const ::operations_research::sat::LinearExpressionProto& _internal_size() const;
1700  ::operations_research::sat::LinearExpressionProto* _internal_mutable_size();
1701  public:
1702  void unsafe_arena_set_allocated_size(
1704  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_size();
1705 
1706  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1707  private:
1708  class _Internal;
1709 
1710  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1711  typedef void InternalArenaConstructable_;
1712  typedef void DestructorSkippable_;
1716  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1717  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1718 };
1719 // -------------------------------------------------------------------
1720 
1722  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1723  public:
1725  ~NoOverlapConstraintProto() override;
1726  explicit constexpr NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1727 
1731  *this = ::std::move(from);
1732  }
1733 
1735  CopyFrom(from);
1736  return *this;
1737  }
1739  if (this == &from) return *this;
1740  if (GetOwningArena() == from.GetOwningArena()
1741  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1742  && GetOwningArena() != nullptr
1743  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1744  ) {
1745  InternalSwap(&from);
1746  } else {
1747  CopyFrom(from);
1748  }
1749  return *this;
1750  }
1751 
1752  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1753  return GetDescriptor();
1754  }
1755  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1756  return default_instance().GetMetadata().descriptor;
1757  }
1758  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1759  return default_instance().GetMetadata().reflection;
1760  }
1762  return *internal_default_instance();
1763  }
1765  return reinterpret_cast<const NoOverlapConstraintProto*>(
1767  }
1768  static constexpr int kIndexInFileMessages =
1769  8;
1770 
1772  a.Swap(&b);
1773  }
1774  inline void Swap(NoOverlapConstraintProto* other) {
1775  if (other == this) return;
1776  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1777  if (GetOwningArena() != nullptr &&
1778  GetOwningArena() == other->GetOwningArena()) {
1779  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1780  if (GetOwningArena() == other->GetOwningArena()) {
1781  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1782  InternalSwap(other);
1783  } else {
1784  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1785  }
1786  }
1788  if (other == this) return;
1789  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1790  InternalSwap(other);
1791  }
1792 
1793  // implements Message ----------------------------------------------
1794 
1795  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1796  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1797  }
1798  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1799  void CopyFrom(const NoOverlapConstraintProto& from);
1800  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1801  void MergeFrom(const NoOverlapConstraintProto& from);
1802  private:
1803  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1804  public:
1805  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1806  bool IsInitialized() const final;
1807 
1808  size_t ByteSizeLong() const final;
1809  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1810  uint8_t* _InternalSerialize(
1811  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1812  int GetCachedSize() const final { return _cached_size_.Get(); }
1813 
1814  private:
1815  void SharedCtor();
1816  void SharedDtor();
1817  void SetCachedSize(int size) const final;
1818  void InternalSwap(NoOverlapConstraintProto* other);
1819 
1820  private:
1821  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1822  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1823  return "operations_research.sat.NoOverlapConstraintProto";
1824  }
1825  protected:
1826  explicit NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1827  bool is_message_owned = false);
1828  private:
1829  static void ArenaDtor(void* object);
1830  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1831  public:
1832 
1833  static const ClassData _class_data_;
1834  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1835 
1836  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1837 
1838  // nested types ----------------------------------------------------
1839 
1840  // accessors -------------------------------------------------------
1841 
1842  enum : int {
1843  kIntervalsFieldNumber = 1,
1844  };
1845  // repeated int32 intervals = 1;
1846  int intervals_size() const;
1847  private:
1848  int _internal_intervals_size() const;
1849  public:
1850  void clear_intervals();
1851  private:
1852  int32_t _internal_intervals(int index) const;
1853  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1854  _internal_intervals() const;
1855  void _internal_add_intervals(int32_t value);
1856  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1857  _internal_mutable_intervals();
1858  public:
1859  int32_t intervals(int index) const;
1860  void set_intervals(int index, int32_t value);
1861  void add_intervals(int32_t value);
1862  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1863  intervals() const;
1864  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1865  mutable_intervals();
1866 
1867  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
1868  private:
1869  class _Internal;
1870 
1871  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1872  typedef void InternalArenaConstructable_;
1873  typedef void DestructorSkippable_;
1874  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > intervals_;
1875  mutable std::atomic<int> _intervals_cached_byte_size_;
1876  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1877  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1878 };
1879 // -------------------------------------------------------------------
1880 
1882  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
1883  public:
1885  ~NoOverlap2DConstraintProto() override;
1886  explicit constexpr NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1887 
1891  *this = ::std::move(from);
1892  }
1893 
1895  CopyFrom(from);
1896  return *this;
1897  }
1899  if (this == &from) return *this;
1900  if (GetOwningArena() == from.GetOwningArena()
1901  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1902  && GetOwningArena() != nullptr
1903  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1904  ) {
1905  InternalSwap(&from);
1906  } else {
1907  CopyFrom(from);
1908  }
1909  return *this;
1910  }
1911 
1912  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1913  return GetDescriptor();
1914  }
1915  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1916  return default_instance().GetMetadata().descriptor;
1917  }
1918  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1919  return default_instance().GetMetadata().reflection;
1920  }
1922  return *internal_default_instance();
1923  }
1925  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
1927  }
1928  static constexpr int kIndexInFileMessages =
1929  9;
1930 
1932  a.Swap(&b);
1933  }
1934  inline void Swap(NoOverlap2DConstraintProto* other) {
1935  if (other == this) return;
1936  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1937  if (GetOwningArena() != nullptr &&
1938  GetOwningArena() == other->GetOwningArena()) {
1939  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1940  if (GetOwningArena() == other->GetOwningArena()) {
1941  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1942  InternalSwap(other);
1943  } else {
1944  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1945  }
1946  }
1948  if (other == this) return;
1949  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1950  InternalSwap(other);
1951  }
1952 
1953  // implements Message ----------------------------------------------
1954 
1955  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1956  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
1957  }
1958  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1959  void CopyFrom(const NoOverlap2DConstraintProto& from);
1960  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1961  void MergeFrom(const NoOverlap2DConstraintProto& from);
1962  private:
1963  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1964  public:
1965  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1966  bool IsInitialized() const final;
1967 
1968  size_t ByteSizeLong() const final;
1969  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1970  uint8_t* _InternalSerialize(
1971  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1972  int GetCachedSize() const final { return _cached_size_.Get(); }
1973 
1974  private:
1975  void SharedCtor();
1976  void SharedDtor();
1977  void SetCachedSize(int size) const final;
1978  void InternalSwap(NoOverlap2DConstraintProto* other);
1979 
1980  private:
1981  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1982  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1983  return "operations_research.sat.NoOverlap2DConstraintProto";
1984  }
1985  protected:
1986  explicit NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1987  bool is_message_owned = false);
1988  private:
1989  static void ArenaDtor(void* object);
1990  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1991  public:
1992 
1993  static const ClassData _class_data_;
1994  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1995 
1996  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1997 
1998  // nested types ----------------------------------------------------
1999 
2000  // accessors -------------------------------------------------------
2001 
2002  enum : int {
2003  kXIntervalsFieldNumber = 1,
2004  kYIntervalsFieldNumber = 2,
2005  kBoxesWithNullAreaCanOverlapFieldNumber = 3,
2006  };
2007  // repeated int32 x_intervals = 1;
2008  int x_intervals_size() const;
2009  private:
2010  int _internal_x_intervals_size() const;
2011  public:
2012  void clear_x_intervals();
2013  private:
2014  int32_t _internal_x_intervals(int index) const;
2015  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2016  _internal_x_intervals() const;
2017  void _internal_add_x_intervals(int32_t value);
2018  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2019  _internal_mutable_x_intervals();
2020  public:
2021  int32_t x_intervals(int index) const;
2022  void set_x_intervals(int index, int32_t value);
2023  void add_x_intervals(int32_t value);
2024  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2025  x_intervals() const;
2026  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2027  mutable_x_intervals();
2028 
2029  // repeated int32 y_intervals = 2;
2030  int y_intervals_size() const;
2031  private:
2032  int _internal_y_intervals_size() const;
2033  public:
2034  void clear_y_intervals();
2035  private:
2036  int32_t _internal_y_intervals(int index) const;
2037  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2038  _internal_y_intervals() const;
2039  void _internal_add_y_intervals(int32_t value);
2040  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2041  _internal_mutable_y_intervals();
2042  public:
2043  int32_t y_intervals(int index) const;
2044  void set_y_intervals(int index, int32_t value);
2045  void add_y_intervals(int32_t value);
2046  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2047  y_intervals() const;
2048  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2049  mutable_y_intervals();
2050 
2051  // bool boxes_with_null_area_can_overlap = 3;
2052  void clear_boxes_with_null_area_can_overlap();
2053  bool boxes_with_null_area_can_overlap() const;
2054  void set_boxes_with_null_area_can_overlap(bool value);
2055  private:
2056  bool _internal_boxes_with_null_area_can_overlap() const;
2057  void _internal_set_boxes_with_null_area_can_overlap(bool value);
2058  public:
2059 
2060  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
2061  private:
2062  class _Internal;
2063 
2064  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2065  typedef void InternalArenaConstructable_;
2066  typedef void DestructorSkippable_;
2067  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > x_intervals_;
2068  mutable std::atomic<int> _x_intervals_cached_byte_size_;
2069  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > y_intervals_;
2070  mutable std::atomic<int> _y_intervals_cached_byte_size_;
2071  bool boxes_with_null_area_can_overlap_;
2072  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2073  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2074 };
2075 // -------------------------------------------------------------------
2076 
2078  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
2079  public:
2081  ~CumulativeConstraintProto() override;
2082  explicit constexpr CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2083 
2087  *this = ::std::move(from);
2088  }
2089 
2091  CopyFrom(from);
2092  return *this;
2093  }
2095  if (this == &from) return *this;
2096  if (GetOwningArena() == from.GetOwningArena()
2097  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2098  && GetOwningArena() != nullptr
2099  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2100  ) {
2101  InternalSwap(&from);
2102  } else {
2103  CopyFrom(from);
2104  }
2105  return *this;
2106  }
2107 
2108  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2109  return GetDescriptor();
2110  }
2111  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2112  return default_instance().GetMetadata().descriptor;
2113  }
2114  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2115  return default_instance().GetMetadata().reflection;
2116  }
2118  return *internal_default_instance();
2119  }
2121  return reinterpret_cast<const CumulativeConstraintProto*>(
2123  }
2124  static constexpr int kIndexInFileMessages =
2125  10;
2126 
2128  a.Swap(&b);
2129  }
2130  inline void Swap(CumulativeConstraintProto* other) {
2131  if (other == this) return;
2132  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2133  if (GetOwningArena() != nullptr &&
2134  GetOwningArena() == other->GetOwningArena()) {
2135  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2136  if (GetOwningArena() == other->GetOwningArena()) {
2137  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2138  InternalSwap(other);
2139  } else {
2140  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2141  }
2142  }
2144  if (other == this) return;
2145  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2146  InternalSwap(other);
2147  }
2148 
2149  // implements Message ----------------------------------------------
2150 
2151  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2152  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
2153  }
2154  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2155  void CopyFrom(const CumulativeConstraintProto& from);
2156  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2157  void MergeFrom(const CumulativeConstraintProto& from);
2158  private:
2159  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2160  public:
2161  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2162  bool IsInitialized() const final;
2163 
2164  size_t ByteSizeLong() const final;
2165  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2166  uint8_t* _InternalSerialize(
2167  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2168  int GetCachedSize() const final { return _cached_size_.Get(); }
2169 
2170  private:
2171  void SharedCtor();
2172  void SharedDtor();
2173  void SetCachedSize(int size) const final;
2174  void InternalSwap(CumulativeConstraintProto* other);
2175 
2176  private:
2177  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2178  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2179  return "operations_research.sat.CumulativeConstraintProto";
2180  }
2181  protected:
2182  explicit CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2183  bool is_message_owned = false);
2184  private:
2185  static void ArenaDtor(void* object);
2186  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2187  public:
2188 
2189  static const ClassData _class_data_;
2190  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2191 
2192  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2193 
2194  // nested types ----------------------------------------------------
2195 
2196  // accessors -------------------------------------------------------
2197 
2198  enum : int {
2199  kIntervalsFieldNumber = 2,
2200  kDemandsFieldNumber = 3,
2201  kCapacityFieldNumber = 1,
2202  };
2203  // repeated int32 intervals = 2;
2204  int intervals_size() const;
2205  private:
2206  int _internal_intervals_size() const;
2207  public:
2208  void clear_intervals();
2209  private:
2210  int32_t _internal_intervals(int index) const;
2211  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2212  _internal_intervals() const;
2213  void _internal_add_intervals(int32_t value);
2214  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2215  _internal_mutable_intervals();
2216  public:
2217  int32_t intervals(int index) const;
2218  void set_intervals(int index, int32_t value);
2219  void add_intervals(int32_t value);
2220  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2221  intervals() const;
2222  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2223  mutable_intervals();
2224 
2225  // repeated .operations_research.sat.LinearExpressionProto demands = 3;
2226  int demands_size() const;
2227  private:
2228  int _internal_demands_size() const;
2229  public:
2230  void clear_demands();
2232  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
2233  mutable_demands();
2234  private:
2235  const ::operations_research::sat::LinearExpressionProto& _internal_demands(int index) const;
2236  ::operations_research::sat::LinearExpressionProto* _internal_add_demands();
2237  public:
2238  const ::operations_research::sat::LinearExpressionProto& demands(int index) const;
2240  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
2241  demands() const;
2242 
2243  // .operations_research.sat.LinearExpressionProto capacity = 1;
2244  bool has_capacity() const;
2245  private:
2246  bool _internal_has_capacity() const;
2247  public:
2248  void clear_capacity();
2249  const ::operations_research::sat::LinearExpressionProto& capacity() const;
2250  PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto* release_capacity();
2252  void set_allocated_capacity(::operations_research::sat::LinearExpressionProto* capacity);
2253  private:
2254  const ::operations_research::sat::LinearExpressionProto& _internal_capacity() const;
2255  ::operations_research::sat::LinearExpressionProto* _internal_mutable_capacity();
2256  public:
2257  void unsafe_arena_set_allocated_capacity(
2259  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_capacity();
2260 
2261  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
2262  private:
2263  class _Internal;
2264 
2265  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2266  typedef void InternalArenaConstructable_;
2267  typedef void DestructorSkippable_;
2268  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > intervals_;
2269  mutable std::atomic<int> _intervals_cached_byte_size_;
2270  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > demands_;
2272  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2273  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2274 };
2275 // -------------------------------------------------------------------
2276 
2278  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
2279  public:
2281  ~ReservoirConstraintProto() override;
2282  explicit constexpr ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2283 
2287  *this = ::std::move(from);
2288  }
2289 
2291  CopyFrom(from);
2292  return *this;
2293  }
2295  if (this == &from) return *this;
2296  if (GetOwningArena() == from.GetOwningArena()
2297  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2298  && GetOwningArena() != nullptr
2299  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2300  ) {
2301  InternalSwap(&from);
2302  } else {
2303  CopyFrom(from);
2304  }
2305  return *this;
2306  }
2307 
2308  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2309  return GetDescriptor();
2310  }
2311  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2312  return default_instance().GetMetadata().descriptor;
2313  }
2314  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2315  return default_instance().GetMetadata().reflection;
2316  }
2318  return *internal_default_instance();
2319  }
2321  return reinterpret_cast<const ReservoirConstraintProto*>(
2323  }
2324  static constexpr int kIndexInFileMessages =
2325  11;
2326 
2328  a.Swap(&b);
2329  }
2330  inline void Swap(ReservoirConstraintProto* other) {
2331  if (other == this) return;
2332  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2333  if (GetOwningArena() != nullptr &&
2334  GetOwningArena() == other->GetOwningArena()) {
2335  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2336  if (GetOwningArena() == other->GetOwningArena()) {
2337  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2338  InternalSwap(other);
2339  } else {
2340  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2341  }
2342  }
2344  if (other == this) return;
2345  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2346  InternalSwap(other);
2347  }
2348 
2349  // implements Message ----------------------------------------------
2350 
2351  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2352  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
2353  }
2354  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2355  void CopyFrom(const ReservoirConstraintProto& from);
2356  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2357  void MergeFrom(const ReservoirConstraintProto& from);
2358  private:
2359  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2360  public:
2361  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2362  bool IsInitialized() const final;
2363 
2364  size_t ByteSizeLong() const final;
2365  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2366  uint8_t* _InternalSerialize(
2367  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2368  int GetCachedSize() const final { return _cached_size_.Get(); }
2369 
2370  private:
2371  void SharedCtor();
2372  void SharedDtor();
2373  void SetCachedSize(int size) const final;
2374  void InternalSwap(ReservoirConstraintProto* other);
2375 
2376  private:
2377  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2378  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2379  return "operations_research.sat.ReservoirConstraintProto";
2380  }
2381  protected:
2382  explicit ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2383  bool is_message_owned = false);
2384  private:
2385  static void ArenaDtor(void* object);
2386  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2387  public:
2388 
2389  static const ClassData _class_data_;
2390  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2391 
2392  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2393 
2394  // nested types ----------------------------------------------------
2395 
2396  // accessors -------------------------------------------------------
2397 
2398  enum : int {
2399  kTimeExprsFieldNumber = 3,
2400  kLevelChangesFieldNumber = 4,
2401  kActiveLiteralsFieldNumber = 5,
2402  kMinLevelFieldNumber = 1,
2403  kMaxLevelFieldNumber = 2,
2404  };
2405  // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
2406  int time_exprs_size() const;
2407  private:
2408  int _internal_time_exprs_size() const;
2409  public:
2410  void clear_time_exprs();
2412  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
2413  mutable_time_exprs();
2414  private:
2415  const ::operations_research::sat::LinearExpressionProto& _internal_time_exprs(int index) const;
2416  ::operations_research::sat::LinearExpressionProto* _internal_add_time_exprs();
2417  public:
2418  const ::operations_research::sat::LinearExpressionProto& time_exprs(int index) const;
2420  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
2421  time_exprs() const;
2422 
2423  // repeated int64 level_changes = 4;
2424  int level_changes_size() const;
2425  private:
2426  int _internal_level_changes_size() const;
2427  public:
2428  void clear_level_changes();
2429  private:
2430  int64_t _internal_level_changes(int index) const;
2431  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
2432  _internal_level_changes() const;
2433  void _internal_add_level_changes(int64_t value);
2434  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
2435  _internal_mutable_level_changes();
2436  public:
2437  int64_t level_changes(int index) const;
2438  void set_level_changes(int index, int64_t value);
2439  void add_level_changes(int64_t value);
2440  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
2441  level_changes() const;
2442  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
2443  mutable_level_changes();
2444 
2445  // repeated int32 active_literals = 5;
2446  int active_literals_size() const;
2447  private:
2448  int _internal_active_literals_size() const;
2449  public:
2450  void clear_active_literals();
2451  private:
2452  int32_t _internal_active_literals(int index) const;
2453  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2454  _internal_active_literals() const;
2455  void _internal_add_active_literals(int32_t value);
2456  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2457  _internal_mutable_active_literals();
2458  public:
2459  int32_t active_literals(int index) const;
2460  void set_active_literals(int index, int32_t value);
2461  void add_active_literals(int32_t value);
2462  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2463  active_literals() const;
2464  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2465  mutable_active_literals();
2466 
2467  // int64 min_level = 1;
2468  void clear_min_level();
2469  int64_t min_level() const;
2470  void set_min_level(int64_t value);
2471  private:
2472  int64_t _internal_min_level() const;
2473  void _internal_set_min_level(int64_t value);
2474  public:
2475 
2476  // int64 max_level = 2;
2477  void clear_max_level();
2478  int64_t max_level() const;
2479  void set_max_level(int64_t value);
2480  private:
2481  int64_t _internal_max_level() const;
2482  void _internal_set_max_level(int64_t value);
2483  public:
2484 
2485  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
2486  private:
2487  class _Internal;
2488 
2489  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2490  typedef void InternalArenaConstructable_;
2491  typedef void DestructorSkippable_;
2492  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > time_exprs_;
2493  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > level_changes_;
2494  mutable std::atomic<int> _level_changes_cached_byte_size_;
2495  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > active_literals_;
2496  mutable std::atomic<int> _active_literals_cached_byte_size_;
2497  int64_t min_level_;
2498  int64_t max_level_;
2499  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2500  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2501 };
2502 // -------------------------------------------------------------------
2503 
2505  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
2506  public:
2508  ~CircuitConstraintProto() override;
2509  explicit constexpr CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2510 
2514  *this = ::std::move(from);
2515  }
2516 
2518  CopyFrom(from);
2519  return *this;
2520  }
2522  if (this == &from) return *this;
2523  if (GetOwningArena() == from.GetOwningArena()
2524  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2525  && GetOwningArena() != nullptr
2526  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2527  ) {
2528  InternalSwap(&from);
2529  } else {
2530  CopyFrom(from);
2531  }
2532  return *this;
2533  }
2534 
2535  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2536  return GetDescriptor();
2537  }
2538  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2539  return default_instance().GetMetadata().descriptor;
2540  }
2541  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2542  return default_instance().GetMetadata().reflection;
2543  }
2545  return *internal_default_instance();
2546  }
2548  return reinterpret_cast<const CircuitConstraintProto*>(
2550  }
2551  static constexpr int kIndexInFileMessages =
2552  12;
2553 
2555  a.Swap(&b);
2556  }
2557  inline void Swap(CircuitConstraintProto* other) {
2558  if (other == this) return;
2559  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2560  if (GetOwningArena() != nullptr &&
2561  GetOwningArena() == other->GetOwningArena()) {
2562  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2563  if (GetOwningArena() == other->GetOwningArena()) {
2564  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2565  InternalSwap(other);
2566  } else {
2567  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2568  }
2569  }
2571  if (other == this) return;
2572  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2573  InternalSwap(other);
2574  }
2575 
2576  // implements Message ----------------------------------------------
2577 
2578  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2579  return CreateMaybeMessage<CircuitConstraintProto>(arena);
2580  }
2581  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2582  void CopyFrom(const CircuitConstraintProto& from);
2583  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2584  void MergeFrom(const CircuitConstraintProto& from);
2585  private:
2586  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2587  public:
2588  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2589  bool IsInitialized() const final;
2590 
2591  size_t ByteSizeLong() const final;
2592  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2593  uint8_t* _InternalSerialize(
2594  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2595  int GetCachedSize() const final { return _cached_size_.Get(); }
2596 
2597  private:
2598  void SharedCtor();
2599  void SharedDtor();
2600  void SetCachedSize(int size) const final;
2601  void InternalSwap(CircuitConstraintProto* other);
2602 
2603  private:
2604  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2605  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2606  return "operations_research.sat.CircuitConstraintProto";
2607  }
2608  protected:
2609  explicit CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2610  bool is_message_owned = false);
2611  private:
2612  static void ArenaDtor(void* object);
2613  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2614  public:
2615 
2616  static const ClassData _class_data_;
2617  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2618 
2619  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2620 
2621  // nested types ----------------------------------------------------
2622 
2623  // accessors -------------------------------------------------------
2624 
2625  enum : int {
2626  kTailsFieldNumber = 3,
2627  kHeadsFieldNumber = 4,
2628  kLiteralsFieldNumber = 5,
2629  };
2630  // repeated int32 tails = 3;
2631  int tails_size() const;
2632  private:
2633  int _internal_tails_size() const;
2634  public:
2635  void clear_tails();
2636  private:
2637  int32_t _internal_tails(int index) const;
2638  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2639  _internal_tails() const;
2640  void _internal_add_tails(int32_t value);
2641  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2642  _internal_mutable_tails();
2643  public:
2644  int32_t tails(int index) const;
2645  void set_tails(int index, int32_t value);
2646  void add_tails(int32_t value);
2647  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2648  tails() const;
2649  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2650  mutable_tails();
2651 
2652  // repeated int32 heads = 4;
2653  int heads_size() const;
2654  private:
2655  int _internal_heads_size() const;
2656  public:
2657  void clear_heads();
2658  private:
2659  int32_t _internal_heads(int index) const;
2660  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2661  _internal_heads() const;
2662  void _internal_add_heads(int32_t value);
2663  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2664  _internal_mutable_heads();
2665  public:
2666  int32_t heads(int index) const;
2667  void set_heads(int index, int32_t value);
2668  void add_heads(int32_t value);
2669  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2670  heads() const;
2671  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2672  mutable_heads();
2673 
2674  // repeated int32 literals = 5;
2675  int literals_size() const;
2676  private:
2677  int _internal_literals_size() const;
2678  public:
2679  void clear_literals();
2680  private:
2681  int32_t _internal_literals(int index) const;
2682  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2683  _internal_literals() const;
2684  void _internal_add_literals(int32_t value);
2685  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2686  _internal_mutable_literals();
2687  public:
2688  int32_t literals(int index) const;
2689  void set_literals(int index, int32_t value);
2690  void add_literals(int32_t value);
2691  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2692  literals() const;
2693  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2694  mutable_literals();
2695 
2696  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2697  private:
2698  class _Internal;
2699 
2700  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2701  typedef void InternalArenaConstructable_;
2702  typedef void DestructorSkippable_;
2703  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > tails_;
2704  mutable std::atomic<int> _tails_cached_byte_size_;
2705  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > heads_;
2706  mutable std::atomic<int> _heads_cached_byte_size_;
2707  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > literals_;
2708  mutable std::atomic<int> _literals_cached_byte_size_;
2709  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2710  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2711 };
2712 // -------------------------------------------------------------------
2713 
2715  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2716  public:
2718  ~RoutesConstraintProto() override;
2719  explicit constexpr RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2720 
2723  : RoutesConstraintProto() {
2724  *this = ::std::move(from);
2725  }
2726 
2728  CopyFrom(from);
2729  return *this;
2730  }
2732  if (this == &from) return *this;
2733  if (GetOwningArena() == from.GetOwningArena()
2734  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2735  && GetOwningArena() != nullptr
2736  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2737  ) {
2738  InternalSwap(&from);
2739  } else {
2740  CopyFrom(from);
2741  }
2742  return *this;
2743  }
2744 
2745  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2746  return GetDescriptor();
2747  }
2748  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2749  return default_instance().GetMetadata().descriptor;
2750  }
2751  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2752  return default_instance().GetMetadata().reflection;
2753  }
2755  return *internal_default_instance();
2756  }
2758  return reinterpret_cast<const RoutesConstraintProto*>(
2760  }
2761  static constexpr int kIndexInFileMessages =
2762  13;
2763 
2765  a.Swap(&b);
2766  }
2767  inline void Swap(RoutesConstraintProto* other) {
2768  if (other == this) return;
2769  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2770  if (GetOwningArena() != nullptr &&
2771  GetOwningArena() == other->GetOwningArena()) {
2772  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2773  if (GetOwningArena() == other->GetOwningArena()) {
2774  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2775  InternalSwap(other);
2776  } else {
2777  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2778  }
2779  }
2781  if (other == this) return;
2782  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2783  InternalSwap(other);
2784  }
2785 
2786  // implements Message ----------------------------------------------
2787 
2788  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2789  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2790  }
2791  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2792  void CopyFrom(const RoutesConstraintProto& from);
2793  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2794  void MergeFrom(const RoutesConstraintProto& from);
2795  private:
2796  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2797  public:
2798  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2799  bool IsInitialized() const final;
2800 
2801  size_t ByteSizeLong() const final;
2802  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2803  uint8_t* _InternalSerialize(
2804  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2805  int GetCachedSize() const final { return _cached_size_.Get(); }
2806 
2807  private:
2808  void SharedCtor();
2809  void SharedDtor();
2810  void SetCachedSize(int size) const final;
2811  void InternalSwap(RoutesConstraintProto* other);
2812 
2813  private:
2814  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2815  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2816  return "operations_research.sat.RoutesConstraintProto";
2817  }
2818  protected:
2819  explicit RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2820  bool is_message_owned = false);
2821  private:
2822  static void ArenaDtor(void* object);
2823  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2824  public:
2825 
2826  static const ClassData _class_data_;
2827  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2828 
2829  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2830 
2831  // nested types ----------------------------------------------------
2832 
2833  // accessors -------------------------------------------------------
2834 
2835  enum : int {
2836  kTailsFieldNumber = 1,
2837  kHeadsFieldNumber = 2,
2838  kLiteralsFieldNumber = 3,
2839  kDemandsFieldNumber = 4,
2840  kCapacityFieldNumber = 5,
2841  };
2842  // repeated int32 tails = 1;
2843  int tails_size() const;
2844  private:
2845  int _internal_tails_size() const;
2846  public:
2847  void clear_tails();
2848  private:
2849  int32_t _internal_tails(int index) const;
2850  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2851  _internal_tails() const;
2852  void _internal_add_tails(int32_t value);
2853  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2854  _internal_mutable_tails();
2855  public:
2856  int32_t tails(int index) const;
2857  void set_tails(int index, int32_t value);
2858  void add_tails(int32_t value);
2859  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2860  tails() const;
2861  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2862  mutable_tails();
2863 
2864  // repeated int32 heads = 2;
2865  int heads_size() const;
2866  private:
2867  int _internal_heads_size() const;
2868  public:
2869  void clear_heads();
2870  private:
2871  int32_t _internal_heads(int index) const;
2872  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2873  _internal_heads() const;
2874  void _internal_add_heads(int32_t value);
2875  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2876  _internal_mutable_heads();
2877  public:
2878  int32_t heads(int index) const;
2879  void set_heads(int index, int32_t value);
2880  void add_heads(int32_t value);
2881  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2882  heads() const;
2883  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2884  mutable_heads();
2885 
2886  // repeated int32 literals = 3;
2887  int literals_size() const;
2888  private:
2889  int _internal_literals_size() const;
2890  public:
2891  void clear_literals();
2892  private:
2893  int32_t _internal_literals(int index) const;
2894  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2895  _internal_literals() const;
2896  void _internal_add_literals(int32_t value);
2897  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2898  _internal_mutable_literals();
2899  public:
2900  int32_t literals(int index) const;
2901  void set_literals(int index, int32_t value);
2902  void add_literals(int32_t value);
2903  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2904  literals() const;
2905  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2906  mutable_literals();
2907 
2908  // repeated int32 demands = 4;
2909  int demands_size() const;
2910  private:
2911  int _internal_demands_size() const;
2912  public:
2913  void clear_demands();
2914  private:
2915  int32_t _internal_demands(int index) const;
2916  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2917  _internal_demands() const;
2918  void _internal_add_demands(int32_t value);
2919  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2920  _internal_mutable_demands();
2921  public:
2922  int32_t demands(int index) const;
2923  void set_demands(int index, int32_t value);
2924  void add_demands(int32_t value);
2925  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2926  demands() const;
2927  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2928  mutable_demands();
2929 
2930  // int64 capacity = 5;
2931  void clear_capacity();
2932  int64_t capacity() const;
2933  void set_capacity(int64_t value);
2934  private:
2935  int64_t _internal_capacity() const;
2936  void _internal_set_capacity(int64_t value);
2937  public:
2938 
2939  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
2940  private:
2941  class _Internal;
2942 
2943  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2944  typedef void InternalArenaConstructable_;
2945  typedef void DestructorSkippable_;
2946  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > tails_;
2947  mutable std::atomic<int> _tails_cached_byte_size_;
2948  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > heads_;
2949  mutable std::atomic<int> _heads_cached_byte_size_;
2950  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > literals_;
2951  mutable std::atomic<int> _literals_cached_byte_size_;
2952  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > demands_;
2953  mutable std::atomic<int> _demands_cached_byte_size_;
2954  int64_t capacity_;
2955  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2956  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2957 };
2958 // -------------------------------------------------------------------
2959 
2961  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
2962  public:
2964  ~TableConstraintProto() override;
2965  explicit constexpr TableConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2966 
2969  : TableConstraintProto() {
2970  *this = ::std::move(from);
2971  }
2972 
2974  CopyFrom(from);
2975  return *this;
2976  }
2978  if (this == &from) return *this;
2979  if (GetOwningArena() == from.GetOwningArena()
2980  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2981  && GetOwningArena() != nullptr
2982  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2983  ) {
2984  InternalSwap(&from);
2985  } else {
2986  CopyFrom(from);
2987  }
2988  return *this;
2989  }
2990 
2991  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2992  return GetDescriptor();
2993  }
2994  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2995  return default_instance().GetMetadata().descriptor;
2996  }
2997  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2998  return default_instance().GetMetadata().reflection;
2999  }
3001  return *internal_default_instance();
3002  }
3004  return reinterpret_cast<const TableConstraintProto*>(
3006  }
3007  static constexpr int kIndexInFileMessages =
3008  14;
3009 
3011  a.Swap(&b);
3012  }
3013  inline void Swap(TableConstraintProto* other) {
3014  if (other == this) return;
3015  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3016  if (GetOwningArena() != nullptr &&
3017  GetOwningArena() == other->GetOwningArena()) {
3018  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3019  if (GetOwningArena() == other->GetOwningArena()) {
3020  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3021  InternalSwap(other);
3022  } else {
3023  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3024  }
3025  }
3027  if (other == this) return;
3028  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3029  InternalSwap(other);
3030  }
3031 
3032  // implements Message ----------------------------------------------
3033 
3034  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3035  return CreateMaybeMessage<TableConstraintProto>(arena);
3036  }
3037  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3038  void CopyFrom(const TableConstraintProto& from);
3039  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3040  void MergeFrom(const TableConstraintProto& from);
3041  private:
3042  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3043  public:
3044  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3045  bool IsInitialized() const final;
3046 
3047  size_t ByteSizeLong() const final;
3048  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3049  uint8_t* _InternalSerialize(
3050  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3051  int GetCachedSize() const final { return _cached_size_.Get(); }
3052 
3053  private:
3054  void SharedCtor();
3055  void SharedDtor();
3056  void SetCachedSize(int size) const final;
3057  void InternalSwap(TableConstraintProto* other);
3058 
3059  private:
3060  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3061  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3062  return "operations_research.sat.TableConstraintProto";
3063  }
3064  protected:
3065  explicit TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3066  bool is_message_owned = false);
3067  private:
3068  static void ArenaDtor(void* object);
3069  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3070  public:
3071 
3072  static const ClassData _class_data_;
3073  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3074 
3075  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3076 
3077  // nested types ----------------------------------------------------
3078 
3079  // accessors -------------------------------------------------------
3080 
3081  enum : int {
3082  kVarsFieldNumber = 1,
3083  kValuesFieldNumber = 2,
3084  kNegatedFieldNumber = 3,
3085  };
3086  // repeated int32 vars = 1;
3087  int vars_size() const;
3088  private:
3089  int _internal_vars_size() const;
3090  public:
3091  void clear_vars();
3092  private:
3093  int32_t _internal_vars(int index) const;
3094  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3095  _internal_vars() const;
3096  void _internal_add_vars(int32_t value);
3097  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3098  _internal_mutable_vars();
3099  public:
3100  int32_t vars(int index) const;
3101  void set_vars(int index, int32_t value);
3102  void add_vars(int32_t value);
3103  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3104  vars() const;
3105  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3106  mutable_vars();
3107 
3108  // repeated int64 values = 2;
3109  int values_size() const;
3110  private:
3111  int _internal_values_size() const;
3112  public:
3113  void clear_values();
3114  private:
3115  int64_t _internal_values(int index) const;
3116  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3117  _internal_values() const;
3118  void _internal_add_values(int64_t value);
3119  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3120  _internal_mutable_values();
3121  public:
3122  int64_t values(int index) const;
3123  void set_values(int index, int64_t value);
3124  void add_values(int64_t value);
3125  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3126  values() const;
3127  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3128  mutable_values();
3129 
3130  // bool negated = 3;
3131  void clear_negated();
3132  bool negated() const;
3133  void set_negated(bool value);
3134  private:
3135  bool _internal_negated() const;
3136  void _internal_set_negated(bool value);
3137  public:
3138 
3139  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3140  private:
3141  class _Internal;
3142 
3143  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3144  typedef void InternalArenaConstructable_;
3145  typedef void DestructorSkippable_;
3146  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
3147  mutable std::atomic<int> _vars_cached_byte_size_;
3148  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > values_;
3149  mutable std::atomic<int> _values_cached_byte_size_;
3150  bool negated_;
3151  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3152  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3153 };
3154 // -------------------------------------------------------------------
3155 
3157  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
3158  public:
3160  ~InverseConstraintProto() override;
3161  explicit constexpr InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3162 
3166  *this = ::std::move(from);
3167  }
3168 
3170  CopyFrom(from);
3171  return *this;
3172  }
3174  if (this == &from) return *this;
3175  if (GetOwningArena() == from.GetOwningArena()
3176  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3177  && GetOwningArena() != nullptr
3178  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3179  ) {
3180  InternalSwap(&from);
3181  } else {
3182  CopyFrom(from);
3183  }
3184  return *this;
3185  }
3186 
3187  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3188  return GetDescriptor();
3189  }
3190  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3191  return default_instance().GetMetadata().descriptor;
3192  }
3193  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3194  return default_instance().GetMetadata().reflection;
3195  }
3197  return *internal_default_instance();
3198  }
3200  return reinterpret_cast<const InverseConstraintProto*>(
3202  }
3203  static constexpr int kIndexInFileMessages =
3204  15;
3205 
3207  a.Swap(&b);
3208  }
3209  inline void Swap(InverseConstraintProto* other) {
3210  if (other == this) return;
3211  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3212  if (GetOwningArena() != nullptr &&
3213  GetOwningArena() == other->GetOwningArena()) {
3214  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3215  if (GetOwningArena() == other->GetOwningArena()) {
3216  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3217  InternalSwap(other);
3218  } else {
3219  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3220  }
3221  }
3223  if (other == this) return;
3224  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3225  InternalSwap(other);
3226  }
3227 
3228  // implements Message ----------------------------------------------
3229 
3230  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3231  return CreateMaybeMessage<InverseConstraintProto>(arena);
3232  }
3233  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3234  void CopyFrom(const InverseConstraintProto& from);
3235  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3236  void MergeFrom(const InverseConstraintProto& from);
3237  private:
3238  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3239  public:
3240  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3241  bool IsInitialized() const final;
3242 
3243  size_t ByteSizeLong() const final;
3244  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3245  uint8_t* _InternalSerialize(
3246  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3247  int GetCachedSize() const final { return _cached_size_.Get(); }
3248 
3249  private:
3250  void SharedCtor();
3251  void SharedDtor();
3252  void SetCachedSize(int size) const final;
3253  void InternalSwap(InverseConstraintProto* other);
3254 
3255  private:
3256  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3257  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3258  return "operations_research.sat.InverseConstraintProto";
3259  }
3260  protected:
3261  explicit InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3262  bool is_message_owned = false);
3263  private:
3264  static void ArenaDtor(void* object);
3265  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3266  public:
3267 
3268  static const ClassData _class_data_;
3269  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3270 
3271  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3272 
3273  // nested types ----------------------------------------------------
3274 
3275  // accessors -------------------------------------------------------
3276 
3277  enum : int {
3278  kFDirectFieldNumber = 1,
3279  kFInverseFieldNumber = 2,
3280  };
3281  // repeated int32 f_direct = 1;
3282  int f_direct_size() const;
3283  private:
3284  int _internal_f_direct_size() const;
3285  public:
3286  void clear_f_direct();
3287  private:
3288  int32_t _internal_f_direct(int index) const;
3289  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3290  _internal_f_direct() const;
3291  void _internal_add_f_direct(int32_t value);
3292  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3293  _internal_mutable_f_direct();
3294  public:
3295  int32_t f_direct(int index) const;
3296  void set_f_direct(int index, int32_t value);
3297  void add_f_direct(int32_t value);
3298  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3299  f_direct() const;
3300  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3301  mutable_f_direct();
3302 
3303  // repeated int32 f_inverse = 2;
3304  int f_inverse_size() const;
3305  private:
3306  int _internal_f_inverse_size() const;
3307  public:
3308  void clear_f_inverse();
3309  private:
3310  int32_t _internal_f_inverse(int index) const;
3311  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3312  _internal_f_inverse() const;
3313  void _internal_add_f_inverse(int32_t value);
3314  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3315  _internal_mutable_f_inverse();
3316  public:
3317  int32_t f_inverse(int index) const;
3318  void set_f_inverse(int index, int32_t value);
3319  void add_f_inverse(int32_t value);
3320  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3321  f_inverse() const;
3322  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3323  mutable_f_inverse();
3324 
3325  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
3326  private:
3327  class _Internal;
3328 
3329  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3330  typedef void InternalArenaConstructable_;
3331  typedef void DestructorSkippable_;
3332  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > f_direct_;
3333  mutable std::atomic<int> _f_direct_cached_byte_size_;
3334  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > f_inverse_;
3335  mutable std::atomic<int> _f_inverse_cached_byte_size_;
3336  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3337  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3338 };
3339 // -------------------------------------------------------------------
3340 
3342  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
3343  public:
3345  ~AutomatonConstraintProto() override;
3346  explicit constexpr AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3347 
3351  *this = ::std::move(from);
3352  }
3353 
3355  CopyFrom(from);
3356  return *this;
3357  }
3359  if (this == &from) return *this;
3360  if (GetOwningArena() == from.GetOwningArena()
3361  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3362  && GetOwningArena() != nullptr
3363  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3364  ) {
3365  InternalSwap(&from);
3366  } else {
3367  CopyFrom(from);
3368  }
3369  return *this;
3370  }
3371 
3372  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3373  return GetDescriptor();
3374  }
3375  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3376  return default_instance().GetMetadata().descriptor;
3377  }
3378  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3379  return default_instance().GetMetadata().reflection;
3380  }
3382  return *internal_default_instance();
3383  }
3385  return reinterpret_cast<const AutomatonConstraintProto*>(
3387  }
3388  static constexpr int kIndexInFileMessages =
3389  16;
3390 
3392  a.Swap(&b);
3393  }
3394  inline void Swap(AutomatonConstraintProto* other) {
3395  if (other == this) return;
3396  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3397  if (GetOwningArena() != nullptr &&
3398  GetOwningArena() == other->GetOwningArena()) {
3399  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3400  if (GetOwningArena() == other->GetOwningArena()) {
3401  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3402  InternalSwap(other);
3403  } else {
3404  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3405  }
3406  }
3408  if (other == this) return;
3409  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3410  InternalSwap(other);
3411  }
3412 
3413  // implements Message ----------------------------------------------
3414 
3415  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3416  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
3417  }
3418  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3419  void CopyFrom(const AutomatonConstraintProto& from);
3420  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3421  void MergeFrom(const AutomatonConstraintProto& from);
3422  private:
3423  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3424  public:
3425  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3426  bool IsInitialized() const final;
3427 
3428  size_t ByteSizeLong() const final;
3429  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3430  uint8_t* _InternalSerialize(
3431  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3432  int GetCachedSize() const final { return _cached_size_.Get(); }
3433 
3434  private:
3435  void SharedCtor();
3436  void SharedDtor();
3437  void SetCachedSize(int size) const final;
3438  void InternalSwap(AutomatonConstraintProto* other);
3439 
3440  private:
3441  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3442  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3443  return "operations_research.sat.AutomatonConstraintProto";
3444  }
3445  protected:
3446  explicit AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3447  bool is_message_owned = false);
3448  private:
3449  static void ArenaDtor(void* object);
3450  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3451  public:
3452 
3453  static const ClassData _class_data_;
3454  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3455 
3456  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3457 
3458  // nested types ----------------------------------------------------
3459 
3460  // accessors -------------------------------------------------------
3461 
3462  enum : int {
3463  kFinalStatesFieldNumber = 3,
3464  kTransitionTailFieldNumber = 4,
3465  kTransitionHeadFieldNumber = 5,
3466  kTransitionLabelFieldNumber = 6,
3467  kVarsFieldNumber = 7,
3468  kStartingStateFieldNumber = 2,
3469  };
3470  // repeated int64 final_states = 3;
3471  int final_states_size() const;
3472  private:
3473  int _internal_final_states_size() const;
3474  public:
3475  void clear_final_states();
3476  private:
3477  int64_t _internal_final_states(int index) const;
3478  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3479  _internal_final_states() const;
3480  void _internal_add_final_states(int64_t value);
3481  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3482  _internal_mutable_final_states();
3483  public:
3484  int64_t final_states(int index) const;
3485  void set_final_states(int index, int64_t value);
3486  void add_final_states(int64_t value);
3487  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3488  final_states() const;
3489  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3490  mutable_final_states();
3491 
3492  // repeated int64 transition_tail = 4;
3493  int transition_tail_size() const;
3494  private:
3495  int _internal_transition_tail_size() const;
3496  public:
3497  void clear_transition_tail();
3498  private:
3499  int64_t _internal_transition_tail(int index) const;
3500  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3501  _internal_transition_tail() const;
3502  void _internal_add_transition_tail(int64_t value);
3503  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3504  _internal_mutable_transition_tail();
3505  public:
3506  int64_t transition_tail(int index) const;
3507  void set_transition_tail(int index, int64_t value);
3508  void add_transition_tail(int64_t value);
3509  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3510  transition_tail() const;
3511  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3512  mutable_transition_tail();
3513 
3514  // repeated int64 transition_head = 5;
3515  int transition_head_size() const;
3516  private:
3517  int _internal_transition_head_size() const;
3518  public:
3519  void clear_transition_head();
3520  private:
3521  int64_t _internal_transition_head(int index) const;
3522  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3523  _internal_transition_head() const;
3524  void _internal_add_transition_head(int64_t value);
3525  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3526  _internal_mutable_transition_head();
3527  public:
3528  int64_t transition_head(int index) const;
3529  void set_transition_head(int index, int64_t value);
3530  void add_transition_head(int64_t value);
3531  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3532  transition_head() const;
3533  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3534  mutable_transition_head();
3535 
3536  // repeated int64 transition_label = 6;
3537  int transition_label_size() const;
3538  private:
3539  int _internal_transition_label_size() const;
3540  public:
3541  void clear_transition_label();
3542  private:
3543  int64_t _internal_transition_label(int index) const;
3544  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3545  _internal_transition_label() const;
3546  void _internal_add_transition_label(int64_t value);
3547  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3548  _internal_mutable_transition_label();
3549  public:
3550  int64_t transition_label(int index) const;
3551  void set_transition_label(int index, int64_t value);
3552  void add_transition_label(int64_t value);
3553  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
3554  transition_label() const;
3555  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
3556  mutable_transition_label();
3557 
3558  // repeated int32 vars = 7;
3559  int vars_size() const;
3560  private:
3561  int _internal_vars_size() const;
3562  public:
3563  void clear_vars();
3564  private:
3565  int32_t _internal_vars(int index) const;
3566  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3567  _internal_vars() const;
3568  void _internal_add_vars(int32_t value);
3569  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3570  _internal_mutable_vars();
3571  public:
3572  int32_t vars(int index) const;
3573  void set_vars(int index, int32_t value);
3574  void add_vars(int32_t value);
3575  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3576  vars() const;
3577  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3578  mutable_vars();
3579 
3580  // int64 starting_state = 2;
3581  void clear_starting_state();
3582  int64_t starting_state() const;
3583  void set_starting_state(int64_t value);
3584  private:
3585  int64_t _internal_starting_state() const;
3586  void _internal_set_starting_state(int64_t value);
3587  public:
3588 
3589  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
3590  private:
3591  class _Internal;
3592 
3593  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3594  typedef void InternalArenaConstructable_;
3595  typedef void DestructorSkippable_;
3596  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > final_states_;
3597  mutable std::atomic<int> _final_states_cached_byte_size_;
3598  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > transition_tail_;
3599  mutable std::atomic<int> _transition_tail_cached_byte_size_;
3600  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > transition_head_;
3601  mutable std::atomic<int> _transition_head_cached_byte_size_;
3602  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > transition_label_;
3603  mutable std::atomic<int> _transition_label_cached_byte_size_;
3604  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
3605  mutable std::atomic<int> _vars_cached_byte_size_;
3606  int64_t starting_state_;
3607  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3608  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3609 };
3610 // -------------------------------------------------------------------
3611 
3613  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ListOfVariablesProto) */ {
3614  public:
3616  ~ListOfVariablesProto() override;
3617  explicit constexpr ListOfVariablesProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3618 
3621  : ListOfVariablesProto() {
3622  *this = ::std::move(from);
3623  }
3624 
3626  CopyFrom(from);
3627  return *this;
3628  }
3630  if (this == &from) return *this;
3631  if (GetOwningArena() == from.GetOwningArena()
3632  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3633  && GetOwningArena() != nullptr
3634  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3635  ) {
3636  InternalSwap(&from);
3637  } else {
3638  CopyFrom(from);
3639  }
3640  return *this;
3641  }
3642 
3643  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3644  return GetDescriptor();
3645  }
3646  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3647  return default_instance().GetMetadata().descriptor;
3648  }
3649  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3650  return default_instance().GetMetadata().reflection;
3651  }
3653  return *internal_default_instance();
3654  }
3656  return reinterpret_cast<const ListOfVariablesProto*>(
3658  }
3659  static constexpr int kIndexInFileMessages =
3660  17;
3661 
3663  a.Swap(&b);
3664  }
3665  inline void Swap(ListOfVariablesProto* other) {
3666  if (other == this) return;
3667  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3668  if (GetOwningArena() != nullptr &&
3669  GetOwningArena() == other->GetOwningArena()) {
3670  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3671  if (GetOwningArena() == other->GetOwningArena()) {
3672  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3673  InternalSwap(other);
3674  } else {
3675  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3676  }
3677  }
3679  if (other == this) return;
3680  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3681  InternalSwap(other);
3682  }
3683 
3684  // implements Message ----------------------------------------------
3685 
3686  ListOfVariablesProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3687  return CreateMaybeMessage<ListOfVariablesProto>(arena);
3688  }
3689  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3690  void CopyFrom(const ListOfVariablesProto& from);
3691  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3692  void MergeFrom(const ListOfVariablesProto& from);
3693  private:
3694  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3695  public:
3696  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3697  bool IsInitialized() const final;
3698 
3699  size_t ByteSizeLong() const final;
3700  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3701  uint8_t* _InternalSerialize(
3702  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3703  int GetCachedSize() const final { return _cached_size_.Get(); }
3704 
3705  private:
3706  void SharedCtor();
3707  void SharedDtor();
3708  void SetCachedSize(int size) const final;
3709  void InternalSwap(ListOfVariablesProto* other);
3710 
3711  private:
3712  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3713  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3714  return "operations_research.sat.ListOfVariablesProto";
3715  }
3716  protected:
3717  explicit ListOfVariablesProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3718  bool is_message_owned = false);
3719  private:
3720  static void ArenaDtor(void* object);
3721  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3722  public:
3723 
3724  static const ClassData _class_data_;
3725  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3726 
3727  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3728 
3729  // nested types ----------------------------------------------------
3730 
3731  // accessors -------------------------------------------------------
3732 
3733  enum : int {
3734  kVarsFieldNumber = 1,
3735  };
3736  // repeated int32 vars = 1;
3737  int vars_size() const;
3738  private:
3739  int _internal_vars_size() const;
3740  public:
3741  void clear_vars();
3742  private:
3743  int32_t _internal_vars(int index) const;
3744  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3745  _internal_vars() const;
3746  void _internal_add_vars(int32_t value);
3747  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3748  _internal_mutable_vars();
3749  public:
3750  int32_t vars(int index) const;
3751  void set_vars(int index, int32_t value);
3752  void add_vars(int32_t value);
3753  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3754  vars() const;
3755  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3756  mutable_vars();
3757 
3758  // @@protoc_insertion_point(class_scope:operations_research.sat.ListOfVariablesProto)
3759  private:
3760  class _Internal;
3761 
3762  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3763  typedef void InternalArenaConstructable_;
3764  typedef void DestructorSkippable_;
3765  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
3766  mutable std::atomic<int> _vars_cached_byte_size_;
3767  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3768  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3769 };
3770 // -------------------------------------------------------------------
3771 
3772 class ConstraintProto final :
3773  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
3774  public:
3775  inline ConstraintProto() : ConstraintProto(nullptr) {}
3776  ~ConstraintProto() override;
3777  explicit constexpr ConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3778 
3779  ConstraintProto(const ConstraintProto& from);
3781  : ConstraintProto() {
3782  *this = ::std::move(from);
3783  }
3784 
3786  CopyFrom(from);
3787  return *this;
3788  }
3789  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
3790  if (this == &from) return *this;
3791  if (GetOwningArena() == from.GetOwningArena()
3792  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3793  && GetOwningArena() != nullptr
3794  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3795  ) {
3796  InternalSwap(&from);
3797  } else {
3798  CopyFrom(from);
3799  }
3800  return *this;
3801  }
3802 
3803  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3804  return GetDescriptor();
3805  }
3806  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3807  return default_instance().GetMetadata().descriptor;
3808  }
3809  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3810  return default_instance().GetMetadata().reflection;
3811  }
3813  return *internal_default_instance();
3814  }
3816  kBoolOr = 3,
3817  kBoolAnd = 4,
3818  kAtMostOne = 26,
3819  kExactlyOne = 29,
3820  kBoolXor = 5,
3821  kIntDiv = 7,
3822  kIntMod = 8,
3823  kIntProd = 11,
3824  kLinMax = 27,
3825  kLinear = 12,
3826  kAllDiff = 13,
3827  kElement = 14,
3828  kCircuit = 15,
3829  kRoutes = 23,
3830  kTable = 16,
3831  kAutomaton = 17,
3832  kInverse = 18,
3833  kReservoir = 24,
3834  kInterval = 19,
3835  kNoOverlap = 20,
3836  kNoOverlap2D = 21,
3837  kCumulative = 22,
3838  kDummyConstraint = 30,
3839  CONSTRAINT_NOT_SET = 0,
3840  };
3841 
3843  return reinterpret_cast<const ConstraintProto*>(
3845  }
3846  static constexpr int kIndexInFileMessages =
3847  18;
3848 
3850  a.Swap(&b);
3851  }
3852  inline void Swap(ConstraintProto* other) {
3853  if (other == this) return;
3854  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3855  if (GetOwningArena() != nullptr &&
3856  GetOwningArena() == other->GetOwningArena()) {
3857  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3858  if (GetOwningArena() == other->GetOwningArena()) {
3859  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3860  InternalSwap(other);
3861  } else {
3862  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3863  }
3864  }
3866  if (other == this) return;
3867  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3868  InternalSwap(other);
3869  }
3870 
3871  // implements Message ----------------------------------------------
3872 
3873  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3874  return CreateMaybeMessage<ConstraintProto>(arena);
3875  }
3876  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3877  void CopyFrom(const ConstraintProto& from);
3878  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3879  void MergeFrom(const ConstraintProto& from);
3880  private:
3881  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3882  public:
3883  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3884  bool IsInitialized() const final;
3885 
3886  size_t ByteSizeLong() const final;
3887  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3888  uint8_t* _InternalSerialize(
3889  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3890  int GetCachedSize() const final { return _cached_size_.Get(); }
3891 
3892  private:
3893  void SharedCtor();
3894  void SharedDtor();
3895  void SetCachedSize(int size) const final;
3896  void InternalSwap(ConstraintProto* other);
3897 
3898  private:
3899  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3900  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3901  return "operations_research.sat.ConstraintProto";
3902  }
3903  protected:
3904  explicit ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3905  bool is_message_owned = false);
3906  private:
3907  static void ArenaDtor(void* object);
3908  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3909  public:
3910 
3911  static const ClassData _class_data_;
3912  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3913 
3914  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3915 
3916  // nested types ----------------------------------------------------
3917 
3918  // accessors -------------------------------------------------------
3919 
3920  enum : int {
3921  kEnforcementLiteralFieldNumber = 2,
3923  kBoolOrFieldNumber = 3,
3924  kBoolAndFieldNumber = 4,
3925  kAtMostOneFieldNumber = 26,
3926  kExactlyOneFieldNumber = 29,
3927  kBoolXorFieldNumber = 5,
3928  kIntDivFieldNumber = 7,
3929  kIntModFieldNumber = 8,
3930  kIntProdFieldNumber = 11,
3931  kLinMaxFieldNumber = 27,
3932  kLinearFieldNumber = 12,
3933  kAllDiffFieldNumber = 13,
3934  kElementFieldNumber = 14,
3935  kCircuitFieldNumber = 15,
3936  kRoutesFieldNumber = 23,
3937  kTableFieldNumber = 16,
3938  kAutomatonFieldNumber = 17,
3939  kInverseFieldNumber = 18,
3940  kReservoirFieldNumber = 24,
3941  kIntervalFieldNumber = 19,
3942  kNoOverlapFieldNumber = 20,
3943  kNoOverlap2DFieldNumber = 21,
3944  kCumulativeFieldNumber = 22,
3945  kDummyConstraintFieldNumber = 30,
3946  };
3947  // repeated int32 enforcement_literal = 2;
3948  int enforcement_literal_size() const;
3949  private:
3950  int _internal_enforcement_literal_size() const;
3951  public:
3952  void clear_enforcement_literal();
3953  private:
3954  int32_t _internal_enforcement_literal(int index) const;
3955  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3956  _internal_enforcement_literal() const;
3957  void _internal_add_enforcement_literal(int32_t value);
3958  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3959  _internal_mutable_enforcement_literal();
3960  public:
3961  int32_t enforcement_literal(int index) const;
3962  void set_enforcement_literal(int index, int32_t value);
3963  void add_enforcement_literal(int32_t value);
3964  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
3965  enforcement_literal() const;
3966  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
3967  mutable_enforcement_literal();
3968 
3969  // string name = 1;
3970  void clear_name();
3971  const std::string& name() const;
3972  template <typename ArgT0 = const std::string&, typename... ArgT>
3973  void set_name(ArgT0&& arg0, ArgT... args);
3974  std::string* mutable_name();
3975  PROTOBUF_NODISCARD std::string* release_name();
3976  void set_allocated_name(std::string* name);
3977  private:
3978  const std::string& _internal_name() const;
3979  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
3980  std::string* _internal_mutable_name();
3981  public:
3982 
3983  // .operations_research.sat.BoolArgumentProto bool_or = 3;
3984  bool has_bool_or() const;
3985  private:
3986  bool _internal_has_bool_or() const;
3987  public:
3988  void clear_bool_or();
3989  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
3990  PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto* release_bool_or();
3992  void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or);
3993  private:
3994  const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
3995  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_or();
3996  public:
3997  void unsafe_arena_set_allocated_bool_or(
3999  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_or();
4000 
4001  // .operations_research.sat.BoolArgumentProto bool_and = 4;
4002  bool has_bool_and() const;
4003  private:
4004  bool _internal_has_bool_and() const;
4005  public:
4006  void clear_bool_and();
4007  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
4008  PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto* release_bool_and();
4010  void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and);
4011  private:
4012  const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
4013  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_and();
4014  public:
4015  void unsafe_arena_set_allocated_bool_and(
4017  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_and();
4018 
4019  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
4020  bool has_at_most_one() const;
4021  private:
4022  bool _internal_has_at_most_one() const;
4023  public:
4024  void clear_at_most_one();
4025  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
4026  PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto* release_at_most_one();
4027  ::operations_research::sat::BoolArgumentProto* mutable_at_most_one();
4028  void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one);
4029  private:
4030  const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
4031  ::operations_research::sat::BoolArgumentProto* _internal_mutable_at_most_one();
4032  public:
4033  void unsafe_arena_set_allocated_at_most_one(
4035  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_at_most_one();
4036 
4037  // .operations_research.sat.BoolArgumentProto exactly_one = 29;
4038  bool has_exactly_one() const;
4039  private:
4040  bool _internal_has_exactly_one() const;
4041  public:
4042  void clear_exactly_one();
4043  const ::operations_research::sat::BoolArgumentProto& exactly_one() const;
4044  PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto* release_exactly_one();
4045  ::operations_research::sat::BoolArgumentProto* mutable_exactly_one();
4046  void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto* exactly_one);
4047  private:
4048  const ::operations_research::sat::BoolArgumentProto& _internal_exactly_one() const;
4049  ::operations_research::sat::BoolArgumentProto* _internal_mutable_exactly_one();
4050  public:
4051  void unsafe_arena_set_allocated_exactly_one(
4053  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_exactly_one();
4054 
4055  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
4056  bool has_bool_xor() const;
4057  private:
4058  bool _internal_has_bool_xor() const;
4059  public:
4060  void clear_bool_xor();
4061  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
4062  PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto* release_bool_xor();
4064  void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor);
4065  private:
4066  const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
4067  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_xor();
4068  public:
4069  void unsafe_arena_set_allocated_bool_xor(
4071  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_xor();
4072 
4073  // .operations_research.sat.LinearArgumentProto int_div = 7;
4074  bool has_int_div() const;
4075  private:
4076  bool _internal_has_int_div() const;
4077  public:
4078  void clear_int_div();
4079  const ::operations_research::sat::LinearArgumentProto& int_div() const;
4080  PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto* release_int_div();
4082  void set_allocated_int_div(::operations_research::sat::LinearArgumentProto* int_div);
4083  private:
4084  const ::operations_research::sat::LinearArgumentProto& _internal_int_div() const;
4085  ::operations_research::sat::LinearArgumentProto* _internal_mutable_int_div();
4086  public:
4087  void unsafe_arena_set_allocated_int_div(
4089  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_int_div();
4090 
4091  // .operations_research.sat.LinearArgumentProto int_mod = 8;
4092  bool has_int_mod() const;
4093  private:
4094  bool _internal_has_int_mod() const;
4095  public:
4096  void clear_int_mod();
4097  const ::operations_research::sat::LinearArgumentProto& int_mod() const;
4098  PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto* release_int_mod();
4100  void set_allocated_int_mod(::operations_research::sat::LinearArgumentProto* int_mod);
4101  private:
4102  const ::operations_research::sat::LinearArgumentProto& _internal_int_mod() const;
4103  ::operations_research::sat::LinearArgumentProto* _internal_mutable_int_mod();
4104  public:
4105  void unsafe_arena_set_allocated_int_mod(
4107  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_int_mod();
4108 
4109  // .operations_research.sat.LinearArgumentProto int_prod = 11;
4110  bool has_int_prod() const;
4111  private:
4112  bool _internal_has_int_prod() const;
4113  public:
4114  void clear_int_prod();
4115  const ::operations_research::sat::LinearArgumentProto& int_prod() const;
4116  PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto* release_int_prod();
4118  void set_allocated_int_prod(::operations_research::sat::LinearArgumentProto* int_prod);
4119  private:
4120  const ::operations_research::sat::LinearArgumentProto& _internal_int_prod() const;
4121  ::operations_research::sat::LinearArgumentProto* _internal_mutable_int_prod();
4122  public:
4123  void unsafe_arena_set_allocated_int_prod(
4125  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_int_prod();
4126 
4127  // .operations_research.sat.LinearArgumentProto lin_max = 27;
4128  bool has_lin_max() const;
4129  private:
4130  bool _internal_has_lin_max() const;
4131  public:
4132  void clear_lin_max();
4133  const ::operations_research::sat::LinearArgumentProto& lin_max() const;
4134  PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto* release_lin_max();
4136  void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max);
4137  private:
4138  const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
4139  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_max();
4140  public:
4141  void unsafe_arena_set_allocated_lin_max(
4143  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_max();
4144 
4145  // .operations_research.sat.LinearConstraintProto linear = 12;
4146  bool has_linear() const;
4147  private:
4148  bool _internal_has_linear() const;
4149  public:
4150  void clear_linear();
4151  const ::operations_research::sat::LinearConstraintProto& linear() const;
4152  PROTOBUF_NODISCARD ::operations_research::sat::LinearConstraintProto* release_linear();
4154  void set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear);
4155  private:
4156  const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
4157  ::operations_research::sat::LinearConstraintProto* _internal_mutable_linear();
4158  public:
4159  void unsafe_arena_set_allocated_linear(
4161  ::operations_research::sat::LinearConstraintProto* unsafe_arena_release_linear();
4162 
4163  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
4164  bool has_all_diff() const;
4165  private:
4166  bool _internal_has_all_diff() const;
4167  public:
4168  void clear_all_diff();
4169  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
4170  PROTOBUF_NODISCARD ::operations_research::sat::AllDifferentConstraintProto* release_all_diff();
4172  void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff);
4173  private:
4174  const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
4175  ::operations_research::sat::AllDifferentConstraintProto* _internal_mutable_all_diff();
4176  public:
4177  void unsafe_arena_set_allocated_all_diff(
4179  ::operations_research::sat::AllDifferentConstraintProto* unsafe_arena_release_all_diff();
4180 
4181  // .operations_research.sat.ElementConstraintProto element = 14;
4182  bool has_element() const;
4183  private:
4184  bool _internal_has_element() const;
4185  public:
4186  void clear_element();
4187  const ::operations_research::sat::ElementConstraintProto& element() const;
4188  PROTOBUF_NODISCARD ::operations_research::sat::ElementConstraintProto* release_element();
4190  void set_allocated_element(::operations_research::sat::ElementConstraintProto* element);
4191  private:
4192  const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
4193  ::operations_research::sat::ElementConstraintProto* _internal_mutable_element();
4194  public:
4195  void unsafe_arena_set_allocated_element(
4197  ::operations_research::sat::ElementConstraintProto* unsafe_arena_release_element();
4198 
4199  // .operations_research.sat.CircuitConstraintProto circuit = 15;
4200  bool has_circuit() const;
4201  private:
4202  bool _internal_has_circuit() const;
4203  public:
4204  void clear_circuit();
4205  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
4206  PROTOBUF_NODISCARD ::operations_research::sat::CircuitConstraintProto* release_circuit();
4208  void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit);
4209  private:
4210  const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
4211  ::operations_research::sat::CircuitConstraintProto* _internal_mutable_circuit();
4212  public:
4213  void unsafe_arena_set_allocated_circuit(
4215  ::operations_research::sat::CircuitConstraintProto* unsafe_arena_release_circuit();
4216 
4217  // .operations_research.sat.RoutesConstraintProto routes = 23;
4218  bool has_routes() const;
4219  private:
4220  bool _internal_has_routes() const;
4221  public:
4222  void clear_routes();
4223  const ::operations_research::sat::RoutesConstraintProto& routes() const;
4224  PROTOBUF_NODISCARD ::operations_research::sat::RoutesConstraintProto* release_routes();
4226  void set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes);
4227  private:
4228  const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
4229  ::operations_research::sat::RoutesConstraintProto* _internal_mutable_routes();
4230  public:
4231  void unsafe_arena_set_allocated_routes(
4233  ::operations_research::sat::RoutesConstraintProto* unsafe_arena_release_routes();
4234 
4235  // .operations_research.sat.TableConstraintProto table = 16;
4236  bool has_table() const;
4237  private:
4238  bool _internal_has_table() const;
4239  public:
4240  void clear_table();
4241  const ::operations_research::sat::TableConstraintProto& table() const;
4242  PROTOBUF_NODISCARD ::operations_research::sat::TableConstraintProto* release_table();
4244  void set_allocated_table(::operations_research::sat::TableConstraintProto* table);
4245  private:
4246  const ::operations_research::sat::TableConstraintProto& _internal_table() const;
4247  ::operations_research::sat::TableConstraintProto* _internal_mutable_table();
4248  public:
4249  void unsafe_arena_set_allocated_table(
4251  ::operations_research::sat::TableConstraintProto* unsafe_arena_release_table();
4252 
4253  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
4254  bool has_automaton() const;
4255  private:
4256  bool _internal_has_automaton() const;
4257  public:
4258  void clear_automaton();
4259  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
4260  PROTOBUF_NODISCARD ::operations_research::sat::AutomatonConstraintProto* release_automaton();
4262  void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton);
4263  private:
4264  const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
4265  ::operations_research::sat::AutomatonConstraintProto* _internal_mutable_automaton();
4266  public:
4267  void unsafe_arena_set_allocated_automaton(
4269  ::operations_research::sat::AutomatonConstraintProto* unsafe_arena_release_automaton();
4270 
4271  // .operations_research.sat.InverseConstraintProto inverse = 18;
4272  bool has_inverse() const;
4273  private:
4274  bool _internal_has_inverse() const;
4275  public:
4276  void clear_inverse();
4277  const ::operations_research::sat::InverseConstraintProto& inverse() const;
4278  PROTOBUF_NODISCARD ::operations_research::sat::InverseConstraintProto* release_inverse();
4280  void set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse);
4281  private:
4282  const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
4283  ::operations_research::sat::InverseConstraintProto* _internal_mutable_inverse();
4284  public:
4285  void unsafe_arena_set_allocated_inverse(
4287  ::operations_research::sat::InverseConstraintProto* unsafe_arena_release_inverse();
4288 
4289  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
4290  bool has_reservoir() const;
4291  private:
4292  bool _internal_has_reservoir() const;
4293  public:
4294  void clear_reservoir();
4295  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
4296  PROTOBUF_NODISCARD ::operations_research::sat::ReservoirConstraintProto* release_reservoir();
4298  void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir);
4299  private:
4300  const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
4301  ::operations_research::sat::ReservoirConstraintProto* _internal_mutable_reservoir();
4302  public:
4303  void unsafe_arena_set_allocated_reservoir(
4305  ::operations_research::sat::ReservoirConstraintProto* unsafe_arena_release_reservoir();
4306 
4307  // .operations_research.sat.IntervalConstraintProto interval = 19;
4308  bool has_interval() const;
4309  private:
4310  bool _internal_has_interval() const;
4311  public:
4312  void clear_interval();
4313  const ::operations_research::sat::IntervalConstraintProto& interval() const;
4314  PROTOBUF_NODISCARD ::operations_research::sat::IntervalConstraintProto* release_interval();
4316  void set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval);
4317  private:
4318  const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
4319  ::operations_research::sat::IntervalConstraintProto* _internal_mutable_interval();
4320  public:
4321  void unsafe_arena_set_allocated_interval(
4323  ::operations_research::sat::IntervalConstraintProto* unsafe_arena_release_interval();
4324 
4325  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
4326  bool has_no_overlap() const;
4327  private:
4328  bool _internal_has_no_overlap() const;
4329  public:
4330  void clear_no_overlap();
4331  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
4332  PROTOBUF_NODISCARD ::operations_research::sat::NoOverlapConstraintProto* release_no_overlap();
4334  void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4335  private:
4336  const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
4337  ::operations_research::sat::NoOverlapConstraintProto* _internal_mutable_no_overlap();
4338  public:
4339  void unsafe_arena_set_allocated_no_overlap(
4341  ::operations_research::sat::NoOverlapConstraintProto* unsafe_arena_release_no_overlap();
4342 
4343  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
4344  bool has_no_overlap_2d() const;
4345  private:
4346  bool _internal_has_no_overlap_2d() const;
4347  public:
4348  void clear_no_overlap_2d();
4349  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
4350  PROTOBUF_NODISCARD ::operations_research::sat::NoOverlap2DConstraintProto* release_no_overlap_2d();
4352  void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4353  private:
4354  const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
4355  ::operations_research::sat::NoOverlap2DConstraintProto* _internal_mutable_no_overlap_2d();
4356  public:
4357  void unsafe_arena_set_allocated_no_overlap_2d(
4359  ::operations_research::sat::NoOverlap2DConstraintProto* unsafe_arena_release_no_overlap_2d();
4360 
4361  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
4362  bool has_cumulative() const;
4363  private:
4364  bool _internal_has_cumulative() const;
4365  public:
4366  void clear_cumulative();
4367  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
4368  PROTOBUF_NODISCARD ::operations_research::sat::CumulativeConstraintProto* release_cumulative();
4370  void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative);
4371  private:
4372  const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
4373  ::operations_research::sat::CumulativeConstraintProto* _internal_mutable_cumulative();
4374  public:
4375  void unsafe_arena_set_allocated_cumulative(
4377  ::operations_research::sat::CumulativeConstraintProto* unsafe_arena_release_cumulative();
4378 
4379  // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
4380  bool has_dummy_constraint() const;
4381  private:
4382  bool _internal_has_dummy_constraint() const;
4383  public:
4384  void clear_dummy_constraint();
4385  const ::operations_research::sat::ListOfVariablesProto& dummy_constraint() const;
4386  PROTOBUF_NODISCARD ::operations_research::sat::ListOfVariablesProto* release_dummy_constraint();
4387  ::operations_research::sat::ListOfVariablesProto* mutable_dummy_constraint();
4388  void set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto* dummy_constraint);
4389  private:
4390  const ::operations_research::sat::ListOfVariablesProto& _internal_dummy_constraint() const;
4391  ::operations_research::sat::ListOfVariablesProto* _internal_mutable_dummy_constraint();
4392  public:
4393  void unsafe_arena_set_allocated_dummy_constraint(
4395  ::operations_research::sat::ListOfVariablesProto* unsafe_arena_release_dummy_constraint();
4396 
4397  void clear_constraint();
4398  ConstraintCase constraint_case() const;
4399  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
4400  private:
4401  class _Internal;
4402  void set_has_bool_or();
4403  void set_has_bool_and();
4404  void set_has_at_most_one();
4405  void set_has_exactly_one();
4406  void set_has_bool_xor();
4407  void set_has_int_div();
4408  void set_has_int_mod();
4409  void set_has_int_prod();
4410  void set_has_lin_max();
4411  void set_has_linear();
4412  void set_has_all_diff();
4413  void set_has_element();
4414  void set_has_circuit();
4415  void set_has_routes();
4416  void set_has_table();
4417  void set_has_automaton();
4418  void set_has_inverse();
4419  void set_has_reservoir();
4420  void set_has_interval();
4421  void set_has_no_overlap();
4422  void set_has_no_overlap_2d();
4423  void set_has_cumulative();
4424  void set_has_dummy_constraint();
4425 
4426  inline bool has_constraint() const;
4427  inline void clear_has_constraint();
4428 
4429  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4430  typedef void InternalArenaConstructable_;
4431  typedef void DestructorSkippable_;
4432  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > enforcement_literal_;
4433  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
4434  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4435  union ConstraintUnion {
4436  constexpr ConstraintUnion() : _constinit_{} {}
4437  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
4461  } constraint_;
4462  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4463  uint32_t _oneof_case_[1];
4464 
4465  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4466 };
4467 // -------------------------------------------------------------------
4468 
4469 class CpObjectiveProto final :
4470  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
4471  public:
4472  inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
4473  ~CpObjectiveProto() override;
4474  explicit constexpr CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4475 
4476  CpObjectiveProto(const CpObjectiveProto& from);
4478  : CpObjectiveProto() {
4479  *this = ::std::move(from);
4480  }
4481 
4483  CopyFrom(from);
4484  return *this;
4485  }
4486  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
4487  if (this == &from) return *this;
4488  if (GetOwningArena() == from.GetOwningArena()
4489  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4490  && GetOwningArena() != nullptr
4491  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
4492  ) {
4493  InternalSwap(&from);
4494  } else {
4495  CopyFrom(from);
4496  }
4497  return *this;
4498  }
4499 
4500  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4501  return GetDescriptor();
4502  }
4503  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4504  return default_instance().GetMetadata().descriptor;
4505  }
4506  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4507  return default_instance().GetMetadata().reflection;
4508  }
4510  return *internal_default_instance();
4511  }
4513  return reinterpret_cast<const CpObjectiveProto*>(
4515  }
4516  static constexpr int kIndexInFileMessages =
4517  19;
4518 
4520  a.Swap(&b);
4521  }
4522  inline void Swap(CpObjectiveProto* other) {
4523  if (other == this) return;
4524  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4525  if (GetOwningArena() != nullptr &&
4526  GetOwningArena() == other->GetOwningArena()) {
4527  #else // PROTOBUF_FORCE_COPY_IN_SWAP
4528  if (GetOwningArena() == other->GetOwningArena()) {
4529  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
4530  InternalSwap(other);
4531  } else {
4532  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4533  }
4534  }
4536  if (other == this) return;
4537  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
4538  InternalSwap(other);
4539  }
4540 
4541  // implements Message ----------------------------------------------
4542 
4543  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
4544  return CreateMaybeMessage<CpObjectiveProto>(arena);
4545  }
4546  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
4547  void CopyFrom(const CpObjectiveProto& from);
4548  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
4549  void MergeFrom(const CpObjectiveProto& from);
4550  private:
4551  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
4552  public:
4553  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4554  bool IsInitialized() const final;
4555 
4556  size_t ByteSizeLong() const final;
4557  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4558  uint8_t* _InternalSerialize(
4559  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4560  int GetCachedSize() const final { return _cached_size_.Get(); }
4561 
4562  private:
4563  void SharedCtor();
4564  void SharedDtor();
4565  void SetCachedSize(int size) const final;
4566  void InternalSwap(CpObjectiveProto* other);
4567 
4568  private:
4569  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4570  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4571  return "operations_research.sat.CpObjectiveProto";
4572  }
4573  protected:
4574  explicit CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4575  bool is_message_owned = false);
4576  private:
4577  static void ArenaDtor(void* object);
4578  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4579  public:
4580 
4581  static const ClassData _class_data_;
4582  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4583 
4584  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4585 
4586  // nested types ----------------------------------------------------
4587 
4588  // accessors -------------------------------------------------------
4589 
4590  enum : int {
4591  kVarsFieldNumber = 1,
4592  kCoeffsFieldNumber = 4,
4594  kOffsetFieldNumber = 2,
4595  kScalingFactorFieldNumber = 3,
4596  kIntegerOffsetFieldNumber = 7,
4597  kIntegerScalingFactorFieldNumber = 8,
4598  kScalingWasExactFieldNumber = 6,
4599  };
4600  // repeated int32 vars = 1;
4601  int vars_size() const;
4602  private:
4603  int _internal_vars_size() const;
4604  public:
4605  void clear_vars();
4606  private:
4607  int32_t _internal_vars(int index) const;
4608  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
4609  _internal_vars() const;
4610  void _internal_add_vars(int32_t value);
4611  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
4612  _internal_mutable_vars();
4613  public:
4614  int32_t vars(int index) const;
4615  void set_vars(int index, int32_t value);
4616  void add_vars(int32_t value);
4617  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
4618  vars() const;
4619  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
4620  mutable_vars();
4621 
4622  // repeated int64 coeffs = 4;
4623  int coeffs_size() const;
4624  private:
4625  int _internal_coeffs_size() const;
4626  public:
4627  void clear_coeffs();
4628  private:
4629  int64_t _internal_coeffs(int index) const;
4630  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
4631  _internal_coeffs() const;
4632  void _internal_add_coeffs(int64_t value);
4633  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
4634  _internal_mutable_coeffs();
4635  public:
4636  int64_t coeffs(int index) const;
4637  void set_coeffs(int index, int64_t value);
4638  void add_coeffs(int64_t value);
4639  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
4640  coeffs() const;
4641  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
4642  mutable_coeffs();
4643 
4644  // repeated int64 domain = 5;
4645  int domain_size() const;
4646  private:
4647  int _internal_domain_size() const;
4648  public:
4649  void clear_domain();
4650  private:
4651  int64_t _internal_domain(int index) const;
4652  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
4653  _internal_domain() const;
4654  void _internal_add_domain(int64_t value);
4655  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
4656  _internal_mutable_domain();
4657  public:
4658  int64_t domain(int index) const;
4659  void set_domain(int index, int64_t value);
4660  void add_domain(int64_t value);
4661  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
4662  domain() const;
4663  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
4664  mutable_domain();
4665 
4666  // double offset = 2;
4667  void clear_offset();
4668  double offset() const;
4669  void set_offset(double value);
4670  private:
4671  double _internal_offset() const;
4672  void _internal_set_offset(double value);
4673  public:
4674 
4675  // double scaling_factor = 3;
4676  void clear_scaling_factor();
4677  double scaling_factor() const;
4678  void set_scaling_factor(double value);
4679  private:
4680  double _internal_scaling_factor() const;
4681  void _internal_set_scaling_factor(double value);
4682  public:
4683 
4684  // int64 integer_offset = 7;
4685  void clear_integer_offset();
4686  int64_t integer_offset() const;
4687  void set_integer_offset(int64_t value);
4688  private:
4689  int64_t _internal_integer_offset() const;
4690  void _internal_set_integer_offset(int64_t value);
4691  public:
4692 
4693  // int64 integer_scaling_factor = 8;
4694  void clear_integer_scaling_factor();
4695  int64_t integer_scaling_factor() const;
4696  void set_integer_scaling_factor(int64_t value);
4697  private:
4698  int64_t _internal_integer_scaling_factor() const;
4699  void _internal_set_integer_scaling_factor(int64_t value);
4700  public:
4701 
4702  // bool scaling_was_exact = 6;
4703  void clear_scaling_was_exact();
4704  bool scaling_was_exact() const;
4705  void set_scaling_was_exact(bool value);
4706  private:
4707  bool _internal_scaling_was_exact() const;
4708  void _internal_set_scaling_was_exact(bool value);
4709  public:
4710 
4711  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
4712  private:
4713  class _Internal;
4714 
4715  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4716  typedef void InternalArenaConstructable_;
4717  typedef void DestructorSkippable_;
4718  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
4719  mutable std::atomic<int> _vars_cached_byte_size_;
4720  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > coeffs_;
4721  mutable std::atomic<int> _coeffs_cached_byte_size_;
4722  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > domain_;
4723  mutable std::atomic<int> _domain_cached_byte_size_;
4724  double offset_;
4725  double scaling_factor_;
4726  int64_t integer_offset_;
4727  int64_t integer_scaling_factor_;
4728  bool scaling_was_exact_;
4729  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4730  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4731 };
4732 // -------------------------------------------------------------------
4733 
4734 class FloatObjectiveProto final :
4735  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.FloatObjectiveProto) */ {
4736  public:
4738  ~FloatObjectiveProto() override;
4739  explicit constexpr FloatObjectiveProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4740 
4743  : FloatObjectiveProto() {
4744  *this = ::std::move(from);
4745  }
4746 
4748  CopyFrom(from);
4749  return *this;
4750  }
4752  if (this == &from) return *this;
4753  if (GetOwningArena() == from.GetOwningArena()
4754  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4755  && GetOwningArena() != nullptr
4756  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
4757  ) {
4758  InternalSwap(&from);
4759  } else {
4760  CopyFrom(from);
4761  }
4762  return *this;
4763  }
4764 
4765  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4766  return GetDescriptor();
4767  }
4768  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4769  return default_instance().GetMetadata().descriptor;
4770  }
4771  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4772  return default_instance().GetMetadata().reflection;
4773  }
4775  return *internal_default_instance();
4776  }
4778  return reinterpret_cast<const FloatObjectiveProto*>(
4780  }
4781  static constexpr int kIndexInFileMessages =
4782  20;
4783 
4785  a.Swap(&b);
4786  }
4787  inline void Swap(FloatObjectiveProto* other) {
4788  if (other == this) return;
4789  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4790  if (GetOwningArena() != nullptr &&
4791  GetOwningArena() == other->GetOwningArena()) {
4792  #else // PROTOBUF_FORCE_COPY_IN_SWAP
4793  if (GetOwningArena() == other->GetOwningArena()) {
4794  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
4795  InternalSwap(other);
4796  } else {
4797  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4798  }
4799  }
4801  if (other == this) return;
4802  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
4803  InternalSwap(other);
4804  }
4805 
4806  // implements Message ----------------------------------------------
4807 
4808  FloatObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
4809  return CreateMaybeMessage<FloatObjectiveProto>(arena);
4810  }
4811  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
4812  void CopyFrom(const FloatObjectiveProto& from);
4813  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
4814  void MergeFrom(const FloatObjectiveProto& from);
4815  private:
4816  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
4817  public:
4818  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4819  bool IsInitialized() const final;
4820 
4821  size_t ByteSizeLong() const final;
4822  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4823  uint8_t* _InternalSerialize(
4824  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4825  int GetCachedSize() const final { return _cached_size_.Get(); }
4826 
4827  private:
4828  void SharedCtor();
4829  void SharedDtor();
4830  void SetCachedSize(int size) const final;
4831  void InternalSwap(FloatObjectiveProto* other);
4832 
4833  private:
4834  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4835  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4836  return "operations_research.sat.FloatObjectiveProto";
4837  }
4838  protected:
4839  explicit FloatObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4840  bool is_message_owned = false);
4841  private:
4842  static void ArenaDtor(void* object);
4843  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4844  public:
4845 
4846  static const ClassData _class_data_;
4847  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4848 
4849  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4850 
4851  // nested types ----------------------------------------------------
4852 
4853  // accessors -------------------------------------------------------
4854 
4855  enum : int {
4856  kVarsFieldNumber = 1,
4857  kCoeffsFieldNumber = 2,
4858  kOffsetFieldNumber = 3,
4859  kMaximizeFieldNumber = 4,
4860  };
4861  // repeated int32 vars = 1;
4862  int vars_size() const;
4863  private:
4864  int _internal_vars_size() const;
4865  public:
4866  void clear_vars();
4867  private:
4868  int32_t _internal_vars(int index) const;
4869  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
4870  _internal_vars() const;
4871  void _internal_add_vars(int32_t value);
4872  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
4873  _internal_mutable_vars();
4874  public:
4875  int32_t vars(int index) const;
4876  void set_vars(int index, int32_t value);
4877  void add_vars(int32_t value);
4878  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
4879  vars() const;
4880  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
4881  mutable_vars();
4882 
4883  // repeated double coeffs = 2;
4884  int coeffs_size() const;
4885  private:
4886  int _internal_coeffs_size() const;
4887  public:
4888  void clear_coeffs();
4889  private:
4890  double _internal_coeffs(int index) const;
4891  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4892  _internal_coeffs() const;
4893  void _internal_add_coeffs(double value);
4894  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4895  _internal_mutable_coeffs();
4896  public:
4897  double coeffs(int index) const;
4898  void set_coeffs(int index, double value);
4899  void add_coeffs(double value);
4900  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4901  coeffs() const;
4902  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4903  mutable_coeffs();
4904 
4905  // double offset = 3;
4906  void clear_offset();
4907  double offset() const;
4908  void set_offset(double value);
4909  private:
4910  double _internal_offset() const;
4911  void _internal_set_offset(double value);
4912  public:
4913 
4914  // bool maximize = 4;
4915  void clear_maximize();
4916  bool maximize() const;
4917  void set_maximize(bool value);
4918  private:
4919  bool _internal_maximize() const;
4920  void _internal_set_maximize(bool value);
4921  public:
4922 
4923  // @@protoc_insertion_point(class_scope:operations_research.sat.FloatObjectiveProto)
4924  private:
4925  class _Internal;
4926 
4927  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4928  typedef void InternalArenaConstructable_;
4929  typedef void DestructorSkippable_;
4930  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
4931  mutable std::atomic<int> _vars_cached_byte_size_;
4932  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > coeffs_;
4933  double offset_;
4934  bool maximize_;
4935  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4936  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4937 };
4938 // -------------------------------------------------------------------
4939 
4941  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
4942  public:
4945  explicit constexpr DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4946 
4950  *this = ::std::move(from);
4951  }
4952 
4954  CopyFrom(from);
4955  return *this;
4956  }
4958  if (this == &from) return *this;
4959  if (GetOwningArena() == from.GetOwningArena()
4960  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4961  && GetOwningArena() != nullptr
4962  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
4963  ) {
4964  InternalSwap(&from);
4965  } else {
4966  CopyFrom(from);
4967  }
4968  return *this;
4969  }
4970 
4971  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4972  return GetDescriptor();
4973  }
4974  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4975  return default_instance().GetMetadata().descriptor;
4976  }
4977  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4978  return default_instance().GetMetadata().reflection;
4979  }
4981  return *internal_default_instance();
4982  }
4984  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
4986  }
4987  static constexpr int kIndexInFileMessages =
4988  21;
4989 
4991  a.Swap(&b);
4992  }
4994  if (other == this) return;
4995  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4996  if (GetOwningArena() != nullptr &&
4997  GetOwningArena() == other->GetOwningArena()) {
4998  #else // PROTOBUF_FORCE_COPY_IN_SWAP
4999  if (GetOwningArena() == other->GetOwningArena()) {
5000  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
5001  InternalSwap(other);
5002  } else {
5003  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5004  }
5005  }
5007  if (other == this) return;
5008  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5009  InternalSwap(other);
5010  }
5011 
5012  // implements Message ----------------------------------------------
5013 
5014  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
5015  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
5016  }
5017  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5019  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5021  private:
5022  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
5023  public:
5024  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5025  bool IsInitialized() const final;
5026 
5027  size_t ByteSizeLong() const final;
5028  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5029  uint8_t* _InternalSerialize(
5030  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5031  int GetCachedSize() const final { return _cached_size_.Get(); }
5032 
5033  private:
5034  void SharedCtor();
5035  void SharedDtor();
5036  void SetCachedSize(int size) const final;
5037  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
5038 
5039  private:
5040  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5041  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5042  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
5043  }
5044  protected:
5045  explicit DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5046  bool is_message_owned = false);
5047  private:
5048  static void ArenaDtor(void* object);
5049  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5050  public:
5051 
5052  static const ClassData _class_data_;
5053  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5054 
5055  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5056 
5057  // nested types ----------------------------------------------------
5058 
5059  // accessors -------------------------------------------------------
5060 
5061  enum : int {
5062  kOffsetFieldNumber = 2,
5063  kPositiveCoeffFieldNumber = 3,
5064  kIndexFieldNumber = 1,
5065  };
5066  // int64 offset = 2;
5067  void clear_offset();
5068  int64_t offset() const;
5069  void set_offset(int64_t value);
5070  private:
5071  int64_t _internal_offset() const;
5072  void _internal_set_offset(int64_t value);
5073  public:
5074 
5075  // int64 positive_coeff = 3;
5076  void clear_positive_coeff();
5077  int64_t positive_coeff() const;
5078  void set_positive_coeff(int64_t value);
5079  private:
5080  int64_t _internal_positive_coeff() const;
5081  void _internal_set_positive_coeff(int64_t value);
5082  public:
5083 
5084  // int32 index = 1;
5085  void clear_index();
5086  int32_t index() const;
5087  void set_index(int32_t value);
5088  private:
5089  int32_t _internal_index() const;
5090  void _internal_set_index(int32_t value);
5091  public:
5092 
5093  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
5094  private:
5095  class _Internal;
5096 
5097  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5098  typedef void InternalArenaConstructable_;
5099  typedef void DestructorSkippable_;
5100  int64_t offset_;
5101  int64_t positive_coeff_;
5102  int32_t index_;
5103  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5104  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5105 };
5106 // -------------------------------------------------------------------
5107 
5109  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
5110  public:
5112  ~DecisionStrategyProto() override;
5113  explicit constexpr DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5114 
5117  : DecisionStrategyProto() {
5118  *this = ::std::move(from);
5119  }
5120 
5122  CopyFrom(from);
5123  return *this;
5124  }
5126  if (this == &from) return *this;
5127  if (GetOwningArena() == from.GetOwningArena()
5128  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5129  && GetOwningArena() != nullptr
5130  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
5131  ) {
5132  InternalSwap(&from);
5133  } else {
5134  CopyFrom(from);
5135  }
5136  return *this;
5137  }
5138 
5139  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5140  return GetDescriptor();
5141  }
5142  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5143  return default_instance().GetMetadata().descriptor;
5144  }
5145  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5146  return default_instance().GetMetadata().reflection;
5147  }
5149  return *internal_default_instance();
5150  }
5152  return reinterpret_cast<const DecisionStrategyProto*>(
5154  }
5155  static constexpr int kIndexInFileMessages =
5156  22;
5157 
5159  a.Swap(&b);
5160  }
5161  inline void Swap(DecisionStrategyProto* other) {
5162  if (other == this) return;
5163  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5164  if (GetOwningArena() != nullptr &&
5165  GetOwningArena() == other->GetOwningArena()) {
5166  #else // PROTOBUF_FORCE_COPY_IN_SWAP
5167  if (GetOwningArena() == other->GetOwningArena()) {
5168  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
5169  InternalSwap(other);
5170  } else {
5171  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5172  }
5173  }
5175  if (other == this) return;
5176  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5177  InternalSwap(other);
5178  }
5179 
5180  // implements Message ----------------------------------------------
5181 
5182  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
5183  return CreateMaybeMessage<DecisionStrategyProto>(arena);
5184  }
5185  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5186  void CopyFrom(const DecisionStrategyProto& from);
5187  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5188  void MergeFrom(const DecisionStrategyProto& from);
5189  private:
5190  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
5191  public:
5192  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5193  bool IsInitialized() const final;
5194 
5195  size_t ByteSizeLong() const final;
5196  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5197  uint8_t* _InternalSerialize(
5198  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5199  int GetCachedSize() const final { return _cached_size_.Get(); }
5200 
5201  private:
5202  void SharedCtor();
5203  void SharedDtor();
5204  void SetCachedSize(int size) const final;
5205  void InternalSwap(DecisionStrategyProto* other);
5206 
5207  private:
5208  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5209  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5210  return "operations_research.sat.DecisionStrategyProto";
5211  }
5212  protected:
5213  explicit DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5214  bool is_message_owned = false);
5215  private:
5216  static void ArenaDtor(void* object);
5217  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5218  public:
5219 
5220  static const ClassData _class_data_;
5221  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5222 
5223  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5224 
5225  // nested types ----------------------------------------------------
5226 
5228 
5230  static constexpr VariableSelectionStrategy CHOOSE_FIRST =
5232  static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN =
5234  static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX =
5236  static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE =
5238  static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE =
5240  static inline bool VariableSelectionStrategy_IsValid(int value) {
5242  }
5243  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN =
5245  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX =
5247  static constexpr int VariableSelectionStrategy_ARRAYSIZE =
5249  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5252  }
5253  template<typename T>
5254  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
5257  "Incorrect type passed to function VariableSelectionStrategy_Name.");
5259  }
5260  static inline bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
5263  }
5264 
5266  static constexpr DomainReductionStrategy SELECT_MIN_VALUE =
5268  static constexpr DomainReductionStrategy SELECT_MAX_VALUE =
5270  static constexpr DomainReductionStrategy SELECT_LOWER_HALF =
5272  static constexpr DomainReductionStrategy SELECT_UPPER_HALF =
5274  static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE =
5276  static inline bool DomainReductionStrategy_IsValid(int value) {
5278  }
5279  static constexpr DomainReductionStrategy DomainReductionStrategy_MIN =
5281  static constexpr DomainReductionStrategy DomainReductionStrategy_MAX =
5283  static constexpr int DomainReductionStrategy_ARRAYSIZE =
5285  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5288  }
5289  template<typename T>
5290  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
5293  "Incorrect type passed to function DomainReductionStrategy_Name.");
5295  }
5296  static inline bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
5299  }
5300 
5301  // accessors -------------------------------------------------------
5302 
5303  enum : int {
5304  kVariablesFieldNumber = 1,
5305  kTransformationsFieldNumber = 4,
5306  kVariableSelectionStrategyFieldNumber = 2,
5307  kDomainReductionStrategyFieldNumber = 3,
5308  };
5309  // repeated int32 variables = 1;
5310  int variables_size() const;
5311  private:
5312  int _internal_variables_size() const;
5313  public:
5314  void clear_variables();
5315  private:
5316  int32_t _internal_variables(int index) const;
5317  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5318  _internal_variables() const;
5319  void _internal_add_variables(int32_t value);
5320  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5321  _internal_mutable_variables();
5322  public:
5323  int32_t variables(int index) const;
5324  void set_variables(int index, int32_t value);
5325  void add_variables(int32_t value);
5326  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5327  variables() const;
5328  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5329  mutable_variables();
5330 
5331  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
5332  int transformations_size() const;
5333  private:
5334  int _internal_transformations_size() const;
5335  public:
5336  void clear_transformations();
5338  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
5339  mutable_transformations();
5340  private:
5341  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& _internal_transformations(int index) const;
5343  public:
5344  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
5346  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
5347  transformations() const;
5348 
5349  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
5350  void clear_variable_selection_strategy();
5353  private:
5354  ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
5355  void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
5356  public:
5357 
5358  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
5359  void clear_domain_reduction_strategy();
5362  private:
5363  ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
5364  void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
5365  public:
5366 
5367  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
5368  private:
5369  class _Internal;
5370 
5371  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5372  typedef void InternalArenaConstructable_;
5373  typedef void DestructorSkippable_;
5374  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > variables_;
5375  mutable std::atomic<int> _variables_cached_byte_size_;
5376  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
5377  int variable_selection_strategy_;
5378  int domain_reduction_strategy_;
5379  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5380  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5381 };
5382 // -------------------------------------------------------------------
5383 
5385  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
5386  public:
5388  ~PartialVariableAssignment() override;
5389  explicit constexpr PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5390 
5394  *this = ::std::move(from);
5395  }
5396 
5398  CopyFrom(from);
5399  return *this;
5400  }
5402  if (this == &from) return *this;
5403  if (GetOwningArena() == from.GetOwningArena()
5404  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5405  && GetOwningArena() != nullptr
5406  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
5407  ) {
5408  InternalSwap(&from);
5409  } else {
5410  CopyFrom(from);
5411  }
5412  return *this;
5413  }
5414 
5415  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5416  return GetDescriptor();
5417  }
5418  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5419  return default_instance().GetMetadata().descriptor;
5420  }
5421  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5422  return default_instance().GetMetadata().reflection;
5423  }
5425  return *internal_default_instance();
5426  }
5428  return reinterpret_cast<const PartialVariableAssignment*>(
5430  }
5431  static constexpr int kIndexInFileMessages =
5432  23;
5433 
5435  a.Swap(&b);
5436  }
5437  inline void Swap(PartialVariableAssignment* other) {
5438  if (other == this) return;
5439  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5440  if (GetOwningArena() != nullptr &&
5441  GetOwningArena() == other->GetOwningArena()) {
5442  #else // PROTOBUF_FORCE_COPY_IN_SWAP
5443  if (GetOwningArena() == other->GetOwningArena()) {
5444  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
5445  InternalSwap(other);
5446  } else {
5447  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5448  }
5449  }
5451  if (other == this) return;
5452  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5453  InternalSwap(other);
5454  }
5455 
5456  // implements Message ----------------------------------------------
5457 
5458  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
5459  return CreateMaybeMessage<PartialVariableAssignment>(arena);
5460  }
5461  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5462  void CopyFrom(const PartialVariableAssignment& from);
5463  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5464  void MergeFrom(const PartialVariableAssignment& from);
5465  private:
5466  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
5467  public:
5468  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5469  bool IsInitialized() const final;
5470 
5471  size_t ByteSizeLong() const final;
5472  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5473  uint8_t* _InternalSerialize(
5474  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5475  int GetCachedSize() const final { return _cached_size_.Get(); }
5476 
5477  private:
5478  void SharedCtor();
5479  void SharedDtor();
5480  void SetCachedSize(int size) const final;
5481  void InternalSwap(PartialVariableAssignment* other);
5482 
5483  private:
5484  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5485  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5486  return "operations_research.sat.PartialVariableAssignment";
5487  }
5488  protected:
5489  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5490  bool is_message_owned = false);
5491  private:
5492  static void ArenaDtor(void* object);
5493  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5494  public:
5495 
5496  static const ClassData _class_data_;
5497  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5498 
5499  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5500 
5501  // nested types ----------------------------------------------------
5502 
5503  // accessors -------------------------------------------------------
5504 
5505  enum : int {
5506  kVarsFieldNumber = 1,
5507  kValuesFieldNumber = 2,
5508  };
5509  // repeated int32 vars = 1;
5510  int vars_size() const;
5511  private:
5512  int _internal_vars_size() const;
5513  public:
5514  void clear_vars();
5515  private:
5516  int32_t _internal_vars(int index) const;
5517  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5518  _internal_vars() const;
5519  void _internal_add_vars(int32_t value);
5520  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5521  _internal_mutable_vars();
5522  public:
5523  int32_t vars(int index) const;
5524  void set_vars(int index, int32_t value);
5525  void add_vars(int32_t value);
5526  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5527  vars() const;
5528  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5529  mutable_vars();
5530 
5531  // repeated int64 values = 2;
5532  int values_size() const;
5533  private:
5534  int _internal_values_size() const;
5535  public:
5536  void clear_values();
5537  private:
5538  int64_t _internal_values(int index) const;
5539  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
5540  _internal_values() const;
5541  void _internal_add_values(int64_t value);
5542  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
5543  _internal_mutable_values();
5544  public:
5545  int64_t values(int index) const;
5546  void set_values(int index, int64_t value);
5547  void add_values(int64_t value);
5548  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
5549  values() const;
5550  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
5551  mutable_values();
5552 
5553  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
5554  private:
5555  class _Internal;
5556 
5557  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5558  typedef void InternalArenaConstructable_;
5559  typedef void DestructorSkippable_;
5560  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > vars_;
5561  mutable std::atomic<int> _vars_cached_byte_size_;
5562  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > values_;
5563  mutable std::atomic<int> _values_cached_byte_size_;
5564  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5565  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5566 };
5567 // -------------------------------------------------------------------
5568 
5570  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SparsePermutationProto) */ {
5571  public:
5573  ~SparsePermutationProto() override;
5574  explicit constexpr SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5575 
5579  *this = ::std::move(from);
5580  }
5581 
5583  CopyFrom(from);
5584  return *this;
5585  }
5587  if (this == &from) return *this;
5588  if (GetOwningArena() == from.GetOwningArena()
5589  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5590  && GetOwningArena() != nullptr
5591  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
5592  ) {
5593  InternalSwap(&from);
5594  } else {
5595  CopyFrom(from);
5596  }
5597  return *this;
5598  }
5599 
5600  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5601  return GetDescriptor();
5602  }
5603  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5604  return default_instance().GetMetadata().descriptor;
5605  }
5606  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5607  return default_instance().GetMetadata().reflection;
5608  }
5610  return *internal_default_instance();
5611  }
5613  return reinterpret_cast<const SparsePermutationProto*>(
5615  }
5616  static constexpr int kIndexInFileMessages =
5617  24;
5618 
5620  a.Swap(&b);
5621  }
5622  inline void Swap(SparsePermutationProto* other) {
5623  if (other == this) return;
5624  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5625  if (GetOwningArena() != nullptr &&
5626  GetOwningArena() == other->GetOwningArena()) {
5627  #else // PROTOBUF_FORCE_COPY_IN_SWAP
5628  if (GetOwningArena() == other->GetOwningArena()) {
5629  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
5630  InternalSwap(other);
5631  } else {
5632  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5633  }
5634  }
5636  if (other == this) return;
5637  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5638  InternalSwap(other);
5639  }
5640 
5641  // implements Message ----------------------------------------------
5642 
5643  SparsePermutationProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
5644  return CreateMaybeMessage<SparsePermutationProto>(arena);
5645  }
5646  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5647  void CopyFrom(const SparsePermutationProto& from);
5648  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5649  void MergeFrom(const SparsePermutationProto& from);
5650  private:
5651  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
5652  public:
5653  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5654  bool IsInitialized() const final;
5655 
5656  size_t ByteSizeLong() const final;
5657  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5658  uint8_t* _InternalSerialize(
5659  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5660  int GetCachedSize() const final { return _cached_size_.Get(); }
5661 
5662  private:
5663  void SharedCtor();
5664  void SharedDtor();
5665  void SetCachedSize(int size) const final;
5666  void InternalSwap(SparsePermutationProto* other);
5667 
5668  private:
5669  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5670  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5671  return "operations_research.sat.SparsePermutationProto";
5672  }
5673  protected:
5674  explicit SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5675  bool is_message_owned = false);
5676  private:
5677  static void ArenaDtor(void* object);
5678  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5679  public:
5680 
5681  static const ClassData _class_data_;
5682  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5683 
5684  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5685 
5686  // nested types ----------------------------------------------------
5687 
5688  // accessors -------------------------------------------------------
5689 
5690  enum : int {
5691  kSupportFieldNumber = 1,
5692  kCycleSizesFieldNumber = 2,
5693  };
5694  // repeated int32 support = 1;
5695  int support_size() const;
5696  private:
5697  int _internal_support_size() const;
5698  public:
5699  void clear_support();
5700  private:
5701  int32_t _internal_support(int index) const;
5702  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5703  _internal_support() const;
5704  void _internal_add_support(int32_t value);
5705  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5706  _internal_mutable_support();
5707  public:
5708  int32_t support(int index) const;
5709  void set_support(int index, int32_t value);
5710  void add_support(int32_t value);
5711  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5712  support() const;
5713  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5714  mutable_support();
5715 
5716  // repeated int32 cycle_sizes = 2;
5717  int cycle_sizes_size() const;
5718  private:
5719  int _internal_cycle_sizes_size() const;
5720  public:
5721  void clear_cycle_sizes();
5722  private:
5723  int32_t _internal_cycle_sizes(int index) const;
5724  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5725  _internal_cycle_sizes() const;
5726  void _internal_add_cycle_sizes(int32_t value);
5727  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5728  _internal_mutable_cycle_sizes();
5729  public:
5730  int32_t cycle_sizes(int index) const;
5731  void set_cycle_sizes(int index, int32_t value);
5732  void add_cycle_sizes(int32_t value);
5733  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5734  cycle_sizes() const;
5735  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5736  mutable_cycle_sizes();
5737 
5738  // @@protoc_insertion_point(class_scope:operations_research.sat.SparsePermutationProto)
5739  private:
5740  class _Internal;
5741 
5742  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5743  typedef void InternalArenaConstructable_;
5744  typedef void DestructorSkippable_;
5745  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > support_;
5746  mutable std::atomic<int> _support_cached_byte_size_;
5747  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > cycle_sizes_;
5748  mutable std::atomic<int> _cycle_sizes_cached_byte_size_;
5749  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5750  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5751 };
5752 // -------------------------------------------------------------------
5753 
5754 class DenseMatrixProto final :
5755  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DenseMatrixProto) */ {
5756  public:
5757  inline DenseMatrixProto() : DenseMatrixProto(nullptr) {}
5758  ~DenseMatrixProto() override;
5759  explicit constexpr DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5760 
5761  DenseMatrixProto(const DenseMatrixProto& from);
5763  : DenseMatrixProto() {
5764  *this = ::std::move(from);
5765  }
5766 
5768  CopyFrom(from);
5769  return *this;
5770  }
5771  inline DenseMatrixProto& operator=(DenseMatrixProto&& from) noexcept {
5772  if (this == &from) return *this;
5773  if (GetOwningArena() == from.GetOwningArena()
5774  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5775  && GetOwningArena() != nullptr
5776  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
5777  ) {
5778  InternalSwap(&from);
5779  } else {
5780  CopyFrom(from);
5781  }
5782  return *this;
5783  }
5784 
5785  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5786  return GetDescriptor();
5787  }
5788  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5789  return default_instance().GetMetadata().descriptor;
5790  }
5791  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5792  return default_instance().GetMetadata().reflection;
5793  }
5795  return *internal_default_instance();
5796  }
5798  return reinterpret_cast<const DenseMatrixProto*>(
5800  }
5801  static constexpr int kIndexInFileMessages =
5802  25;
5803 
5805  a.Swap(&b);
5806  }
5807  inline void Swap(DenseMatrixProto* other) {
5808  if (other == this) return;
5809  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5810  if (GetOwningArena() != nullptr &&
5811  GetOwningArena() == other->GetOwningArena()) {
5812  #else // PROTOBUF_FORCE_COPY_IN_SWAP
5813  if (GetOwningArena() == other->GetOwningArena()) {
5814  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
5815  InternalSwap(other);
5816  } else {
5817  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5818  }
5819  }
5821  if (other == this) return;
5822  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5823  InternalSwap(other);
5824  }
5825 
5826  // implements Message ----------------------------------------------
5827 
5828  DenseMatrixProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
5829  return CreateMaybeMessage<DenseMatrixProto>(arena);
5830  }
5831  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5832  void CopyFrom(const DenseMatrixProto& from);
5833  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5834  void MergeFrom(const DenseMatrixProto& from);
5835  private:
5836  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
5837  public:
5838  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5839  bool IsInitialized() const final;
5840 
5841  size_t ByteSizeLong() const final;
5842  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5843  uint8_t* _InternalSerialize(
5844  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5845  int GetCachedSize() const final { return _cached_size_.Get(); }
5846 
5847  private:
5848  void SharedCtor();
5849  void SharedDtor();
5850  void SetCachedSize(int size) const final;
5851  void InternalSwap(DenseMatrixProto* other);
5852 
5853  private:
5854  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5855  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5856  return "operations_research.sat.DenseMatrixProto";
5857  }
5858  protected:
5859  explicit DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5860  bool is_message_owned = false);
5861  private:
5862  static void ArenaDtor(void* object);
5863  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5864  public:
5865 
5866  static const ClassData _class_data_;
5867  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5868 
5869  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5870 
5871  // nested types ----------------------------------------------------
5872 
5873  // accessors -------------------------------------------------------
5874 
5875  enum : int {
5876  kEntriesFieldNumber = 3,
5877  kNumRowsFieldNumber = 1,
5878  kNumColsFieldNumber = 2,
5879  };
5880  // repeated int32 entries = 3;
5881  int entries_size() const;
5882  private:
5883  int _internal_entries_size() const;
5884  public:
5885  void clear_entries();
5886  private:
5887  int32_t _internal_entries(int index) const;
5888  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5889  _internal_entries() const;
5890  void _internal_add_entries(int32_t value);
5891  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5892  _internal_mutable_entries();
5893  public:
5894  int32_t entries(int index) const;
5895  void set_entries(int index, int32_t value);
5896  void add_entries(int32_t value);
5897  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5898  entries() const;
5899  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5900  mutable_entries();
5901 
5902  // int32 num_rows = 1;
5903  void clear_num_rows();
5904  int32_t num_rows() const;
5905  void set_num_rows(int32_t value);
5906  private:
5907  int32_t _internal_num_rows() const;
5908  void _internal_set_num_rows(int32_t value);
5909  public:
5910 
5911  // int32 num_cols = 2;
5912  void clear_num_cols();
5913  int32_t num_cols() const;
5914  void set_num_cols(int32_t value);
5915  private:
5916  int32_t _internal_num_cols() const;
5917  void _internal_set_num_cols(int32_t value);
5918  public:
5919 
5920  // @@protoc_insertion_point(class_scope:operations_research.sat.DenseMatrixProto)
5921  private:
5922  class _Internal;
5923 
5924  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5925  typedef void InternalArenaConstructable_;
5926  typedef void DestructorSkippable_;
5927  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > entries_;
5928  mutable std::atomic<int> _entries_cached_byte_size_;
5929  int32_t num_rows_;
5930  int32_t num_cols_;
5931  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5932  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5933 };
5934 // -------------------------------------------------------------------
5935 
5936 class SymmetryProto final :
5937  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SymmetryProto) */ {
5938  public:
5939  inline SymmetryProto() : SymmetryProto(nullptr) {}
5940  ~SymmetryProto() override;
5941  explicit constexpr SymmetryProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5942 
5943  SymmetryProto(const SymmetryProto& from);
5944  SymmetryProto(SymmetryProto&& from) noexcept
5945  : SymmetryProto() {
5946  *this = ::std::move(from);
5947  }
5948 
5949  inline SymmetryProto& operator=(const SymmetryProto& from) {
5950  CopyFrom(from);
5951  return *this;
5952  }
5953  inline SymmetryProto& operator=(SymmetryProto&& from) noexcept {
5954  if (this == &from) return *this;
5955  if (GetOwningArena() == from.GetOwningArena()
5956  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5957  && GetOwningArena() != nullptr
5958  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
5959  ) {
5960  InternalSwap(&from);
5961  } else {
5962  CopyFrom(from);
5963  }
5964  return *this;
5965  }
5966 
5967  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5968  return GetDescriptor();
5969  }
5970  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5971  return default_instance().GetMetadata().descriptor;
5972  }
5973  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5974  return default_instance().GetMetadata().reflection;
5975  }
5977  return *internal_default_instance();
5978  }
5979  static inline const SymmetryProto* internal_default_instance() {
5980  return reinterpret_cast<const SymmetryProto*>(
5982  }
5983  static constexpr int kIndexInFileMessages =
5984  26;
5985 
5986  friend void swap(SymmetryProto& a, SymmetryProto& b) {
5987  a.Swap(&b);
5988  }
5989  inline void Swap(SymmetryProto* other) {
5990  if (other == this) return;
5991  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5992  if (GetOwningArena() != nullptr &&
5993  GetOwningArena() == other->GetOwningArena()) {
5994  #else // PROTOBUF_FORCE_COPY_IN_SWAP
5995  if (GetOwningArena() == other->GetOwningArena()) {
5996  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
5997  InternalSwap(other);
5998  } else {
5999  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6000  }
6001  }
6003  if (other == this) return;
6004  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
6005  InternalSwap(other);
6006  }
6007 
6008  // implements Message ----------------------------------------------
6009 
6010  SymmetryProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
6011  return CreateMaybeMessage<SymmetryProto>(arena);
6012  }
6013  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
6014  void CopyFrom(const SymmetryProto& from);
6015  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
6016  void MergeFrom(const SymmetryProto& from);
6017  private:
6018  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
6019  public:
6020  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6021  bool IsInitialized() const final;
6022 
6023  size_t ByteSizeLong() const final;
6024  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6025  uint8_t* _InternalSerialize(
6026  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6027  int GetCachedSize() const final { return _cached_size_.Get(); }
6028 
6029  private:
6030  void SharedCtor();
6031  void SharedDtor();
6032  void SetCachedSize(int size) const final;
6033  void InternalSwap(SymmetryProto* other);
6034 
6035  private:
6036  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6037  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6038  return "operations_research.sat.SymmetryProto";
6039  }
6040  protected:
6041  explicit SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6042  bool is_message_owned = false);
6043  private:
6044  static void ArenaDtor(void* object);
6045  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6046  public:
6047 
6048  static const ClassData _class_data_;
6049  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
6050 
6051  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6052 
6053  // nested types ----------------------------------------------------
6054 
6055  // accessors -------------------------------------------------------
6056 
6057  enum : int {
6058  kPermutationsFieldNumber = 1,
6059  kOrbitopesFieldNumber = 2,
6060  };
6061  // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
6062  int permutations_size() const;
6063  private:
6064  int _internal_permutations_size() const;
6065  public:
6066  void clear_permutations();
6067  ::operations_research::sat::SparsePermutationProto* mutable_permutations(int index);
6068  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
6069  mutable_permutations();
6070  private:
6071  const ::operations_research::sat::SparsePermutationProto& _internal_permutations(int index) const;
6072  ::operations_research::sat::SparsePermutationProto* _internal_add_permutations();
6073  public:
6074  const ::operations_research::sat::SparsePermutationProto& permutations(int index) const;
6076  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
6077  permutations() const;
6078 
6079  // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
6080  int orbitopes_size() const;
6081  private:
6082  int _internal_orbitopes_size() const;
6083  public:
6084  void clear_orbitopes();
6085  ::operations_research::sat::DenseMatrixProto* mutable_orbitopes(int index);
6086  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
6087  mutable_orbitopes();
6088  private:
6089  const ::operations_research::sat::DenseMatrixProto& _internal_orbitopes(int index) const;
6090  ::operations_research::sat::DenseMatrixProto* _internal_add_orbitopes();
6091  public:
6092  const ::operations_research::sat::DenseMatrixProto& orbitopes(int index) const;
6094  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
6095  orbitopes() const;
6096 
6097  // @@protoc_insertion_point(class_scope:operations_research.sat.SymmetryProto)
6098  private:
6099  class _Internal;
6100 
6101  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6102  typedef void InternalArenaConstructable_;
6103  typedef void DestructorSkippable_;
6104  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > permutations_;
6105  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > orbitopes_;
6106  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6107  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6108 };
6109 // -------------------------------------------------------------------
6110 
6111 class CpModelProto final :
6112  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
6113  public:
6114  inline CpModelProto() : CpModelProto(nullptr) {}
6115  ~CpModelProto() override;
6116  explicit constexpr CpModelProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
6117 
6118  CpModelProto(const CpModelProto& from);
6119  CpModelProto(CpModelProto&& from) noexcept
6120  : CpModelProto() {
6121  *this = ::std::move(from);
6122  }
6123 
6124  inline CpModelProto& operator=(const CpModelProto& from) {
6125  CopyFrom(from);
6126  return *this;
6127  }
6128  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
6129  if (this == &from) return *this;
6130  if (GetOwningArena() == from.GetOwningArena()
6131  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
6132  && GetOwningArena() != nullptr
6133  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
6134  ) {
6135  InternalSwap(&from);
6136  } else {
6137  CopyFrom(from);
6138  }
6139  return *this;
6140  }
6141 
6142  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
6143  return GetDescriptor();
6144  }
6145  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
6146  return default_instance().GetMetadata().descriptor;
6147  }
6148  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
6149  return default_instance().GetMetadata().reflection;
6150  }
6151  static const CpModelProto& default_instance() {
6152  return *internal_default_instance();
6153  }
6154  static inline const CpModelProto* internal_default_instance() {
6155  return reinterpret_cast<const CpModelProto*>(
6157  }
6158  static constexpr int kIndexInFileMessages =
6159  27;
6160 
6161  friend void swap(CpModelProto& a, CpModelProto& b) {
6162  a.Swap(&b);
6163  }
6164  inline void Swap(CpModelProto* other) {
6165  if (other == this) return;
6166  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
6167  if (GetOwningArena() != nullptr &&
6168  GetOwningArena() == other->GetOwningArena()) {
6169  #else // PROTOBUF_FORCE_COPY_IN_SWAP
6170  if (GetOwningArena() == other->GetOwningArena()) {
6171  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
6172  InternalSwap(other);
6173  } else {
6174  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6175  }
6176  }
6178  if (other == this) return;
6179  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
6180  InternalSwap(other);
6181  }
6182 
6183  // implements Message ----------------------------------------------
6184 
6185  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
6186  return CreateMaybeMessage<CpModelProto>(arena);
6187  }
6188  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
6189  void CopyFrom(const CpModelProto& from);
6190  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
6191  void MergeFrom(const CpModelProto& from);
6192  private:
6193  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
6194  public:
6195  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6196  bool IsInitialized() const final;
6197 
6198  size_t ByteSizeLong() const final;
6199  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6200  uint8_t* _InternalSerialize(
6201  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6202  int GetCachedSize() const final { return _cached_size_.Get(); }
6203 
6204  private:
6205  void SharedCtor();
6206  void SharedDtor();
6207  void SetCachedSize(int size) const final;
6208  void InternalSwap(CpModelProto* other);
6209 
6210  private:
6211  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6212  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6213  return "operations_research.sat.CpModelProto";
6214  }
6215  protected:
6216  explicit CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6217  bool is_message_owned = false);
6218  private:
6219  static void ArenaDtor(void* object);
6220  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6221  public:
6222 
6223  static const ClassData _class_data_;
6224  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
6225 
6226  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6227 
6228  // nested types ----------------------------------------------------
6229 
6230  // accessors -------------------------------------------------------
6231 
6232  enum : int {
6233  kVariablesFieldNumber = 2,
6234  kConstraintsFieldNumber = 3,
6235  kSearchStrategyFieldNumber = 5,
6236  kAssumptionsFieldNumber = 7,
6238  kObjectiveFieldNumber = 4,
6239  kSolutionHintFieldNumber = 6,
6240  kSymmetryFieldNumber = 8,
6241  kFloatingPointObjectiveFieldNumber = 9,
6242  };
6243  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
6244  int variables_size() const;
6245  private:
6246  int _internal_variables_size() const;
6247  public:
6248  void clear_variables();
6250  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
6251  mutable_variables();
6252  private:
6253  const ::operations_research::sat::IntegerVariableProto& _internal_variables(int index) const;
6254  ::operations_research::sat::IntegerVariableProto* _internal_add_variables();
6255  public:
6256  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
6258  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
6259  variables() const;
6260 
6261  // repeated .operations_research.sat.ConstraintProto constraints = 3;
6262  int constraints_size() const;
6263  private:
6264  int _internal_constraints_size() const;
6265  public:
6266  void clear_constraints();
6267  ::operations_research::sat::ConstraintProto* mutable_constraints(int index);
6268  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
6269  mutable_constraints();
6270  private:
6271  const ::operations_research::sat::ConstraintProto& _internal_constraints(int index) const;
6272  ::operations_research::sat::ConstraintProto* _internal_add_constraints();
6273  public:
6274  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
6276  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
6277  constraints() const;
6278 
6279  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
6280  int search_strategy_size() const;
6281  private:
6282  int _internal_search_strategy_size() const;
6283  public:
6284  void clear_search_strategy();
6285  ::operations_research::sat::DecisionStrategyProto* mutable_search_strategy(int index);
6286  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
6287  mutable_search_strategy();
6288  private:
6289  const ::operations_research::sat::DecisionStrategyProto& _internal_search_strategy(int index) const;
6290  ::operations_research::sat::DecisionStrategyProto* _internal_add_search_strategy();
6291  public:
6292  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
6294  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
6295  search_strategy() const;
6296 
6297  // repeated int32 assumptions = 7;
6298  int assumptions_size() const;
6299  private:
6300  int _internal_assumptions_size() const;
6301  public:
6302  void clear_assumptions();
6303  private:
6304  int32_t _internal_assumptions(int index) const;
6305  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6306  _internal_assumptions() const;
6307  void _internal_add_assumptions(int32_t value);
6308  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6309  _internal_mutable_assumptions();
6310  public:
6311  int32_t assumptions(int index) const;
6312  void set_assumptions(int index, int32_t value);
6313  void add_assumptions(int32_t value);
6314  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6315  assumptions() const;
6316  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6317  mutable_assumptions();
6318 
6319  // string name = 1;
6320  void clear_name();
6321  const std::string& name() const;
6322  template <typename ArgT0 = const std::string&, typename... ArgT>
6323  void set_name(ArgT0&& arg0, ArgT... args);
6324  std::string* mutable_name();
6325  PROTOBUF_NODISCARD std::string* release_name();
6326  void set_allocated_name(std::string* name);
6327  private:
6328  const std::string& _internal_name() const;
6329  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
6330  std::string* _internal_mutable_name();
6331  public:
6332 
6333  // .operations_research.sat.CpObjectiveProto objective = 4;
6334  bool has_objective() const;
6335  private:
6336  bool _internal_has_objective() const;
6337  public:
6338  void clear_objective();
6339  const ::operations_research::sat::CpObjectiveProto& objective() const;
6340  PROTOBUF_NODISCARD ::operations_research::sat::CpObjectiveProto* release_objective();
6341  ::operations_research::sat::CpObjectiveProto* mutable_objective();
6342  void set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective);
6343  private:
6344  const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
6345  ::operations_research::sat::CpObjectiveProto* _internal_mutable_objective();
6346  public:
6347  void unsafe_arena_set_allocated_objective(
6349  ::operations_research::sat::CpObjectiveProto* unsafe_arena_release_objective();
6350 
6351  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
6352  bool has_solution_hint() const;
6353  private:
6354  bool _internal_has_solution_hint() const;
6355  public:
6356  void clear_solution_hint();
6357  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
6358  PROTOBUF_NODISCARD ::operations_research::sat::PartialVariableAssignment* release_solution_hint();
6360  void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint);
6361  private:
6362  const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
6363  ::operations_research::sat::PartialVariableAssignment* _internal_mutable_solution_hint();
6364  public:
6365  void unsafe_arena_set_allocated_solution_hint(
6367  ::operations_research::sat::PartialVariableAssignment* unsafe_arena_release_solution_hint();
6368 
6369  // .operations_research.sat.SymmetryProto symmetry = 8;
6370  bool has_symmetry() const;
6371  private:
6372  bool _internal_has_symmetry() const;
6373  public:
6374  void clear_symmetry();
6375  const ::operations_research::sat::SymmetryProto& symmetry() const;
6376  PROTOBUF_NODISCARD ::operations_research::sat::SymmetryProto* release_symmetry();
6377  ::operations_research::sat::SymmetryProto* mutable_symmetry();
6378  void set_allocated_symmetry(::operations_research::sat::SymmetryProto* symmetry);
6379  private:
6380  const ::operations_research::sat::SymmetryProto& _internal_symmetry() const;
6381  ::operations_research::sat::SymmetryProto* _internal_mutable_symmetry();
6382  public:
6383  void unsafe_arena_set_allocated_symmetry(
6385  ::operations_research::sat::SymmetryProto* unsafe_arena_release_symmetry();
6386 
6387  // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
6388  bool has_floating_point_objective() const;
6389  private:
6390  bool _internal_has_floating_point_objective() const;
6391  public:
6392  void clear_floating_point_objective();
6393  const ::operations_research::sat::FloatObjectiveProto& floating_point_objective() const;
6394  PROTOBUF_NODISCARD ::operations_research::sat::FloatObjectiveProto* release_floating_point_objective();
6395  ::operations_research::sat::FloatObjectiveProto* mutable_floating_point_objective();
6396  void set_allocated_floating_point_objective(::operations_research::sat::FloatObjectiveProto* floating_point_objective);
6397  private:
6398  const ::operations_research::sat::FloatObjectiveProto& _internal_floating_point_objective() const;
6399  ::operations_research::sat::FloatObjectiveProto* _internal_mutable_floating_point_objective();
6400  public:
6401  void unsafe_arena_set_allocated_floating_point_objective(
6402  ::operations_research::sat::FloatObjectiveProto* floating_point_objective);
6403  ::operations_research::sat::FloatObjectiveProto* unsafe_arena_release_floating_point_objective();
6404 
6405  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
6406  private:
6407  class _Internal;
6408 
6409  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6410  typedef void InternalArenaConstructable_;
6411  typedef void DestructorSkippable_;
6412  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
6413  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
6414  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
6415  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > assumptions_;
6416  mutable std::atomic<int> _assumptions_cached_byte_size_;
6417  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
6421  ::operations_research::sat::FloatObjectiveProto* floating_point_objective_;
6422  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6423  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6424 };
6425 // -------------------------------------------------------------------
6426 
6427 class CpSolverSolution final :
6428  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverSolution) */ {
6429  public:
6430  inline CpSolverSolution() : CpSolverSolution(nullptr) {}
6431  ~CpSolverSolution() override;
6432  explicit constexpr CpSolverSolution(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
6433 
6434  CpSolverSolution(const CpSolverSolution& from);
6436  : CpSolverSolution() {
6437  *this = ::std::move(from);
6438  }
6439 
6441  CopyFrom(from);
6442  return *this;
6443  }
6444  inline CpSolverSolution& operator=(CpSolverSolution&& from) noexcept {
6445  if (this == &from) return *this;
6446  if (GetOwningArena() == from.GetOwningArena()
6447  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
6448  && GetOwningArena() != nullptr
6449  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
6450  ) {
6451  InternalSwap(&from);
6452  } else {
6453  CopyFrom(from);
6454  }
6455  return *this;
6456  }
6457 
6458  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
6459  return GetDescriptor();
6460  }
6461  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
6462  return default_instance().GetMetadata().descriptor;
6463  }
6464  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
6465  return default_instance().GetMetadata().reflection;
6466  }
6468  return *internal_default_instance();
6469  }
6471  return reinterpret_cast<const CpSolverSolution*>(
6473  }
6474  static constexpr int kIndexInFileMessages =
6475  28;
6476 
6478  a.Swap(&b);
6479  }
6480  inline void Swap(CpSolverSolution* other) {
6481  if (other == this) return;
6482  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
6483  if (GetOwningArena() != nullptr &&
6484  GetOwningArena() == other->GetOwningArena()) {
6485  #else // PROTOBUF_FORCE_COPY_IN_SWAP
6486  if (GetOwningArena() == other->GetOwningArena()) {
6487  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
6488  InternalSwap(other);
6489  } else {
6490  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6491  }
6492  }
6494  if (other == this) return;
6495  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
6496  InternalSwap(other);
6497  }
6498 
6499  // implements Message ----------------------------------------------
6500 
6501  CpSolverSolution* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
6502  return CreateMaybeMessage<CpSolverSolution>(arena);
6503  }
6504  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
6505  void CopyFrom(const CpSolverSolution& from);
6506  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
6507  void MergeFrom(const CpSolverSolution& from);
6508  private:
6509  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
6510  public:
6511  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6512  bool IsInitialized() const final;
6513 
6514  size_t ByteSizeLong() const final;
6515  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6516  uint8_t* _InternalSerialize(
6517  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6518  int GetCachedSize() const final { return _cached_size_.Get(); }
6519 
6520  private:
6521  void SharedCtor();
6522  void SharedDtor();
6523  void SetCachedSize(int size) const final;
6524  void InternalSwap(CpSolverSolution* other);
6525 
6526  private:
6527  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6528  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6529  return "operations_research.sat.CpSolverSolution";
6530  }
6531  protected:
6532  explicit CpSolverSolution(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6533  bool is_message_owned = false);
6534  private:
6535  static void ArenaDtor(void* object);
6536  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6537  public:
6538 
6539  static const ClassData _class_data_;
6540  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
6541 
6542  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6543 
6544  // nested types ----------------------------------------------------
6545 
6546  // accessors -------------------------------------------------------
6547 
6548  enum : int {
6549  kValuesFieldNumber = 1,
6550  };
6551  // repeated int64 values = 1;
6552  int values_size() const;
6553  private:
6554  int _internal_values_size() const;
6555  public:
6556  void clear_values();
6557  private:
6558  int64_t _internal_values(int index) const;
6559  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
6560  _internal_values() const;
6561  void _internal_add_values(int64_t value);
6562  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
6563  _internal_mutable_values();
6564  public:
6565  int64_t values(int index) const;
6566  void set_values(int index, int64_t value);
6567  void add_values(int64_t value);
6568  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
6569  values() const;
6570  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
6571  mutable_values();
6572 
6573  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverSolution)
6574  private:
6575  class _Internal;
6576 
6577  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6578  typedef void InternalArenaConstructable_;
6579  typedef void DestructorSkippable_;
6580  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > values_;
6581  mutable std::atomic<int> _values_cached_byte_size_;
6582  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6583  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6584 };
6585 // -------------------------------------------------------------------
6586 
6587 class CpSolverResponse final :
6588  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
6589  public:
6590  inline CpSolverResponse() : CpSolverResponse(nullptr) {}
6591  ~CpSolverResponse() override;
6592  explicit constexpr CpSolverResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
6593 
6594  CpSolverResponse(const CpSolverResponse& from);
6596  : CpSolverResponse() {
6597  *this = ::std::move(from);
6598  }
6599 
6601  CopyFrom(from);
6602  return *this;
6603  }
6604  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
6605  if (this == &from) return *this;
6606  if (GetOwningArena() == from.GetOwningArena()
6607  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
6608  && GetOwningArena() != nullptr
6609  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
6610  ) {
6611  InternalSwap(&from);
6612  } else {
6613  CopyFrom(from);
6614  }
6615  return *this;
6616  }
6617 
6618  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
6619  return GetDescriptor();
6620  }
6621  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
6622  return default_instance().GetMetadata().descriptor;
6623  }
6624  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
6625  return default_instance().GetMetadata().reflection;
6626  }
6628  return *internal_default_instance();
6629  }
6631  return reinterpret_cast<const CpSolverResponse*>(
6633  }
6634  static constexpr int kIndexInFileMessages =
6635  29;
6636 
6638  a.Swap(&b);
6639  }
6640  inline void Swap(CpSolverResponse* other) {
6641  if (other == this) return;
6642  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
6643  if (GetOwningArena() != nullptr &&
6644  GetOwningArena() == other->GetOwningArena()) {
6645  #else // PROTOBUF_FORCE_COPY_IN_SWAP
6646  if (GetOwningArena() == other->GetOwningArena()) {
6647  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
6648  InternalSwap(other);
6649  } else {
6650  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6651  }
6652  }
6654  if (other == this) return;
6655  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
6656  InternalSwap(other);
6657  }
6658 
6659  // implements Message ----------------------------------------------
6660 
6661  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
6662  return CreateMaybeMessage<CpSolverResponse>(arena);
6663  }
6664  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
6665  void CopyFrom(const CpSolverResponse& from);
6666  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
6667  void MergeFrom(const CpSolverResponse& from);
6668  private:
6669  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
6670  public:
6671  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6672  bool IsInitialized() const final;
6673 
6674  size_t ByteSizeLong() const final;
6675  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6676  uint8_t* _InternalSerialize(
6677  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6678  int GetCachedSize() const final { return _cached_size_.Get(); }
6679 
6680  private:
6681  void SharedCtor();
6682  void SharedDtor();
6683  void SetCachedSize(int size) const final;
6684  void InternalSwap(CpSolverResponse* other);
6685 
6686  private:
6687  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6688  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6689  return "operations_research.sat.CpSolverResponse";
6690  }
6691  protected:
6692  explicit CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6693  bool is_message_owned = false);
6694  private:
6695  static void ArenaDtor(void* object);
6696  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6697  public:
6698 
6699  static const ClassData _class_data_;
6700  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
6701 
6702  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6703 
6704  // nested types ----------------------------------------------------
6705 
6706  // accessors -------------------------------------------------------
6707 
6708  enum : int {
6709  kSolutionFieldNumber = 2,
6710  kTightenedVariablesFieldNumber = 21,
6711  kSufficientAssumptionsForInfeasibilityFieldNumber = 23,
6712  kAdditionalSolutionsFieldNumber = 27,
6713  kSolutionInfoFieldNumber = 20,
6714  kSolveLogFieldNumber = 26,
6715  kIntegerObjectiveFieldNumber = 28,
6716  kObjectiveValueFieldNumber = 3,
6717  kBestObjectiveBoundFieldNumber = 4,
6718  kNumBooleansFieldNumber = 10,
6719  kNumConflictsFieldNumber = 11,
6720  kNumBranchesFieldNumber = 12,
6721  kNumBinaryPropagationsFieldNumber = 13,
6722  kNumIntegerPropagationsFieldNumber = 14,
6723  kWallTimeFieldNumber = 15,
6724  kUserTimeFieldNumber = 16,
6725  kDeterministicTimeFieldNumber = 17,
6726  kGapIntegralFieldNumber = 22,
6727  kStatusFieldNumber = 1,
6728  kNumRestartsFieldNumber = 24,
6729  kNumLpIterationsFieldNumber = 25,
6730  kInnerObjectiveLowerBoundFieldNumber = 29,
6731  };
6732  // repeated int64 solution = 2;
6733  int solution_size() const;
6734  private:
6735  int _internal_solution_size() const;
6736  public:
6737  void clear_solution();
6738  private:
6739  int64_t _internal_solution(int index) const;
6740  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
6741  _internal_solution() const;
6742  void _internal_add_solution(int64_t value);
6743  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
6744  _internal_mutable_solution();
6745  public:
6746  int64_t solution(int index) const;
6747  void set_solution(int index, int64_t value);
6748  void add_solution(int64_t value);
6749  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
6750  solution() const;
6751  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
6752  mutable_solution();
6753 
6754  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
6755  int tightened_variables_size() const;
6756  private:
6757  int _internal_tightened_variables_size() const;
6758  public:
6759  void clear_tightened_variables();
6760  ::operations_research::sat::IntegerVariableProto* mutable_tightened_variables(int index);
6761  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
6762  mutable_tightened_variables();
6763  private:
6764  const ::operations_research::sat::IntegerVariableProto& _internal_tightened_variables(int index) const;
6765  ::operations_research::sat::IntegerVariableProto* _internal_add_tightened_variables();
6766  public:
6767  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
6768  ::operations_research::sat::IntegerVariableProto* add_tightened_variables();
6769  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
6770  tightened_variables() const;
6771 
6772  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
6773  int sufficient_assumptions_for_infeasibility_size() const;
6774  private:
6775  int _internal_sufficient_assumptions_for_infeasibility_size() const;
6776  public:
6777  void clear_sufficient_assumptions_for_infeasibility();
6778  private:
6779  int32_t _internal_sufficient_assumptions_for_infeasibility(int index) const;
6780  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6781  _internal_sufficient_assumptions_for_infeasibility() const;
6782  void _internal_add_sufficient_assumptions_for_infeasibility(int32_t value);
6783  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6784  _internal_mutable_sufficient_assumptions_for_infeasibility();
6785  public:
6786  int32_t sufficient_assumptions_for_infeasibility(int index) const;
6787  void set_sufficient_assumptions_for_infeasibility(int index, int32_t value);
6788  void add_sufficient_assumptions_for_infeasibility(int32_t value);
6789  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6790  sufficient_assumptions_for_infeasibility() const;
6791  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6792  mutable_sufficient_assumptions_for_infeasibility();
6793 
6794  // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
6795  int additional_solutions_size() const;
6796  private:
6797  int _internal_additional_solutions_size() const;
6798  public:
6799  void clear_additional_solutions();
6800  ::operations_research::sat::CpSolverSolution* mutable_additional_solutions(int index);
6801  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::CpSolverSolution >*
6802  mutable_additional_solutions();
6803  private:
6804  const ::operations_research::sat::CpSolverSolution& _internal_additional_solutions(int index) const;
6805  ::operations_research::sat::CpSolverSolution* _internal_add_additional_solutions();
6806  public:
6807  const ::operations_research::sat::CpSolverSolution& additional_solutions(int index) const;
6808  ::operations_research::sat::CpSolverSolution* add_additional_solutions();
6809  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::CpSolverSolution >&
6810  additional_solutions() const;
6811 
6812  // string solution_info = 20;
6813  void clear_solution_info();
6814  const std::string& solution_info() const;
6815  template <typename ArgT0 = const std::string&, typename... ArgT>
6816  void set_solution_info(ArgT0&& arg0, ArgT... args);
6817  std::string* mutable_solution_info();
6818  PROTOBUF_NODISCARD std::string* release_solution_info();
6819  void set_allocated_solution_info(std::string* solution_info);
6820  private:
6821  const std::string& _internal_solution_info() const;
6822  inline PROTOBUF_ALWAYS_INLINE void _internal_set_solution_info(const std::string& value);
6823  std::string* _internal_mutable_solution_info();
6824  public:
6825 
6826  // string solve_log = 26;
6827  void clear_solve_log();
6828  const std::string& solve_log() const;
6829  template <typename ArgT0 = const std::string&, typename... ArgT>
6830  void set_solve_log(ArgT0&& arg0, ArgT... args);
6831  std::string* mutable_solve_log();
6832  PROTOBUF_NODISCARD std::string* release_solve_log();
6833  void set_allocated_solve_log(std::string* solve_log);
6834  private:
6835  const std::string& _internal_solve_log() const;
6836  inline PROTOBUF_ALWAYS_INLINE void _internal_set_solve_log(const std::string& value);
6837  std::string* _internal_mutable_solve_log();
6838  public:
6839 
6840  // .operations_research.sat.CpObjectiveProto integer_objective = 28;
6841  bool has_integer_objective() const;
6842  private:
6843  bool _internal_has_integer_objective() const;
6844  public:
6845  void clear_integer_objective();
6846  const ::operations_research::sat::CpObjectiveProto& integer_objective() const;
6847  PROTOBUF_NODISCARD ::operations_research::sat::CpObjectiveProto* release_integer_objective();
6848  ::operations_research::sat::CpObjectiveProto* mutable_integer_objective();
6849  void set_allocated_integer_objective(::operations_research::sat::CpObjectiveProto* integer_objective);
6850  private:
6851  const ::operations_research::sat::CpObjectiveProto& _internal_integer_objective() const;
6852  ::operations_research::sat::CpObjectiveProto* _internal_mutable_integer_objective();
6853  public:
6854  void unsafe_arena_set_allocated_integer_objective(
6855  ::operations_research::sat::CpObjectiveProto* integer_objective);
6856  ::operations_research::sat::CpObjectiveProto* unsafe_arena_release_integer_objective();
6857 
6858  // double objective_value = 3;
6859  void clear_objective_value();
6860  double objective_value() const;
6861  void set_objective_value(double value);
6862  private:
6863  double _internal_objective_value() const;
6864  void _internal_set_objective_value(double value);
6865  public:
6866 
6867  // double best_objective_bound = 4;
6868  void clear_best_objective_bound();
6869  double best_objective_bound() const;
6870  void set_best_objective_bound(double value);
6871  private:
6872  double _internal_best_objective_bound() const;
6873  void _internal_set_best_objective_bound(double value);
6874  public:
6875 
6876  // int64 num_booleans = 10;
6877  void clear_num_booleans();
6878  int64_t num_booleans() const;
6879  void set_num_booleans(int64_t value);
6880  private:
6881  int64_t _internal_num_booleans() const;
6882  void _internal_set_num_booleans(int64_t value);
6883  public:
6884 
6885  // int64 num_conflicts = 11;
6886  void clear_num_conflicts();
6887  int64_t num_conflicts() const;
6888  void set_num_conflicts(int64_t value);
6889  private:
6890  int64_t _internal_num_conflicts() const;
6891  void _internal_set_num_conflicts(int64_t value);
6892  public:
6893 
6894  // int64 num_branches = 12;
6895  void clear_num_branches();
6896  int64_t num_branches() const;
6897  void set_num_branches(int64_t value);
6898  private:
6899  int64_t _internal_num_branches() const;
6900  void _internal_set_num_branches(int64_t value);
6901  public:
6902 
6903  // int64 num_binary_propagations = 13;
6904  void clear_num_binary_propagations();
6905  int64_t num_binary_propagations() const;
6906  void set_num_binary_propagations(int64_t value);
6907  private:
6908  int64_t _internal_num_binary_propagations() const;
6909  void _internal_set_num_binary_propagations(int64_t value);
6910  public:
6911 
6912  // int64 num_integer_propagations = 14;
6913  void clear_num_integer_propagations();
6914  int64_t num_integer_propagations() const;
6915  void set_num_integer_propagations(int64_t value);
6916  private:
6917  int64_t _internal_num_integer_propagations() const;
6918  void _internal_set_num_integer_propagations(int64_t value);
6919  public:
6920 
6921  // double wall_time = 15;
6922  void clear_wall_time();
6923  double wall_time() const;
6924  void set_wall_time(double value);
6925  private:
6926  double _internal_wall_time() const;
6927  void _internal_set_wall_time(double value);
6928  public:
6929 
6930  // double user_time = 16;
6931  void clear_user_time();
6932  double user_time() const;
6933  void set_user_time(double value);
6934  private:
6935  double _internal_user_time() const;
6936  void _internal_set_user_time(double value);
6937  public:
6938 
6939  // double deterministic_time = 17;
6940  void clear_deterministic_time();
6941  double deterministic_time() const;
6942  void set_deterministic_time(double value);
6943  private:
6944  double _internal_deterministic_time() const;
6945  void _internal_set_deterministic_time(double value);
6946  public:
6947 
6948  // double gap_integral = 22;
6949  void clear_gap_integral();
6950  double gap_integral() const;
6951  void set_gap_integral(double value);
6952  private:
6953  double _internal_gap_integral() const;
6954  void _internal_set_gap_integral(double value);
6955  public:
6956 
6957  // .operations_research.sat.CpSolverStatus status = 1;
6958  void clear_status();
6961  private:
6962  ::operations_research::sat::CpSolverStatus _internal_status() const;
6963  void _internal_set_status(::operations_research::sat::CpSolverStatus value);
6964  public:
6965 
6966  // int64 num_restarts = 24;
6967  void clear_num_restarts();
6968  int64_t num_restarts() const;
6969  void set_num_restarts(int64_t value);
6970  private:
6971  int64_t _internal_num_restarts() const;
6972  void _internal_set_num_restarts(int64_t value);
6973  public:
6974 
6975  // int64 num_lp_iterations = 25;
6976  void clear_num_lp_iterations();
6977  int64_t num_lp_iterations() const;
6978  void set_num_lp_iterations(int64_t value);
6979  private:
6980  int64_t _internal_num_lp_iterations() const;
6981  void _internal_set_num_lp_iterations(int64_t value);
6982  public:
6983 
6984  // int64 inner_objective_lower_bound = 29;
6985  void clear_inner_objective_lower_bound();
6986  int64_t inner_objective_lower_bound() const;
6987  void set_inner_objective_lower_bound(int64_t value);
6988  private:
6989  int64_t _internal_inner_objective_lower_bound() const;
6990  void _internal_set_inner_objective_lower_bound(int64_t value);
6991  public:
6992 
6993  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
6994  private:
6995  class _Internal;
6996 
6997  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6998  typedef void InternalArenaConstructable_;
6999  typedef void DestructorSkippable_;
7000  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > solution_;
7001  mutable std::atomic<int> _solution_cached_byte_size_;
7002  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
7003  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > sufficient_assumptions_for_infeasibility_;
7004  mutable std::atomic<int> _sufficient_assumptions_for_infeasibility_cached_byte_size_;
7005  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::CpSolverSolution > additional_solutions_;
7006  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
7007  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solve_log_;
7009  double objective_value_;
7010  double best_objective_bound_;
7011  int64_t num_booleans_;
7012  int64_t num_conflicts_;
7013  int64_t num_branches_;
7014  int64_t num_binary_propagations_;
7015  int64_t num_integer_propagations_;
7016  double wall_time_;
7017  double user_time_;
7018  double deterministic_time_;
7019  double gap_integral_;
7020  int status_;
7021  int64_t num_restarts_;
7022  int64_t num_lp_iterations_;
7023  int64_t inner_objective_lower_bound_;
7024  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
7025  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
7026 };
7027 // ===================================================================
7028 
7029 
7030 // ===================================================================
7031 
7032 #ifdef __GNUC__
7033  #pragma GCC diagnostic push
7034  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
7035 #endif // __GNUC__
7036 // IntegerVariableProto
7037 
7038 // string name = 1;
7040  name_.ClearToEmpty();
7041 }
7042 inline const std::string& IntegerVariableProto::name() const {
7043  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
7044  return _internal_name();
7045 }
7046 template <typename ArgT0, typename... ArgT>
7047 inline PROTOBUF_ALWAYS_INLINE
7048 void IntegerVariableProto::set_name(ArgT0&& arg0, ArgT... args) {
7049 
7050  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
7051  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
7052 }
7053 inline std::string* IntegerVariableProto::mutable_name() {
7054  std::string* _s = _internal_mutable_name();
7055  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
7056  return _s;
7057 }
7058 inline const std::string& IntegerVariableProto::_internal_name() const {
7059  return name_.Get();
7060 }
7061 inline void IntegerVariableProto::_internal_set_name(const std::string& value) {
7062 
7063  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
7064 }
7065 inline std::string* IntegerVariableProto::_internal_mutable_name() {
7066 
7067  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
7068 }
7069 inline std::string* IntegerVariableProto::release_name() {
7070  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
7071  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
7072 }
7074  if (name != nullptr) {
7075 
7076  } else {
7077 
7078  }
7079  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
7080  GetArenaForAllocation());
7081 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7082  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
7083  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
7084  }
7085 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7086  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
7087 }
7088 
7089 // repeated int64 domain = 2;
7090 inline int IntegerVariableProto::_internal_domain_size() const {
7091  return domain_.size();
7092 }
7094  return _internal_domain_size();
7095 }
7097  domain_.Clear();
7098 }
7099 inline int64_t IntegerVariableProto::_internal_domain(int index) const {
7100  return domain_.Get(index);
7101 }
7102 inline int64_t IntegerVariableProto::domain(int index) const {
7103  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
7104  return _internal_domain(index);
7105 }
7106 inline void IntegerVariableProto::set_domain(int index, int64_t value) {
7107  domain_.Set(index, value);
7108  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
7109 }
7110 inline void IntegerVariableProto::_internal_add_domain(int64_t value) {
7111  domain_.Add(value);
7112 }
7114  _internal_add_domain(value);
7115  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
7116 }
7117 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7118 IntegerVariableProto::_internal_domain() const {
7119  return domain_;
7120 }
7121 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7123  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
7124  return _internal_domain();
7125 }
7126 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7127 IntegerVariableProto::_internal_mutable_domain() {
7128  return &domain_;
7129 }
7130 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7132  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
7133  return _internal_mutable_domain();
7134 }
7135 
7136 // -------------------------------------------------------------------
7137 
7138 // BoolArgumentProto
7139 
7140 // repeated int32 literals = 1;
7141 inline int BoolArgumentProto::_internal_literals_size() const {
7142  return literals_.size();
7143 }
7145  return _internal_literals_size();
7146 }
7148  literals_.Clear();
7149 }
7150 inline int32_t BoolArgumentProto::_internal_literals(int index) const {
7151  return literals_.Get(index);
7152 }
7153 inline int32_t BoolArgumentProto::literals(int index) const {
7154  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
7155  return _internal_literals(index);
7156 }
7157 inline void BoolArgumentProto::set_literals(int index, int32_t value) {
7158  literals_.Set(index, value);
7159  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
7160 }
7161 inline void BoolArgumentProto::_internal_add_literals(int32_t value) {
7162  literals_.Add(value);
7163 }
7165  _internal_add_literals(value);
7166  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
7167 }
7168 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7169 BoolArgumentProto::_internal_literals() const {
7170  return literals_;
7171 }
7172 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7174  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
7175  return _internal_literals();
7176 }
7177 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7178 BoolArgumentProto::_internal_mutable_literals() {
7179  return &literals_;
7180 }
7181 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7183  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
7184  return _internal_mutable_literals();
7185 }
7186 
7187 // -------------------------------------------------------------------
7188 
7189 // LinearExpressionProto
7190 
7191 // repeated int32 vars = 1;
7192 inline int LinearExpressionProto::_internal_vars_size() const {
7193  return vars_.size();
7194 }
7196  return _internal_vars_size();
7197 }
7199  vars_.Clear();
7200 }
7201 inline int32_t LinearExpressionProto::_internal_vars(int index) const {
7202  return vars_.Get(index);
7203 }
7204 inline int32_t LinearExpressionProto::vars(int index) const {
7205  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
7206  return _internal_vars(index);
7207 }
7208 inline void LinearExpressionProto::set_vars(int index, int32_t value) {
7209  vars_.Set(index, value);
7210  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
7211 }
7212 inline void LinearExpressionProto::_internal_add_vars(int32_t value) {
7213  vars_.Add(value);
7214 }
7216  _internal_add_vars(value);
7217  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
7218 }
7219 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7220 LinearExpressionProto::_internal_vars() const {
7221  return vars_;
7222 }
7223 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7225  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
7226  return _internal_vars();
7227 }
7228 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7229 LinearExpressionProto::_internal_mutable_vars() {
7230  return &vars_;
7231 }
7232 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7234  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
7235  return _internal_mutable_vars();
7236 }
7237 
7238 // repeated int64 coeffs = 2;
7239 inline int LinearExpressionProto::_internal_coeffs_size() const {
7240  return coeffs_.size();
7241 }
7243  return _internal_coeffs_size();
7244 }
7246  coeffs_.Clear();
7247 }
7248 inline int64_t LinearExpressionProto::_internal_coeffs(int index) const {
7249  return coeffs_.Get(index);
7250 }
7251 inline int64_t LinearExpressionProto::coeffs(int index) const {
7252  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
7253  return _internal_coeffs(index);
7254 }
7255 inline void LinearExpressionProto::set_coeffs(int index, int64_t value) {
7256  coeffs_.Set(index, value);
7257  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
7258 }
7259 inline void LinearExpressionProto::_internal_add_coeffs(int64_t value) {
7260  coeffs_.Add(value);
7261 }
7263  _internal_add_coeffs(value);
7264  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
7265 }
7266 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7267 LinearExpressionProto::_internal_coeffs() const {
7268  return coeffs_;
7269 }
7270 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7272  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
7273  return _internal_coeffs();
7274 }
7275 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7276 LinearExpressionProto::_internal_mutable_coeffs() {
7277  return &coeffs_;
7278 }
7279 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7281  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
7282  return _internal_mutable_coeffs();
7283 }
7284 
7285 // int64 offset = 3;
7287  offset_ = int64_t{0};
7288 }
7289 inline int64_t LinearExpressionProto::_internal_offset() const {
7290  return offset_;
7291 }
7292 inline int64_t LinearExpressionProto::offset() const {
7293  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
7294  return _internal_offset();
7295 }
7296 inline void LinearExpressionProto::_internal_set_offset(int64_t value) {
7297 
7298  offset_ = value;
7299 }
7301  _internal_set_offset(value);
7302  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
7303 }
7304 
7305 // -------------------------------------------------------------------
7306 
7307 // LinearArgumentProto
7308 
7309 // .operations_research.sat.LinearExpressionProto target = 1;
7310 inline bool LinearArgumentProto::_internal_has_target() const {
7311  return this != internal_default_instance() && target_ != nullptr;
7312 }
7313 inline bool LinearArgumentProto::has_target() const {
7314  return _internal_has_target();
7315 }
7317  if (GetArenaForAllocation() == nullptr && target_ != nullptr) {
7318  delete target_;
7319  }
7320  target_ = nullptr;
7321 }
7322 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
7323  const ::operations_research::sat::LinearExpressionProto* p = target_;
7324  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7326 }
7327 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const {
7328  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
7329  return _internal_target();
7330 }
7333  if (GetArenaForAllocation() == nullptr) {
7334  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(target_);
7335  }
7336  target_ = target;
7337  if (target) {
7338 
7339  } else {
7340 
7341  }
7342  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
7343 }
7344 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::release_target() {
7345 
7347  target_ = nullptr;
7348 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7349  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7350  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7351  if (GetArenaForAllocation() == nullptr) { delete old; }
7352 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7353  if (GetArenaForAllocation() != nullptr) {
7354  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7355  }
7356 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7357  return temp;
7358 }
7359 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::unsafe_arena_release_target() {
7360  // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
7361 
7363  target_ = nullptr;
7364  return temp;
7365 }
7366 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_mutable_target() {
7367 
7368  if (target_ == nullptr) {
7369  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7370  target_ = p;
7371  }
7372  return target_;
7373 }
7374 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_target() {
7375  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_target();
7376  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
7377  return _msg;
7378 }
7380  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7381  if (message_arena == nullptr) {
7382  delete target_;
7383  }
7384  if (target) {
7385  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7386  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(target);
7387  if (message_arena != submessage_arena) {
7388  target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7389  message_arena, target, submessage_arena);
7390  }
7391 
7392  } else {
7393 
7394  }
7395  target_ = target;
7396  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
7397 }
7398 
7399 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
7400 inline int LinearArgumentProto::_internal_exprs_size() const {
7401  return exprs_.size();
7402 }
7404  return _internal_exprs_size();
7405 }
7407  exprs_.Clear();
7408 }
7409 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_exprs(int index) {
7410  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
7411  return exprs_.Mutable(index);
7412 }
7413 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
7415  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
7416  return &exprs_;
7417 }
7418 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_exprs(int index) const {
7419  return exprs_.Get(index);
7420 }
7421 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const {
7422  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
7423  return _internal_exprs(index);
7424 }
7425 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_add_exprs() {
7426  return exprs_.Add();
7427 }
7428 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::add_exprs() {
7429  ::operations_research::sat::LinearExpressionProto* _add = _internal_add_exprs();
7430  // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
7431  return _add;
7432 }
7433 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
7435  // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
7436  return exprs_;
7437 }
7438 
7439 // -------------------------------------------------------------------
7440 
7441 // AllDifferentConstraintProto
7442 
7443 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
7444 inline int AllDifferentConstraintProto::_internal_exprs_size() const {
7445  return exprs_.size();
7446 }
7448  return _internal_exprs_size();
7449 }
7451  exprs_.Clear();
7452 }
7453 inline ::operations_research::sat::LinearExpressionProto* AllDifferentConstraintProto::mutable_exprs(int index) {
7454  // @@protoc_insertion_point(field_mutable:operations_research.sat.AllDifferentConstraintProto.exprs)
7455  return exprs_.Mutable(index);
7456 }
7457 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
7459  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.exprs)
7460  return &exprs_;
7461 }
7462 inline const ::operations_research::sat::LinearExpressionProto& AllDifferentConstraintProto::_internal_exprs(int index) const {
7463  return exprs_.Get(index);
7464 }
7465 inline const ::operations_research::sat::LinearExpressionProto& AllDifferentConstraintProto::exprs(int index) const {
7466  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.exprs)
7467  return _internal_exprs(index);
7468 }
7469 inline ::operations_research::sat::LinearExpressionProto* AllDifferentConstraintProto::_internal_add_exprs() {
7470  return exprs_.Add();
7471 }
7472 inline ::operations_research::sat::LinearExpressionProto* AllDifferentConstraintProto::add_exprs() {
7473  ::operations_research::sat::LinearExpressionProto* _add = _internal_add_exprs();
7474  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.exprs)
7475  return _add;
7476 }
7477 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
7479  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.exprs)
7480  return exprs_;
7481 }
7482 
7483 // -------------------------------------------------------------------
7484 
7485 // LinearConstraintProto
7486 
7487 // repeated int32 vars = 1;
7488 inline int LinearConstraintProto::_internal_vars_size() const {
7489  return vars_.size();
7490 }
7492  return _internal_vars_size();
7493 }
7495  vars_.Clear();
7496 }
7497 inline int32_t LinearConstraintProto::_internal_vars(int index) const {
7498  return vars_.Get(index);
7499 }
7500 inline int32_t LinearConstraintProto::vars(int index) const {
7501  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
7502  return _internal_vars(index);
7503 }
7504 inline void LinearConstraintProto::set_vars(int index, int32_t value) {
7505  vars_.Set(index, value);
7506  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
7507 }
7508 inline void LinearConstraintProto::_internal_add_vars(int32_t value) {
7509  vars_.Add(value);
7510 }
7512  _internal_add_vars(value);
7513  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
7514 }
7515 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7516 LinearConstraintProto::_internal_vars() const {
7517  return vars_;
7518 }
7519 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7521  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
7522  return _internal_vars();
7523 }
7524 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7525 LinearConstraintProto::_internal_mutable_vars() {
7526  return &vars_;
7527 }
7528 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7530  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
7531  return _internal_mutable_vars();
7532 }
7533 
7534 // repeated int64 coeffs = 2;
7535 inline int LinearConstraintProto::_internal_coeffs_size() const {
7536  return coeffs_.size();
7537 }
7539  return _internal_coeffs_size();
7540 }
7542  coeffs_.Clear();
7543 }
7544 inline int64_t LinearConstraintProto::_internal_coeffs(int index) const {
7545  return coeffs_.Get(index);
7546 }
7547 inline int64_t LinearConstraintProto::coeffs(int index) const {
7548  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
7549  return _internal_coeffs(index);
7550 }
7551 inline void LinearConstraintProto::set_coeffs(int index, int64_t value) {
7552  coeffs_.Set(index, value);
7553  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
7554 }
7555 inline void LinearConstraintProto::_internal_add_coeffs(int64_t value) {
7556  coeffs_.Add(value);
7557 }
7559  _internal_add_coeffs(value);
7560  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
7561 }
7562 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7563 LinearConstraintProto::_internal_coeffs() const {
7564  return coeffs_;
7565 }
7566 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7568  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
7569  return _internal_coeffs();
7570 }
7571 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7572 LinearConstraintProto::_internal_mutable_coeffs() {
7573  return &coeffs_;
7574 }
7575 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7577  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
7578  return _internal_mutable_coeffs();
7579 }
7580 
7581 // repeated int64 domain = 3;
7582 inline int LinearConstraintProto::_internal_domain_size() const {
7583  return domain_.size();
7584 }
7586  return _internal_domain_size();
7587 }
7589  domain_.Clear();
7590 }
7591 inline int64_t LinearConstraintProto::_internal_domain(int index) const {
7592  return domain_.Get(index);
7593 }
7594 inline int64_t LinearConstraintProto::domain(int index) const {
7595  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
7596  return _internal_domain(index);
7597 }
7598 inline void LinearConstraintProto::set_domain(int index, int64_t value) {
7599  domain_.Set(index, value);
7600  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
7601 }
7602 inline void LinearConstraintProto::_internal_add_domain(int64_t value) {
7603  domain_.Add(value);
7604 }
7606  _internal_add_domain(value);
7607  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
7608 }
7609 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7610 LinearConstraintProto::_internal_domain() const {
7611  return domain_;
7612 }
7613 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
7615  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
7616  return _internal_domain();
7617 }
7618 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7619 LinearConstraintProto::_internal_mutable_domain() {
7620  return &domain_;
7621 }
7622 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
7624  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
7625  return _internal_mutable_domain();
7626 }
7627 
7628 // -------------------------------------------------------------------
7629 
7630 // ElementConstraintProto
7631 
7632 // int32 index = 1;
7634  index_ = 0;
7635 }
7636 inline int32_t ElementConstraintProto::_internal_index() const {
7637  return index_;
7638 }
7639 inline int32_t ElementConstraintProto::index() const {
7640  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
7641  return _internal_index();
7642 }
7643 inline void ElementConstraintProto::_internal_set_index(int32_t value) {
7644 
7645  index_ = value;
7646 }
7648  _internal_set_index(value);
7649  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
7650 }
7651 
7652 // int32 target = 2;
7654  target_ = 0;
7655 }
7656 inline int32_t ElementConstraintProto::_internal_target() const {
7657  return target_;
7658 }
7659 inline int32_t ElementConstraintProto::target() const {
7660  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
7661  return _internal_target();
7662 }
7663 inline void ElementConstraintProto::_internal_set_target(int32_t value) {
7664 
7665  target_ = value;
7666 }
7668  _internal_set_target(value);
7669  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
7670 }
7671 
7672 // repeated int32 vars = 3;
7673 inline int ElementConstraintProto::_internal_vars_size() const {
7674  return vars_.size();
7675 }
7677  return _internal_vars_size();
7678 }
7680  vars_.Clear();
7681 }
7682 inline int32_t ElementConstraintProto::_internal_vars(int index) const {
7683  return vars_.Get(index);
7684 }
7685 inline int32_t ElementConstraintProto::vars(int index) const {
7686  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
7687  return _internal_vars(index);
7688 }
7689 inline void ElementConstraintProto::set_vars(int index, int32_t value) {
7690  vars_.Set(index, value);
7691  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
7692 }
7693 inline void ElementConstraintProto::_internal_add_vars(int32_t value) {
7694  vars_.Add(value);
7695 }
7697  _internal_add_vars(value);
7698  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
7699 }
7700 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7701 ElementConstraintProto::_internal_vars() const {
7702  return vars_;
7703 }
7704 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
7706  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
7707  return _internal_vars();
7708 }
7709 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7710 ElementConstraintProto::_internal_mutable_vars() {
7711  return &vars_;
7712 }
7713 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
7715  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
7716  return _internal_mutable_vars();
7717 }
7718 
7719 // -------------------------------------------------------------------
7720 
7721 // IntervalConstraintProto
7722 
7723 // .operations_research.sat.LinearExpressionProto start = 4;
7724 inline bool IntervalConstraintProto::_internal_has_start() const {
7725  return this != internal_default_instance() && start_ != nullptr;
7726 }
7728  return _internal_has_start();
7729 }
7731  if (GetArenaForAllocation() == nullptr && start_ != nullptr) {
7732  delete start_;
7733  }
7734  start_ = nullptr;
7735 }
7736 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_start() const {
7737  const ::operations_research::sat::LinearExpressionProto* p = start_;
7738  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7740 }
7741 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::start() const {
7742  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
7743  return _internal_start();
7744 }
7747  if (GetArenaForAllocation() == nullptr) {
7748  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_);
7749  }
7750  start_ = start;
7751  if (start) {
7752 
7753  } else {
7754 
7755  }
7756  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.start)
7757 }
7758 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_start() {
7759 
7761  start_ = nullptr;
7762 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7763  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7764  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7765  if (GetArenaForAllocation() == nullptr) { delete old; }
7766 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7767  if (GetArenaForAllocation() != nullptr) {
7768  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7769  }
7770 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7771  return temp;
7772 }
7773 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_start() {
7774  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.start)
7775 
7777  start_ = nullptr;
7778  return temp;
7779 }
7780 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_start() {
7781 
7782  if (start_ == nullptr) {
7783  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7784  start_ = p;
7785  }
7786  return start_;
7787 }
7788 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_start() {
7789  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_start();
7790  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.start)
7791  return _msg;
7792 }
7794  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7795  if (message_arena == nullptr) {
7796  delete start_;
7797  }
7798  if (start) {
7799  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7800  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(start);
7801  if (message_arena != submessage_arena) {
7802  start = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7803  message_arena, start, submessage_arena);
7804  }
7805 
7806  } else {
7807 
7808  }
7809  start_ = start;
7810  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.start)
7811 }
7812 
7813 // .operations_research.sat.LinearExpressionProto end = 5;
7814 inline bool IntervalConstraintProto::_internal_has_end() const {
7815  return this != internal_default_instance() && end_ != nullptr;
7816 }
7818  return _internal_has_end();
7819 }
7821  if (GetArenaForAllocation() == nullptr && end_ != nullptr) {
7822  delete end_;
7823  }
7824  end_ = nullptr;
7825 }
7826 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_end() const {
7827  const ::operations_research::sat::LinearExpressionProto* p = end_;
7828  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7830 }
7831 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::end() const {
7832  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
7833  return _internal_end();
7834 }
7837  if (GetArenaForAllocation() == nullptr) {
7838  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_);
7839  }
7840  end_ = end;
7841  if (end) {
7842 
7843  } else {
7844 
7845  }
7846  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.end)
7847 }
7848 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_end() {
7849 
7851  end_ = nullptr;
7852 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7853  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7854  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7855  if (GetArenaForAllocation() == nullptr) { delete old; }
7856 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7857  if (GetArenaForAllocation() != nullptr) {
7858  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7859  }
7860 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7861  return temp;
7862 }
7863 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_end() {
7864  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.end)
7865 
7867  end_ = nullptr;
7868  return temp;
7869 }
7870 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_end() {
7871 
7872  if (end_ == nullptr) {
7873  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7874  end_ = p;
7875  }
7876  return end_;
7877 }
7878 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_end() {
7879  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_end();
7880  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.end)
7881  return _msg;
7882 }
7884  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7885  if (message_arena == nullptr) {
7886  delete end_;
7887  }
7888  if (end) {
7889  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7890  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(end);
7891  if (message_arena != submessage_arena) {
7892  end = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7893  message_arena, end, submessage_arena);
7894  }
7895 
7896  } else {
7897 
7898  }
7899  end_ = end;
7900  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.end)
7901 }
7902 
7903 // .operations_research.sat.LinearExpressionProto size = 6;
7904 inline bool IntervalConstraintProto::_internal_has_size() const {
7905  return this != internal_default_instance() && size_ != nullptr;
7906 }
7908  return _internal_has_size();
7909 }
7911  if (GetArenaForAllocation() == nullptr && size_ != nullptr) {
7912  delete size_;
7913  }
7914  size_ = nullptr;
7915 }
7916 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_size() const {
7917  const ::operations_research::sat::LinearExpressionProto* p = size_;
7918  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7920 }
7921 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::size() const {
7922  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
7923  return _internal_size();
7924 }
7927  if (GetArenaForAllocation() == nullptr) {
7928  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(size_);
7929  }
7930  size_ = size;
7931  if (size) {
7932 
7933  } else {
7934 
7935  }
7936  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.size)
7937 }
7938 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_size() {
7939 
7941  size_ = nullptr;
7942 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7943  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7944  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7945  if (GetArenaForAllocation() == nullptr) { delete old; }
7946 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7947  if (GetArenaForAllocation() != nullptr) {
7948  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7949  }
7950 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7951  return temp;
7952 }
7953 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_size() {
7954  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.size)
7955 
7957  size_ = nullptr;
7958  return temp;
7959 }
7960 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_size() {
7961 
7962  if (size_ == nullptr) {
7963  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7964  size_ = p;
7965  }
7966  return size_;
7967 }
7968 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_size() {
7969  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_size();
7970  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.size)
7971  return _msg;
7972 }
7974  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7975  if (message_arena == nullptr) {
7976  delete size_;
7977  }
7978  if (size) {
7979  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7980  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(size);
7981  if (message_arena != submessage_arena) {
7982  size = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7983  message_arena, size, submessage_arena);
7984  }
7985 
7986  } else {
7987 
7988  }
7989  size_ = size;
7990  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.size)
7991 }
7992 
7993 // -------------------------------------------------------------------
7994 
7995 // NoOverlapConstraintProto
7996 
7997 // repeated int32 intervals = 1;
7998 inline int NoOverlapConstraintProto::_internal_intervals_size() const {
7999  return intervals_.size();
8000 }
8002  return _internal_intervals_size();
8003 }
8005  intervals_.Clear();
8006 }
8007 inline int32_t NoOverlapConstraintProto::_internal_intervals(int index) const {
8008  return intervals_.Get(index);
8009 }
8010 inline int32_t NoOverlapConstraintProto::intervals(int index) const {
8011  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
8012  return _internal_intervals(index);
8013 }
8015  intervals_.Set(index, value);
8016  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
8017 }
8018 inline void NoOverlapConstraintProto::_internal_add_intervals(int32_t value) {
8019  intervals_.Add(value);
8020 }
8022  _internal_add_intervals(value);
8023  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
8024 }
8025 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8026 NoOverlapConstraintProto::_internal_intervals() const {
8027  return intervals_;
8028 }
8029 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8031  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
8032  return _internal_intervals();
8033 }
8034 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8035 NoOverlapConstraintProto::_internal_mutable_intervals() {
8036  return &intervals_;
8037 }
8038 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8040  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
8041  return _internal_mutable_intervals();
8042 }
8043 
8044 // -------------------------------------------------------------------
8045 
8046 // NoOverlap2DConstraintProto
8047 
8048 // repeated int32 x_intervals = 1;
8049 inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
8050  return x_intervals_.size();
8051 }
8053  return _internal_x_intervals_size();
8054 }
8056  x_intervals_.Clear();
8057 }
8058 inline int32_t NoOverlap2DConstraintProto::_internal_x_intervals(int index) const {
8059  return x_intervals_.Get(index);
8060 }
8062  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
8063  return _internal_x_intervals(index);
8064 }
8066  x_intervals_.Set(index, value);
8067  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
8068 }
8069 inline void NoOverlap2DConstraintProto::_internal_add_x_intervals(int32_t value) {
8070  x_intervals_.Add(value);
8071 }
8073  _internal_add_x_intervals(value);
8074  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
8075 }
8076 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8077 NoOverlap2DConstraintProto::_internal_x_intervals() const {
8078  return x_intervals_;
8079 }
8080 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8082  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
8083  return _internal_x_intervals();
8084 }
8085 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8086 NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
8087  return &x_intervals_;
8088 }
8089 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8091  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
8092  return _internal_mutable_x_intervals();
8093 }
8094 
8095 // repeated int32 y_intervals = 2;
8096 inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
8097  return y_intervals_.size();
8098 }
8100  return _internal_y_intervals_size();
8101 }
8103  y_intervals_.Clear();
8104 }
8105 inline int32_t NoOverlap2DConstraintProto::_internal_y_intervals(int index) const {
8106  return y_intervals_.Get(index);
8107 }
8109  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
8110  return _internal_y_intervals(index);
8111 }
8113  y_intervals_.Set(index, value);
8114  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
8115 }
8116 inline void NoOverlap2DConstraintProto::_internal_add_y_intervals(int32_t value) {
8117  y_intervals_.Add(value);
8118 }
8120  _internal_add_y_intervals(value);
8121  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
8122 }
8123 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8124 NoOverlap2DConstraintProto::_internal_y_intervals() const {
8125  return y_intervals_;
8126 }
8127 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8129  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
8130  return _internal_y_intervals();
8131 }
8132 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8133 NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
8134  return &y_intervals_;
8135 }
8136 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8138  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
8139  return _internal_mutable_y_intervals();
8140 }
8141 
8142 // bool boxes_with_null_area_can_overlap = 3;
8144  boxes_with_null_area_can_overlap_ = false;
8145 }
8146 inline bool NoOverlap2DConstraintProto::_internal_boxes_with_null_area_can_overlap() const {
8147  return boxes_with_null_area_can_overlap_;
8148 }
8150  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
8151  return _internal_boxes_with_null_area_can_overlap();
8152 }
8153 inline void NoOverlap2DConstraintProto::_internal_set_boxes_with_null_area_can_overlap(bool value) {
8154 
8155  boxes_with_null_area_can_overlap_ = value;
8156 }
8158  _internal_set_boxes_with_null_area_can_overlap(value);
8159  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
8160 }
8161 
8162 // -------------------------------------------------------------------
8163 
8164 // CumulativeConstraintProto
8165 
8166 // .operations_research.sat.LinearExpressionProto capacity = 1;
8167 inline bool CumulativeConstraintProto::_internal_has_capacity() const {
8168  return this != internal_default_instance() && capacity_ != nullptr;
8169 }
8171  return _internal_has_capacity();
8172 }
8174  if (GetArenaForAllocation() == nullptr && capacity_ != nullptr) {
8175  delete capacity_;
8176  }
8177  capacity_ = nullptr;
8178 }
8179 inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::_internal_capacity() const {
8180  const ::operations_research::sat::LinearExpressionProto* p = capacity_;
8181  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
8183 }
8184 inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::capacity() const {
8185  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
8186  return _internal_capacity();
8187 }
8190  if (GetArenaForAllocation() == nullptr) {
8191  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(capacity_);
8192  }
8193  capacity_ = capacity;
8194  if (capacity) {
8195 
8196  } else {
8197 
8198  }
8199  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CumulativeConstraintProto.capacity)
8200 }
8201 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::release_capacity() {
8202 
8204  capacity_ = nullptr;
8205 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
8206  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
8207  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8208  if (GetArenaForAllocation() == nullptr) { delete old; }
8209 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
8210  if (GetArenaForAllocation() != nullptr) {
8211  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8212  }
8213 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
8214  return temp;
8215 }
8216 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::unsafe_arena_release_capacity() {
8217  // @@protoc_insertion_point(field_release:operations_research.sat.CumulativeConstraintProto.capacity)
8218 
8220  capacity_ = nullptr;
8221  return temp;
8222 }
8223 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::_internal_mutable_capacity() {
8224 
8225  if (capacity_ == nullptr) {
8226  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
8227  capacity_ = p;
8228  }
8229  return capacity_;
8230 }
8231 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::mutable_capacity() {
8232  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_capacity();
8233  // @@protoc_insertion_point(field_mutable:operations_research.sat.CumulativeConstraintProto.capacity)
8234  return _msg;
8235 }
8237  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
8238  if (message_arena == nullptr) {
8239  delete capacity_;
8240  }
8241  if (capacity) {
8242  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
8243  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(capacity);
8244  if (message_arena != submessage_arena) {
8245  capacity = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
8246  message_arena, capacity, submessage_arena);
8247  }
8248 
8249  } else {
8250 
8251  }
8252  capacity_ = capacity;
8253  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CumulativeConstraintProto.capacity)
8254 }
8255 
8256 // repeated int32 intervals = 2;
8257 inline int CumulativeConstraintProto::_internal_intervals_size() const {
8258  return intervals_.size();
8259 }
8261  return _internal_intervals_size();
8262 }
8264  intervals_.Clear();
8265 }
8266 inline int32_t CumulativeConstraintProto::_internal_intervals(int index) const {
8267  return intervals_.Get(index);
8268 }
8269 inline int32_t CumulativeConstraintProto::intervals(int index) const {
8270  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
8271  return _internal_intervals(index);
8272 }
8274  intervals_.Set(index, value);
8275  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
8276 }
8277 inline void CumulativeConstraintProto::_internal_add_intervals(int32_t value) {
8278  intervals_.Add(value);
8279 }
8281  _internal_add_intervals(value);
8282  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
8283 }
8284 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8285 CumulativeConstraintProto::_internal_intervals() const {
8286  return intervals_;
8287 }
8288 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8290  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
8291  return _internal_intervals();
8292 }
8293 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8294 CumulativeConstraintProto::_internal_mutable_intervals() {
8295  return &intervals_;
8296 }
8297 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8299  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
8300  return _internal_mutable_intervals();
8301 }
8302 
8303 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
8304 inline int CumulativeConstraintProto::_internal_demands_size() const {
8305  return demands_.size();
8306 }
8308  return _internal_demands_size();
8309 }
8311  demands_.Clear();
8312 }
8313 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::mutable_demands(int index) {
8314  // @@protoc_insertion_point(field_mutable:operations_research.sat.CumulativeConstraintProto.demands)
8315  return demands_.Mutable(index);
8316 }
8317 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
8319  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
8320  return &demands_;
8321 }
8322 inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::_internal_demands(int index) const {
8323  return demands_.Get(index);
8324 }
8325 inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::demands(int index) const {
8326  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
8327  return _internal_demands(index);
8328 }
8329 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::_internal_add_demands() {
8330  return demands_.Add();
8331 }
8332 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::add_demands() {
8333  ::operations_research::sat::LinearExpressionProto* _add = _internal_add_demands();
8334  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
8335  return _add;
8336 }
8337 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
8339  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
8340  return demands_;
8341 }
8342 
8343 // -------------------------------------------------------------------
8344 
8345 // ReservoirConstraintProto
8346 
8347 // int64 min_level = 1;
8349  min_level_ = int64_t{0};
8350 }
8351 inline int64_t ReservoirConstraintProto::_internal_min_level() const {
8352  return min_level_;
8353 }
8354 inline int64_t ReservoirConstraintProto::min_level() const {
8355  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
8356  return _internal_min_level();
8357 }
8358 inline void ReservoirConstraintProto::_internal_set_min_level(int64_t value) {
8359 
8360  min_level_ = value;
8361 }
8363  _internal_set_min_level(value);
8364  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
8365 }
8366 
8367 // int64 max_level = 2;
8369  max_level_ = int64_t{0};
8370 }
8371 inline int64_t ReservoirConstraintProto::_internal_max_level() const {
8372  return max_level_;
8373 }
8374 inline int64_t ReservoirConstraintProto::max_level() const {
8375  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
8376  return _internal_max_level();
8377 }
8378 inline void ReservoirConstraintProto::_internal_set_max_level(int64_t value) {
8379 
8380  max_level_ = value;
8381 }
8383  _internal_set_max_level(value);
8384  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
8385 }
8386 
8387 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
8388 inline int ReservoirConstraintProto::_internal_time_exprs_size() const {
8389  return time_exprs_.size();
8390 }
8392  return _internal_time_exprs_size();
8393 }
8395  time_exprs_.Clear();
8396 }
8397 inline ::operations_research::sat::LinearExpressionProto* ReservoirConstraintProto::mutable_time_exprs(int index) {
8398  // @@protoc_insertion_point(field_mutable:operations_research.sat.ReservoirConstraintProto.time_exprs)
8399  return time_exprs_.Mutable(index);
8400 }
8401 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
8403  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.time_exprs)
8404  return &time_exprs_;
8405 }
8406 inline const ::operations_research::sat::LinearExpressionProto& ReservoirConstraintProto::_internal_time_exprs(int index) const {
8407  return time_exprs_.Get(index);
8408 }
8409 inline const ::operations_research::sat::LinearExpressionProto& ReservoirConstraintProto::time_exprs(int index) const {
8410  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.time_exprs)
8411  return _internal_time_exprs(index);
8412 }
8413 inline ::operations_research::sat::LinearExpressionProto* ReservoirConstraintProto::_internal_add_time_exprs() {
8414  return time_exprs_.Add();
8415 }
8416 inline ::operations_research::sat::LinearExpressionProto* ReservoirConstraintProto::add_time_exprs() {
8417  ::operations_research::sat::LinearExpressionProto* _add = _internal_add_time_exprs();
8418  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.time_exprs)
8419  return _add;
8420 }
8421 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
8423  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.time_exprs)
8424  return time_exprs_;
8425 }
8426 
8427 // repeated int64 level_changes = 4;
8428 inline int ReservoirConstraintProto::_internal_level_changes_size() const {
8429  return level_changes_.size();
8430 }
8432  return _internal_level_changes_size();
8433 }
8435  level_changes_.Clear();
8436 }
8437 inline int64_t ReservoirConstraintProto::_internal_level_changes(int index) const {
8438  return level_changes_.Get(index);
8439 }
8441  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.level_changes)
8442  return _internal_level_changes(index);
8443 }
8445  level_changes_.Set(index, value);
8446  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.level_changes)
8447 }
8448 inline void ReservoirConstraintProto::_internal_add_level_changes(int64_t value) {
8449  level_changes_.Add(value);
8450 }
8452  _internal_add_level_changes(value);
8453  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.level_changes)
8454 }
8455 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
8456 ReservoirConstraintProto::_internal_level_changes() const {
8457  return level_changes_;
8458 }
8459 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
8461  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.level_changes)
8462  return _internal_level_changes();
8463 }
8464 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
8465 ReservoirConstraintProto::_internal_mutable_level_changes() {
8466  return &level_changes_;
8467 }
8468 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
8470  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.level_changes)
8471  return _internal_mutable_level_changes();
8472 }
8473 
8474 // repeated int32 active_literals = 5;
8475 inline int ReservoirConstraintProto::_internal_active_literals_size() const {
8476  return active_literals_.size();
8477 }
8479  return _internal_active_literals_size();
8480 }
8482  active_literals_.Clear();
8483 }
8484 inline int32_t ReservoirConstraintProto::_internal_active_literals(int index) const {
8485  return active_literals_.Get(index);
8486 }
8488  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.active_literals)
8489  return _internal_active_literals(index);
8490 }
8492  active_literals_.Set(index, value);
8493  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.active_literals)
8494 }
8495 inline void ReservoirConstraintProto::_internal_add_active_literals(int32_t value) {
8496  active_literals_.Add(value);
8497 }
8499  _internal_add_active_literals(value);
8500  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.active_literals)
8501 }
8502 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8503 ReservoirConstraintProto::_internal_active_literals() const {
8504  return active_literals_;
8505 }
8506 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8508  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.active_literals)
8509  return _internal_active_literals();
8510 }
8511 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8512 ReservoirConstraintProto::_internal_mutable_active_literals() {
8513  return &active_literals_;
8514 }
8515 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8517  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.active_literals)
8518  return _internal_mutable_active_literals();
8519 }
8520 
8521 // -------------------------------------------------------------------
8522 
8523 // CircuitConstraintProto
8524 
8525 // repeated int32 tails = 3;
8526 inline int CircuitConstraintProto::_internal_tails_size() const {
8527  return tails_.size();
8528 }
8530  return _internal_tails_size();
8531 }
8533  tails_.Clear();
8534 }
8535 inline int32_t CircuitConstraintProto::_internal_tails(int index) const {
8536  return tails_.Get(index);
8537 }
8538 inline int32_t CircuitConstraintProto::tails(int index) const {
8539  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
8540  return _internal_tails(index);
8541 }
8542 inline void CircuitConstraintProto::set_tails(int index, int32_t value) {
8543  tails_.Set(index, value);
8544  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
8545 }
8546 inline void CircuitConstraintProto::_internal_add_tails(int32_t value) {
8547  tails_.Add(value);
8548 }
8550  _internal_add_tails(value);
8551  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
8552 }
8553 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8554 CircuitConstraintProto::_internal_tails() const {
8555  return tails_;
8556 }
8557 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8559  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
8560  return _internal_tails();
8561 }
8562 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8563 CircuitConstraintProto::_internal_mutable_tails() {
8564  return &tails_;
8565 }
8566 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8568  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
8569  return _internal_mutable_tails();
8570 }
8571 
8572 // repeated int32 heads = 4;
8573 inline int CircuitConstraintProto::_internal_heads_size() const {
8574  return heads_.size();
8575 }
8577  return _internal_heads_size();
8578 }
8580  heads_.Clear();
8581 }
8582 inline int32_t CircuitConstraintProto::_internal_heads(int index) const {
8583  return heads_.Get(index);
8584 }
8585 inline int32_t CircuitConstraintProto::heads(int index) const {
8586  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
8587  return _internal_heads(index);
8588 }
8589 inline void CircuitConstraintProto::set_heads(int index, int32_t value) {
8590  heads_.Set(index, value);
8591  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
8592 }
8593 inline void CircuitConstraintProto::_internal_add_heads(int32_t value) {
8594  heads_.Add(value);
8595 }
8597  _internal_add_heads(value);
8598  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
8599 }
8600 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8601 CircuitConstraintProto::_internal_heads() const {
8602  return heads_;
8603 }
8604 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8606  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
8607  return _internal_heads();
8608 }
8609 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8610 CircuitConstraintProto::_internal_mutable_heads() {
8611  return &heads_;
8612 }
8613 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8615  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
8616  return _internal_mutable_heads();
8617 }
8618 
8619 // repeated int32 literals = 5;
8620 inline int CircuitConstraintProto::_internal_literals_size() const {
8621  return literals_.size();
8622 }
8624  return _internal_literals_size();
8625 }
8627  literals_.Clear();
8628 }
8629 inline int32_t CircuitConstraintProto::_internal_literals(int index) const {
8630  return literals_.Get(index);
8631 }
8632 inline int32_t CircuitConstraintProto::literals(int index) const {
8633  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
8634  return _internal_literals(index);
8635 }
8637  literals_.Set(index, value);
8638  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
8639 }
8640 inline void CircuitConstraintProto::_internal_add_literals(int32_t value) {
8641  literals_.Add(value);
8642 }
8644  _internal_add_literals(value);
8645  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
8646 }
8647 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8648 CircuitConstraintProto::_internal_literals() const {
8649  return literals_;
8650 }
8651 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8653  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
8654  return _internal_literals();
8655 }
8656 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8657 CircuitConstraintProto::_internal_mutable_literals() {
8658  return &literals_;
8659 }
8660 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8662  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
8663  return _internal_mutable_literals();
8664 }
8665 
8666 // -------------------------------------------------------------------
8667 
8668 // RoutesConstraintProto
8669 
8670 // repeated int32 tails = 1;
8671 inline int RoutesConstraintProto::_internal_tails_size() const {
8672  return tails_.size();
8673 }
8675  return _internal_tails_size();
8676 }
8678  tails_.Clear();
8679 }
8680 inline int32_t RoutesConstraintProto::_internal_tails(int index) const {
8681  return tails_.Get(index);
8682 }
8683 inline int32_t RoutesConstraintProto::tails(int index) const {
8684  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
8685  return _internal_tails(index);
8686 }
8687 inline void RoutesConstraintProto::set_tails(int index, int32_t value) {
8688  tails_.Set(index, value);
8689  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
8690 }
8691 inline void RoutesConstraintProto::_internal_add_tails(int32_t value) {
8692  tails_.Add(value);
8693 }
8695  _internal_add_tails(value);
8696  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
8697 }
8698 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8699 RoutesConstraintProto::_internal_tails() const {
8700  return tails_;
8701 }
8702 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8704  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
8705  return _internal_tails();
8706 }
8707 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8708 RoutesConstraintProto::_internal_mutable_tails() {
8709  return &tails_;
8710 }
8711 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8713  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
8714  return _internal_mutable_tails();
8715 }
8716 
8717 // repeated int32 heads = 2;
8718 inline int RoutesConstraintProto::_internal_heads_size() const {
8719  return heads_.size();
8720 }
8722  return _internal_heads_size();
8723 }
8725  heads_.Clear();
8726 }
8727 inline int32_t RoutesConstraintProto::_internal_heads(int index) const {
8728  return heads_.Get(index);
8729 }
8730 inline int32_t RoutesConstraintProto::heads(int index) const {
8731  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
8732  return _internal_heads(index);
8733 }
8734 inline void RoutesConstraintProto::set_heads(int index, int32_t value) {
8735  heads_.Set(index, value);
8736  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
8737 }
8738 inline void RoutesConstraintProto::_internal_add_heads(int32_t value) {
8739  heads_.Add(value);
8740 }
8742  _internal_add_heads(value);
8743  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
8744 }
8745 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8746 RoutesConstraintProto::_internal_heads() const {
8747  return heads_;
8748 }
8749 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8751  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
8752  return _internal_heads();
8753 }
8754 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8755 RoutesConstraintProto::_internal_mutable_heads() {
8756  return &heads_;
8757 }
8758 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8760  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
8761  return _internal_mutable_heads();
8762 }
8763 
8764 // repeated int32 literals = 3;
8765 inline int RoutesConstraintProto::_internal_literals_size() const {
8766  return literals_.size();
8767 }
8769  return _internal_literals_size();
8770 }
8772  literals_.Clear();
8773 }
8774 inline int32_t RoutesConstraintProto::_internal_literals(int index) const {
8775  return literals_.Get(index);
8776 }
8777 inline int32_t RoutesConstraintProto::literals(int index) const {
8778  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
8779  return _internal_literals(index);
8780 }
8782  literals_.Set(index, value);
8783  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
8784 }
8785 inline void RoutesConstraintProto::_internal_add_literals(int32_t value) {
8786  literals_.Add(value);
8787 }
8789  _internal_add_literals(value);
8790  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
8791 }
8792 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8793 RoutesConstraintProto::_internal_literals() const {
8794  return literals_;
8795 }
8796 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8798  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
8799  return _internal_literals();
8800 }
8801 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8802 RoutesConstraintProto::_internal_mutable_literals() {
8803  return &literals_;
8804 }
8805 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8807  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
8808  return _internal_mutable_literals();
8809 }
8810 
8811 // repeated int32 demands = 4;
8812 inline int RoutesConstraintProto::_internal_demands_size() const {
8813  return demands_.size();
8814 }
8816  return _internal_demands_size();
8817 }
8819  demands_.Clear();
8820 }
8821 inline int32_t RoutesConstraintProto::_internal_demands(int index) const {
8822  return demands_.Get(index);
8823 }
8824 inline int32_t RoutesConstraintProto::demands(int index) const {
8825  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
8826  return _internal_demands(index);
8827 }
8829  demands_.Set(index, value);
8830  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
8831 }
8832 inline void RoutesConstraintProto::_internal_add_demands(int32_t value) {
8833  demands_.Add(value);
8834 }
8836  _internal_add_demands(value);
8837  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
8838 }
8839 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8840 RoutesConstraintProto::_internal_demands() const {
8841  return demands_;
8842 }
8843 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8845  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
8846  return _internal_demands();
8847 }
8848 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8849 RoutesConstraintProto::_internal_mutable_demands() {
8850  return &demands_;
8851 }
8852 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8854  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
8855  return _internal_mutable_demands();
8856 }
8857 
8858 // int64 capacity = 5;
8860  capacity_ = int64_t{0};
8861 }
8862 inline int64_t RoutesConstraintProto::_internal_capacity() const {
8863  return capacity_;
8864 }
8865 inline int64_t RoutesConstraintProto::capacity() const {
8866  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
8867  return _internal_capacity();
8868 }
8869 inline void RoutesConstraintProto::_internal_set_capacity(int64_t value) {
8870 
8871  capacity_ = value;
8872 }
8874  _internal_set_capacity(value);
8875  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
8876 }
8877 
8878 // -------------------------------------------------------------------
8879 
8880 // TableConstraintProto
8881 
8882 // repeated int32 vars = 1;
8883 inline int TableConstraintProto::_internal_vars_size() const {
8884  return vars_.size();
8885 }
8887  return _internal_vars_size();
8888 }
8890  vars_.Clear();
8891 }
8892 inline int32_t TableConstraintProto::_internal_vars(int index) const {
8893  return vars_.Get(index);
8894 }
8895 inline int32_t TableConstraintProto::vars(int index) const {
8896  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
8897  return _internal_vars(index);
8898 }
8899 inline void TableConstraintProto::set_vars(int index, int32_t value) {
8900  vars_.Set(index, value);
8901  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
8902 }
8903 inline void TableConstraintProto::_internal_add_vars(int32_t value) {
8904  vars_.Add(value);
8905 }
8907  _internal_add_vars(value);
8908  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
8909 }
8910 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8911 TableConstraintProto::_internal_vars() const {
8912  return vars_;
8913 }
8914 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
8916  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
8917  return _internal_vars();
8918 }
8919 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8920 TableConstraintProto::_internal_mutable_vars() {
8921  return &vars_;
8922 }
8923 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
8925  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
8926  return _internal_mutable_vars();
8927 }
8928 
8929 // repeated int64 values = 2;
8930 inline int TableConstraintProto::_internal_values_size() const {
8931  return values_.size();
8932 }
8934  return _internal_values_size();
8935 }
8937  values_.Clear();
8938 }
8939 inline int64_t TableConstraintProto::_internal_values(int index) const {
8940  return values_.Get(index);
8941 }
8942 inline int64_t TableConstraintProto::values(int index) const {
8943  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
8944  return _internal_values(index);
8945 }
8946 inline void TableConstraintProto::set_values(int index, int64_t value) {
8947  values_.Set(index, value);
8948  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
8949 }
8950 inline void TableConstraintProto::_internal_add_values(int64_t value) {
8951  values_.Add(value);
8952 }
8954  _internal_add_values(value);
8955  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
8956 }
8957 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
8958 TableConstraintProto::_internal_values() const {
8959  return values_;
8960 }
8961 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
8963  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
8964  return _internal_values();
8965 }
8966 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
8967 TableConstraintProto::_internal_mutable_values() {
8968  return &values_;
8969 }
8970 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
8972  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
8973  return _internal_mutable_values();
8974 }
8975 
8976 // bool negated = 3;
8978  negated_ = false;
8979 }
8980 inline bool TableConstraintProto::_internal_negated() const {
8981  return negated_;
8982 }
8983 inline bool TableConstraintProto::negated() const {
8984  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
8985  return _internal_negated();
8986 }
8987 inline void TableConstraintProto::_internal_set_negated(bool value) {
8988 
8989  negated_ = value;
8990 }
8992  _internal_set_negated(value);
8993  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
8994 }
8995 
8996 // -------------------------------------------------------------------
8997 
8998 // InverseConstraintProto
8999 
9000 // repeated int32 f_direct = 1;
9001 inline int InverseConstraintProto::_internal_f_direct_size() const {
9002  return f_direct_.size();
9003 }
9005  return _internal_f_direct_size();
9006 }
9008  f_direct_.Clear();
9009 }
9010 inline int32_t InverseConstraintProto::_internal_f_direct(int index) const {
9011  return f_direct_.Get(index);
9012 }
9013 inline int32_t InverseConstraintProto::f_direct(int index) const {
9014  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
9015  return _internal_f_direct(index);
9016 }
9018  f_direct_.Set(index, value);
9019  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
9020 }
9021 inline void InverseConstraintProto::_internal_add_f_direct(int32_t value) {
9022  f_direct_.Add(value);
9023 }
9025  _internal_add_f_direct(value);
9026  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
9027 }
9028 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9029 InverseConstraintProto::_internal_f_direct() const {
9030  return f_direct_;
9031 }
9032 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9034  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
9035  return _internal_f_direct();
9036 }
9037 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9038 InverseConstraintProto::_internal_mutable_f_direct() {
9039  return &f_direct_;
9040 }
9041 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9043  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
9044  return _internal_mutable_f_direct();
9045 }
9046 
9047 // repeated int32 f_inverse = 2;
9048 inline int InverseConstraintProto::_internal_f_inverse_size() const {
9049  return f_inverse_.size();
9050 }
9052  return _internal_f_inverse_size();
9053 }
9055  f_inverse_.Clear();
9056 }
9057 inline int32_t InverseConstraintProto::_internal_f_inverse(int index) const {
9058  return f_inverse_.Get(index);
9059 }
9060 inline int32_t InverseConstraintProto::f_inverse(int index) const {
9061  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
9062  return _internal_f_inverse(index);
9063 }
9065  f_inverse_.Set(index, value);
9066  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
9067 }
9068 inline void InverseConstraintProto::_internal_add_f_inverse(int32_t value) {
9069  f_inverse_.Add(value);
9070 }
9072  _internal_add_f_inverse(value);
9073  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
9074 }
9075 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9076 InverseConstraintProto::_internal_f_inverse() const {
9077  return f_inverse_;
9078 }
9079 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9081  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
9082  return _internal_f_inverse();
9083 }
9084 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9085 InverseConstraintProto::_internal_mutable_f_inverse() {
9086  return &f_inverse_;
9087 }
9088 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9090  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
9091  return _internal_mutable_f_inverse();
9092 }
9093 
9094 // -------------------------------------------------------------------
9095 
9096 // AutomatonConstraintProto
9097 
9098 // int64 starting_state = 2;
9100  starting_state_ = int64_t{0};
9101 }
9102 inline int64_t AutomatonConstraintProto::_internal_starting_state() const {
9103  return starting_state_;
9104 }
9106  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
9107  return _internal_starting_state();
9108 }
9109 inline void AutomatonConstraintProto::_internal_set_starting_state(int64_t value) {
9110 
9111  starting_state_ = value;
9112 }
9114  _internal_set_starting_state(value);
9115  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
9116 }
9117 
9118 // repeated int64 final_states = 3;
9119 inline int AutomatonConstraintProto::_internal_final_states_size() const {
9120  return final_states_.size();
9121 }
9123  return _internal_final_states_size();
9124 }
9126  final_states_.Clear();
9127 }
9128 inline int64_t AutomatonConstraintProto::_internal_final_states(int index) const {
9129  return final_states_.Get(index);
9130 }
9132  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
9133  return _internal_final_states(index);
9134 }
9136  final_states_.Set(index, value);
9137  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
9138 }
9139 inline void AutomatonConstraintProto::_internal_add_final_states(int64_t value) {
9140  final_states_.Add(value);
9141 }
9143  _internal_add_final_states(value);
9144  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
9145 }
9146 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9147 AutomatonConstraintProto::_internal_final_states() const {
9148  return final_states_;
9149 }
9150 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9152  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
9153  return _internal_final_states();
9154 }
9155 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9156 AutomatonConstraintProto::_internal_mutable_final_states() {
9157  return &final_states_;
9158 }
9159 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9161  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
9162  return _internal_mutable_final_states();
9163 }
9164 
9165 // repeated int64 transition_tail = 4;
9166 inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
9167  return transition_tail_.size();
9168 }
9170  return _internal_transition_tail_size();
9171 }
9173  transition_tail_.Clear();
9174 }
9175 inline int64_t AutomatonConstraintProto::_internal_transition_tail(int index) const {
9176  return transition_tail_.Get(index);
9177 }
9179  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
9180  return _internal_transition_tail(index);
9181 }
9183  transition_tail_.Set(index, value);
9184  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
9185 }
9186 inline void AutomatonConstraintProto::_internal_add_transition_tail(int64_t value) {
9187  transition_tail_.Add(value);
9188 }
9190  _internal_add_transition_tail(value);
9191  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
9192 }
9193 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9194 AutomatonConstraintProto::_internal_transition_tail() const {
9195  return transition_tail_;
9196 }
9197 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9199  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
9200  return _internal_transition_tail();
9201 }
9202 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9203 AutomatonConstraintProto::_internal_mutable_transition_tail() {
9204  return &transition_tail_;
9205 }
9206 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9208  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
9209  return _internal_mutable_transition_tail();
9210 }
9211 
9212 // repeated int64 transition_head = 5;
9213 inline int AutomatonConstraintProto::_internal_transition_head_size() const {
9214  return transition_head_.size();
9215 }
9217  return _internal_transition_head_size();
9218 }
9220  transition_head_.Clear();
9221 }
9222 inline int64_t AutomatonConstraintProto::_internal_transition_head(int index) const {
9223  return transition_head_.Get(index);
9224 }
9226  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
9227  return _internal_transition_head(index);
9228 }
9230  transition_head_.Set(index, value);
9231  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
9232 }
9233 inline void AutomatonConstraintProto::_internal_add_transition_head(int64_t value) {
9234  transition_head_.Add(value);
9235 }
9237  _internal_add_transition_head(value);
9238  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
9239 }
9240 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9241 AutomatonConstraintProto::_internal_transition_head() const {
9242  return transition_head_;
9243 }
9244 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9246  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
9247  return _internal_transition_head();
9248 }
9249 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9250 AutomatonConstraintProto::_internal_mutable_transition_head() {
9251  return &transition_head_;
9252 }
9253 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9255  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
9256  return _internal_mutable_transition_head();
9257 }
9258 
9259 // repeated int64 transition_label = 6;
9260 inline int AutomatonConstraintProto::_internal_transition_label_size() const {
9261  return transition_label_.size();
9262 }
9264  return _internal_transition_label_size();
9265 }
9267  transition_label_.Clear();
9268 }
9269 inline int64_t AutomatonConstraintProto::_internal_transition_label(int index) const {
9270  return transition_label_.Get(index);
9271 }
9273  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
9274  return _internal_transition_label(index);
9275 }
9277  transition_label_.Set(index, value);
9278  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
9279 }
9280 inline void AutomatonConstraintProto::_internal_add_transition_label(int64_t value) {
9281  transition_label_.Add(value);
9282 }
9284  _internal_add_transition_label(value);
9285  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
9286 }
9287 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9288 AutomatonConstraintProto::_internal_transition_label() const {
9289  return transition_label_;
9290 }
9291 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
9293  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
9294  return _internal_transition_label();
9295 }
9296 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9297 AutomatonConstraintProto::_internal_mutable_transition_label() {
9298  return &transition_label_;
9299 }
9300 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
9302  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
9303  return _internal_mutable_transition_label();
9304 }
9305 
9306 // repeated int32 vars = 7;
9307 inline int AutomatonConstraintProto::_internal_vars_size() const {
9308  return vars_.size();
9309 }
9311  return _internal_vars_size();
9312 }
9314  vars_.Clear();
9315 }
9316 inline int32_t AutomatonConstraintProto::_internal_vars(int index) const {
9317  return vars_.Get(index);
9318 }
9319 inline int32_t AutomatonConstraintProto::vars(int index) const {
9320  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
9321  return _internal_vars(index);
9322 }
9324  vars_.Set(index, value);
9325  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
9326 }
9327 inline void AutomatonConstraintProto::_internal_add_vars(int32_t value) {
9328  vars_.Add(value);
9329 }
9331  _internal_add_vars(value);
9332  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
9333 }
9334 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9335 AutomatonConstraintProto::_internal_vars() const {
9336  return vars_;
9337 }
9338 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9340  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
9341  return _internal_vars();
9342 }
9343 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9344 AutomatonConstraintProto::_internal_mutable_vars() {
9345  return &vars_;
9346 }
9347 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9349  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
9350  return _internal_mutable_vars();
9351 }
9352 
9353 // -------------------------------------------------------------------
9354 
9355 // ListOfVariablesProto
9356 
9357 // repeated int32 vars = 1;
9358 inline int ListOfVariablesProto::_internal_vars_size() const {
9359  return vars_.size();
9360 }
9362  return _internal_vars_size();
9363 }
9365  vars_.Clear();
9366 }
9367 inline int32_t ListOfVariablesProto::_internal_vars(int index) const {
9368  return vars_.Get(index);
9369 }
9370 inline int32_t ListOfVariablesProto::vars(int index) const {
9371  // @@protoc_insertion_point(field_get:operations_research.sat.ListOfVariablesProto.vars)
9372  return _internal_vars(index);
9373 }
9374 inline void ListOfVariablesProto::set_vars(int index, int32_t value) {
9375  vars_.Set(index, value);
9376  // @@protoc_insertion_point(field_set:operations_research.sat.ListOfVariablesProto.vars)
9377 }
9378 inline void ListOfVariablesProto::_internal_add_vars(int32_t value) {
9379  vars_.Add(value);
9380 }
9382  _internal_add_vars(value);
9383  // @@protoc_insertion_point(field_add:operations_research.sat.ListOfVariablesProto.vars)
9384 }
9385 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9386 ListOfVariablesProto::_internal_vars() const {
9387  return vars_;
9388 }
9389 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9391  // @@protoc_insertion_point(field_list:operations_research.sat.ListOfVariablesProto.vars)
9392  return _internal_vars();
9393 }
9394 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9395 ListOfVariablesProto::_internal_mutable_vars() {
9396  return &vars_;
9397 }
9398 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9400  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ListOfVariablesProto.vars)
9401  return _internal_mutable_vars();
9402 }
9403 
9404 // -------------------------------------------------------------------
9405 
9406 // ConstraintProto
9407 
9408 // string name = 1;
9410  name_.ClearToEmpty();
9411 }
9412 inline const std::string& ConstraintProto::name() const {
9413  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
9414  return _internal_name();
9415 }
9416 template <typename ArgT0, typename... ArgT>
9417 inline PROTOBUF_ALWAYS_INLINE
9418 void ConstraintProto::set_name(ArgT0&& arg0, ArgT... args) {
9419 
9420  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
9421  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
9422 }
9423 inline std::string* ConstraintProto::mutable_name() {
9424  std::string* _s = _internal_mutable_name();
9425  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
9426  return _s;
9427 }
9428 inline const std::string& ConstraintProto::_internal_name() const {
9429  return name_.Get();
9430 }
9431 inline void ConstraintProto::_internal_set_name(const std::string& value) {
9432 
9433  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
9434 }
9435 inline std::string* ConstraintProto::_internal_mutable_name() {
9436 
9437  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
9438 }
9439 inline std::string* ConstraintProto::release_name() {
9440  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
9441  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
9442 }
9443 inline void ConstraintProto::set_allocated_name(std::string* name) {
9444  if (name != nullptr) {
9445 
9446  } else {
9447 
9448  }
9449  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
9450  GetArenaForAllocation());
9451 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9452  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
9453  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
9454  }
9455 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9456  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
9457 }
9458 
9459 // repeated int32 enforcement_literal = 2;
9460 inline int ConstraintProto::_internal_enforcement_literal_size() const {
9461  return enforcement_literal_.size();
9462 }
9464  return _internal_enforcement_literal_size();
9465 }
9467  enforcement_literal_.Clear();
9468 }
9469 inline int32_t ConstraintProto::_internal_enforcement_literal(int index) const {
9470  return enforcement_literal_.Get(index);
9471 }
9472 inline int32_t ConstraintProto::enforcement_literal(int index) const {
9473  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
9474  return _internal_enforcement_literal(index);
9475 }
9477  enforcement_literal_.Set(index, value);
9478  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
9479 }
9480 inline void ConstraintProto::_internal_add_enforcement_literal(int32_t value) {
9481  enforcement_literal_.Add(value);
9482 }
9484  _internal_add_enforcement_literal(value);
9485  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
9486 }
9487 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9488 ConstraintProto::_internal_enforcement_literal() const {
9489  return enforcement_literal_;
9490 }
9491 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
9493  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
9494  return _internal_enforcement_literal();
9495 }
9496 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9497 ConstraintProto::_internal_mutable_enforcement_literal() {
9498  return &enforcement_literal_;
9499 }
9500 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
9502  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
9503  return _internal_mutable_enforcement_literal();
9504 }
9505 
9506 // .operations_research.sat.BoolArgumentProto bool_or = 3;
9507 inline bool ConstraintProto::_internal_has_bool_or() const {
9508  return constraint_case() == kBoolOr;
9509 }
9510 inline bool ConstraintProto::has_bool_or() const {
9511  return _internal_has_bool_or();
9512 }
9513 inline void ConstraintProto::set_has_bool_or() {
9514  _oneof_case_[0] = kBoolOr;
9515 }
9517  if (_internal_has_bool_or()) {
9518  if (GetArenaForAllocation() == nullptr) {
9519  delete constraint_.bool_or_;
9520  }
9521  clear_has_constraint();
9522  }
9523 }
9524 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
9525  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
9526  if (_internal_has_bool_or()) {
9527  clear_has_constraint();
9528  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
9529  if (GetArenaForAllocation() != nullptr) {
9530  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9531  }
9532  constraint_.bool_or_ = nullptr;
9533  return temp;
9534  } else {
9535  return nullptr;
9536  }
9537 }
9538 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
9539  return _internal_has_bool_or()
9540  ? *constraint_.bool_or_
9541  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9542 }
9543 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
9544  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
9545  return _internal_bool_or();
9546 }
9547 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_or() {
9548  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
9549  if (_internal_has_bool_or()) {
9550  clear_has_constraint();
9551  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
9552  constraint_.bool_or_ = nullptr;
9553  return temp;
9554  } else {
9555  return nullptr;
9556  }
9557 }
9559  clear_constraint();
9560  if (bool_or) {
9561  set_has_bool_or();
9562  constraint_.bool_or_ = bool_or;
9563  }
9564  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
9565 }
9566 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_or() {
9567  if (!_internal_has_bool_or()) {
9568  clear_constraint();
9569  set_has_bool_or();
9570  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9571  }
9572  return constraint_.bool_or_;
9573 }
9574 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
9575  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_or();
9576  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
9577  return _msg;
9578 }
9579 
9580 // .operations_research.sat.BoolArgumentProto bool_and = 4;
9581 inline bool ConstraintProto::_internal_has_bool_and() const {
9582  return constraint_case() == kBoolAnd;
9583 }
9584 inline bool ConstraintProto::has_bool_and() const {
9585  return _internal_has_bool_and();
9586 }
9587 inline void ConstraintProto::set_has_bool_and() {
9588  _oneof_case_[0] = kBoolAnd;
9589 }
9591  if (_internal_has_bool_and()) {
9592  if (GetArenaForAllocation() == nullptr) {
9593  delete constraint_.bool_and_;
9594  }
9595  clear_has_constraint();
9596  }
9597 }
9598 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
9599  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
9600  if (_internal_has_bool_and()) {
9601  clear_has_constraint();
9602  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9603  if (GetArenaForAllocation() != nullptr) {
9604  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9605  }
9606  constraint_.bool_and_ = nullptr;
9607  return temp;
9608  } else {
9609  return nullptr;
9610  }
9611 }
9612 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
9613  return _internal_has_bool_and()
9614  ? *constraint_.bool_and_
9615  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9616 }
9617 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
9618  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
9619  return _internal_bool_and();
9620 }
9621 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_and() {
9622  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
9623  if (_internal_has_bool_and()) {
9624  clear_has_constraint();
9625  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9626  constraint_.bool_and_ = nullptr;
9627  return temp;
9628  } else {
9629  return nullptr;
9630  }
9631 }
9633  clear_constraint();
9634  if (bool_and) {
9635  set_has_bool_and();
9636  constraint_.bool_and_ = bool_and;
9637  }
9638  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
9639 }
9640 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_and() {
9641  if (!_internal_has_bool_and()) {
9642  clear_constraint();
9643  set_has_bool_and();
9644  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9645  }
9646  return constraint_.bool_and_;
9647 }
9648 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
9649  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_and();
9650  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
9651  return _msg;
9652 }
9653 
9654 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
9655 inline bool ConstraintProto::_internal_has_at_most_one() const {
9656  return constraint_case() == kAtMostOne;
9657 }
9659  return _internal_has_at_most_one();
9660 }
9661 inline void ConstraintProto::set_has_at_most_one() {
9662  _oneof_case_[0] = kAtMostOne;
9663 }
9665  if (_internal_has_at_most_one()) {
9666  if (GetArenaForAllocation() == nullptr) {
9667  delete constraint_.at_most_one_;
9668  }
9669  clear_has_constraint();
9670  }
9671 }
9672 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
9673  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
9674  if (_internal_has_at_most_one()) {
9675  clear_has_constraint();
9676  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9677  if (GetArenaForAllocation() != nullptr) {
9678  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9679  }
9680  constraint_.at_most_one_ = nullptr;
9681  return temp;
9682  } else {
9683  return nullptr;
9684  }
9685 }
9686 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
9687  return _internal_has_at_most_one()
9688  ? *constraint_.at_most_one_
9689  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9690 }
9691 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
9692  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
9693  return _internal_at_most_one();
9694 }
9695 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_at_most_one() {
9696  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
9697  if (_internal_has_at_most_one()) {
9698  clear_has_constraint();
9699  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9700  constraint_.at_most_one_ = nullptr;
9701  return temp;
9702  } else {
9703  return nullptr;
9704  }
9705 }
9707  clear_constraint();
9708  if (at_most_one) {
9709  set_has_at_most_one();
9710  constraint_.at_most_one_ = at_most_one;
9711  }
9712  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
9713 }
9714 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_at_most_one() {
9715  if (!_internal_has_at_most_one()) {
9716  clear_constraint();
9717  set_has_at_most_one();
9718  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9719  }
9720  return constraint_.at_most_one_;
9721 }
9722 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
9723  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_at_most_one();
9724  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
9725  return _msg;
9726 }
9727 
9728 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
9729 inline bool ConstraintProto::_internal_has_exactly_one() const {
9730  return constraint_case() == kExactlyOne;
9731 }
9733  return _internal_has_exactly_one();
9734 }
9735 inline void ConstraintProto::set_has_exactly_one() {
9736  _oneof_case_[0] = kExactlyOne;
9737 }
9739  if (_internal_has_exactly_one()) {
9740  if (GetArenaForAllocation() == nullptr) {
9741  delete constraint_.exactly_one_;
9742  }
9743  clear_has_constraint();
9744  }
9745 }
9746 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_exactly_one() {
9747  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.exactly_one)
9748  if (_internal_has_exactly_one()) {
9749  clear_has_constraint();
9750  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9751  if (GetArenaForAllocation() != nullptr) {
9752  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9753  }
9754  constraint_.exactly_one_ = nullptr;
9755  return temp;
9756  } else {
9757  return nullptr;
9758  }
9759 }
9760 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_exactly_one() const {
9761  return _internal_has_exactly_one()
9762  ? *constraint_.exactly_one_
9763  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9764 }
9765 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::exactly_one() const {
9766  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.exactly_one)
9767  return _internal_exactly_one();
9768 }
9769 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_exactly_one() {
9770  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.exactly_one)
9771  if (_internal_has_exactly_one()) {
9772  clear_has_constraint();
9773  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9774  constraint_.exactly_one_ = nullptr;
9775  return temp;
9776  } else {
9777  return nullptr;
9778  }
9779 }
9781  clear_constraint();
9782  if (exactly_one) {
9783  set_has_exactly_one();
9784  constraint_.exactly_one_ = exactly_one;
9785  }
9786  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
9787 }
9788 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_exactly_one() {
9789  if (!_internal_has_exactly_one()) {
9790  clear_constraint();
9791  set_has_exactly_one();
9792  constraint_.exactly_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9793  }
9794  return constraint_.exactly_one_;
9795 }
9796 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_exactly_one() {
9797  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_exactly_one();
9798  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.exactly_one)
9799  return _msg;
9800 }
9801 
9802 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
9803 inline bool ConstraintProto::_internal_has_bool_xor() const {
9804  return constraint_case() == kBoolXor;
9805 }
9806 inline bool ConstraintProto::has_bool_xor() const {
9807  return _internal_has_bool_xor();
9808 }
9809 inline void ConstraintProto::set_has_bool_xor() {
9810  _oneof_case_[0] = kBoolXor;
9811 }
9813  if (_internal_has_bool_xor()) {
9814  if (GetArenaForAllocation() == nullptr) {
9815  delete constraint_.bool_xor_;
9816  }
9817  clear_has_constraint();
9818  }
9819 }
9820 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
9821  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
9822  if (_internal_has_bool_xor()) {
9823  clear_has_constraint();
9824  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9825  if (GetArenaForAllocation() != nullptr) {
9826  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9827  }
9828  constraint_.bool_xor_ = nullptr;
9829  return temp;
9830  } else {
9831  return nullptr;
9832  }
9833 }
9834 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
9835  return _internal_has_bool_xor()
9836  ? *constraint_.bool_xor_
9837  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9838 }
9839 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
9840  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
9841  return _internal_bool_xor();
9842 }
9843 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_xor() {
9844  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
9845  if (_internal_has_bool_xor()) {
9846  clear_has_constraint();
9847  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9848  constraint_.bool_xor_ = nullptr;
9849  return temp;
9850  } else {
9851  return nullptr;
9852  }
9853 }
9855  clear_constraint();
9856  if (bool_xor) {
9857  set_has_bool_xor();
9858  constraint_.bool_xor_ = bool_xor;
9859  }
9860  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
9861 }
9862 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_xor() {
9863  if (!_internal_has_bool_xor()) {
9864  clear_constraint();
9865  set_has_bool_xor();
9866  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9867  }
9868  return constraint_.bool_xor_;
9869 }
9870 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
9871  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_xor();
9872  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
9873  return _msg;
9874 }
9875 
9876 // .operations_research.sat.LinearArgumentProto int_div = 7;
9877 inline bool ConstraintProto::_internal_has_int_div() const {
9878  return constraint_case() == kIntDiv;
9879 }
9880 inline bool ConstraintProto::has_int_div() const {
9881  return _internal_has_int_div();
9882 }
9883 inline void ConstraintProto::set_has_int_div() {
9884  _oneof_case_[0] = kIntDiv;
9885 }
9887  if (_internal_has_int_div()) {
9888  if (GetArenaForAllocation() == nullptr) {
9889  delete constraint_.int_div_;
9890  }
9891  clear_has_constraint();
9892  }
9893 }
9894 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_int_div() {
9895  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
9896  if (_internal_has_int_div()) {
9897  clear_has_constraint();
9898  ::operations_research::sat::LinearArgumentProto* temp = constraint_.int_div_;
9899  if (GetArenaForAllocation() != nullptr) {
9900  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9901  }
9902  constraint_.int_div_ = nullptr;
9903  return temp;
9904  } else {
9905  return nullptr;
9906  }
9907 }
9908 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_div() const {
9909  return _internal_has_int_div()
9910  ? *constraint_.int_div_
9911  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9912 }
9913 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_div() const {
9914  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
9915  return _internal_int_div();
9916 }
9917 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_int_div() {
9918  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
9919  if (_internal_has_int_div()) {
9920  clear_has_constraint();
9921  ::operations_research::sat::LinearArgumentProto* temp = constraint_.int_div_;
9922  constraint_.int_div_ = nullptr;
9923  return temp;
9924  } else {
9925  return nullptr;
9926  }
9927 }
9929  clear_constraint();
9930  if (int_div) {
9931  set_has_int_div();
9932  constraint_.int_div_ = int_div;
9933  }
9934  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
9935 }
9936 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_int_div() {
9937  if (!_internal_has_int_div()) {
9938  clear_constraint();
9939  set_has_int_div();
9940  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArenaForAllocation());
9941  }
9942  return constraint_.int_div_;
9943 }
9944 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_int_div() {
9945  ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_div();
9946  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
9947  return _msg;
9948 }
9949 
9950 // .operations_research.sat.LinearArgumentProto int_mod = 8;
9951 inline bool ConstraintProto::_internal_has_int_mod() const {
9952  return constraint_case() == kIntMod;
9953 }
9954 inline bool ConstraintProto::has_int_mod() const {
9955  return _internal_has_int_mod();
9956 }
9957 inline void ConstraintProto::set_has_int_mod() {
9958  _oneof_case_[0] = kIntMod;
9959 }
9961  if (_internal_has_int_mod()) {
9962  if (GetArenaForAllocation() == nullptr) {
9963  delete constraint_.int_mod_;
9964  }
9965  clear_has_constraint();
9966  }
9967 }
9968 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_int_mod() {
9969  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
9970  if (_internal_has_int_mod()) {
9971  clear_has_constraint();
9972  ::operations_research::sat::LinearArgumentProto* temp = constraint_.int_mod_;
9973  if (GetArenaForAllocation() != nullptr) {
9974  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9975  }
9976  constraint_.int_mod_ = nullptr;
9977  return temp;
9978  } else {
9979  return nullptr;
9980  }
9981 }
9982 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_mod() const {
9983  return _internal_has_int_mod()
9984  ? *constraint_.int_mod_
9985  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9986 }
9987 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_mod() const {
9988  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
9989  return _internal_int_mod();
9990 }
9991 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_int_mod() {
9992  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
9993  if (_internal_has_int_mod()) {
9994  clear_has_constraint();
9995  ::operations_research::sat::LinearArgumentProto* temp = constraint_.int_mod_;
9996  constraint_.int_mod_ = nullptr;
9997  return temp;
9998  } else {
9999  return nullptr;
10000  }
10001 }
10003  clear_constraint();
10004  if (int_mod) {
10005  set_has_int_mod();
10006  constraint_.int_mod_ = int_mod;
10007  }
10008  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
10009 }
10010 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_int_mod() {
10011  if (!_internal_has_int_mod()) {
10012  clear_constraint();
10013  set_has_int_mod();
10014  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArenaForAllocation());
10015  }
10016  return constraint_.int_mod_;
10017 }
10018 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_int_mod() {
10019  ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_mod();
10020  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
10021  return _msg;
10022 }
10023 
10024 // .operations_research.sat.LinearArgumentProto int_prod = 11;
10025 inline bool ConstraintProto::_internal_has_int_prod() const {
10026  return constraint_case() == kIntProd;
10027 }
10028 inline bool ConstraintProto::has_int_prod() const {
10029  return _internal_has_int_prod();
10030 }
10031 inline void ConstraintProto::set_has_int_prod() {
10032  _oneof_case_[0] = kIntProd;
10033 }
10035  if (_internal_has_int_prod()) {
10036  if (GetArenaForAllocation() == nullptr) {
10037  delete constraint_.int_prod_;
10038  }
10039  clear_has_constraint();
10040  }
10041 }
10042 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_int_prod() {
10043  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
10044  if (_internal_has_int_prod()) {
10045  clear_has_constraint();
10046  ::operations_research::sat::LinearArgumentProto* temp = constraint_.int_prod_;
10047  if (GetArenaForAllocation() != nullptr) {
10048  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10049  }
10050  constraint_.int_prod_ = nullptr;
10051  return temp;
10052  } else {
10053  return nullptr;
10054  }
10055 }
10056 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_int_prod() const {
10057  return _internal_has_int_prod()
10058  ? *constraint_.int_prod_
10059  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
10060 }
10061 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::int_prod() const {
10062  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
10063  return _internal_int_prod();
10064 }
10065 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_int_prod() {
10066  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
10067  if (_internal_has_int_prod()) {
10068  clear_has_constraint();
10069  ::operations_research::sat::LinearArgumentProto* temp = constraint_.int_prod_;
10070  constraint_.int_prod_ = nullptr;
10071  return temp;
10072  } else {
10073  return nullptr;
10074  }
10075 }
10077  clear_constraint();
10078  if (int_prod) {
10079  set_has_int_prod();
10080  constraint_.int_prod_ = int_prod;
10081  }
10082  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
10083 }
10084 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_int_prod() {
10085  if (!_internal_has_int_prod()) {
10086  clear_constraint();
10087  set_has_int_prod();
10088  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArenaForAllocation());
10089  }
10090  return constraint_.int_prod_;
10091 }
10092 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_int_prod() {
10093  ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_int_prod();
10094  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
10095  return _msg;
10096 }
10097 
10098 // .operations_research.sat.LinearArgumentProto lin_max = 27;
10099 inline bool ConstraintProto::_internal_has_lin_max() const {
10100  return constraint_case() == kLinMax;
10101 }
10102 inline bool ConstraintProto::has_lin_max() const {
10103  return _internal_has_lin_max();
10104 }
10105 inline void ConstraintProto::set_has_lin_max() {
10106  _oneof_case_[0] = kLinMax;
10107 }
10109  if (_internal_has_lin_max()) {
10110  if (GetArenaForAllocation() == nullptr) {
10111  delete constraint_.lin_max_;
10112  }
10113  clear_has_constraint();
10114  }
10115 }
10116 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_max() {
10117  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
10118  if (_internal_has_lin_max()) {
10119  clear_has_constraint();
10120  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
10121  if (GetArenaForAllocation() != nullptr) {
10122  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10123  }
10124  constraint_.lin_max_ = nullptr;
10125  return temp;
10126  } else {
10127  return nullptr;
10128  }
10129 }
10130 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
10131  return _internal_has_lin_max()
10132  ? *constraint_.lin_max_
10133  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
10134 }
10135 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const {
10136  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
10137  return _internal_lin_max();
10138 }
10139 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_max() {
10140  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
10141  if (_internal_has_lin_max()) {
10142  clear_has_constraint();
10143  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
10144  constraint_.lin_max_ = nullptr;
10145  return temp;
10146  } else {
10147  return nullptr;
10148  }
10149 }
10151  clear_constraint();
10152  if (lin_max) {
10153  set_has_lin_max();
10154  constraint_.lin_max_ = lin_max;
10155  }
10156  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
10157 }
10158 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_max() {
10159  if (!_internal_has_lin_max()) {
10160  clear_constraint();
10161  set_has_lin_max();
10162  constraint_.lin_max_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArenaForAllocation());
10163  }
10164  return constraint_.lin_max_;
10165 }
10166 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_max() {
10167  ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_lin_max();
10168  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
10169  return _msg;
10170 }
10171 
10172 // .operations_research.sat.LinearConstraintProto linear = 12;
10173 inline bool ConstraintProto::_internal_has_linear() const {
10174  return constraint_case() == kLinear;
10175 }
10176 inline bool ConstraintProto::has_linear() const {
10177  return _internal_has_linear();
10178 }
10179 inline void ConstraintProto::set_has_linear() {
10180  _oneof_case_[0] = kLinear;
10181 }
10183  if (_internal_has_linear()) {
10184  if (GetArenaForAllocation() == nullptr) {
10185  delete constraint_.linear_;
10186  }
10187  clear_has_constraint();
10188  }
10189 }
10190 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
10191  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
10192  if (_internal_has_linear()) {
10193  clear_has_constraint();
10194  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
10195  if (GetArenaForAllocation() != nullptr) {
10196  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10197  }
10198  constraint_.linear_ = nullptr;
10199  return temp;
10200  } else {
10201  return nullptr;
10202  }
10203 }
10204 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
10205  return _internal_has_linear()
10206  ? *constraint_.linear_
10207  : reinterpret_cast< ::operations_research::sat::LinearConstraintProto&>(::operations_research::sat::_LinearConstraintProto_default_instance_);
10208 }
10209 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
10210  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
10211  return _internal_linear();
10212 }
10213 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::unsafe_arena_release_linear() {
10214  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
10215  if (_internal_has_linear()) {
10216  clear_has_constraint();
10217  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
10218  constraint_.linear_ = nullptr;
10219  return temp;
10220  } else {
10221  return nullptr;
10222  }
10223 }
10225  clear_constraint();
10226  if (linear) {
10227  set_has_linear();
10228  constraint_.linear_ = linear;
10229  }
10230  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
10231 }
10232 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::_internal_mutable_linear() {
10233  if (!_internal_has_linear()) {
10234  clear_constraint();
10235  set_has_linear();
10236  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(GetArenaForAllocation());
10237  }
10238  return constraint_.linear_;
10239 }
10240 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
10241  ::operations_research::sat::LinearConstraintProto* _msg = _internal_mutable_linear();
10242  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
10243  return _msg;
10244 }
10245 
10246 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
10247 inline bool ConstraintProto::_internal_has_all_diff() const {
10248  return constraint_case() == kAllDiff;
10249 }
10250 inline bool ConstraintProto::has_all_diff() const {
10251  return _internal_has_all_diff();
10252 }
10253 inline void ConstraintProto::set_has_all_diff() {
10254  _oneof_case_[0] = kAllDiff;
10255 }
10257  if (_internal_has_all_diff()) {
10258  if (GetArenaForAllocation() == nullptr) {
10259  delete constraint_.all_diff_;
10260  }
10261  clear_has_constraint();
10262  }
10263 }
10264 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
10265  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
10266  if (_internal_has_all_diff()) {
10267  clear_has_constraint();
10268  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
10269  if (GetArenaForAllocation() != nullptr) {
10270  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10271  }
10272  constraint_.all_diff_ = nullptr;
10273  return temp;
10274  } else {
10275  return nullptr;
10276  }
10277 }
10278 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
10279  return _internal_has_all_diff()
10280  ? *constraint_.all_diff_
10281  : reinterpret_cast< ::operations_research::sat::AllDifferentConstraintProto&>(::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
10282 }
10283 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
10284  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
10285  return _internal_all_diff();
10286 }
10287 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::unsafe_arena_release_all_diff() {
10288  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
10289  if (_internal_has_all_diff()) {
10290  clear_has_constraint();
10291  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
10292  constraint_.all_diff_ = nullptr;
10293  return temp;
10294  } else {
10295  return nullptr;
10296  }
10297 }
10299  clear_constraint();
10300  if (all_diff) {
10301  set_has_all_diff();
10302  constraint_.all_diff_ = all_diff;
10303  }
10304  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
10305 }
10306 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::_internal_mutable_all_diff() {
10307  if (!_internal_has_all_diff()) {
10308  clear_constraint();
10309  set_has_all_diff();
10310  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(GetArenaForAllocation());
10311  }
10312  return constraint_.all_diff_;
10313 }
10314 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
10315  ::operations_research::sat::AllDifferentConstraintProto* _msg = _internal_mutable_all_diff();
10316  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
10317  return _msg;
10318 }
10319 
10320 // .operations_research.sat.ElementConstraintProto element = 14;
10321 inline bool ConstraintProto::_internal_has_element() const {
10322  return constraint_case() == kElement;
10323 }
10324 inline bool ConstraintProto::has_element() const {
10325  return _internal_has_element();
10326 }
10327 inline void ConstraintProto::set_has_element() {
10328  _oneof_case_[0] = kElement;
10329 }
10331  if (_internal_has_element()) {
10332  if (GetArenaForAllocation() == nullptr) {
10333  delete constraint_.element_;
10334  }
10335  clear_has_constraint();
10336  }
10337 }
10338 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
10339  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
10340  if (_internal_has_element()) {
10341  clear_has_constraint();
10342  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
10343  if (GetArenaForAllocation() != nullptr) {
10344  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10345  }
10346  constraint_.element_ = nullptr;
10347  return temp;
10348  } else {
10349  return nullptr;
10350  }
10351 }
10352 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
10353  return _internal_has_element()
10354  ? *constraint_.element_
10355  : reinterpret_cast< ::operations_research::sat::ElementConstraintProto&>(::operations_research::sat::_ElementConstraintProto_default_instance_);
10356 }
10357 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
10358  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
10359  return _internal_element();
10360 }
10361 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::unsafe_arena_release_element() {
10362  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
10363  if (_internal_has_element()) {
10364  clear_has_constraint();
10365  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
10366  constraint_.element_ = nullptr;
10367  return temp;
10368  } else {
10369  return nullptr;
10370  }
10371 }
10373  clear_constraint();
10374  if (element) {
10375  set_has_element();
10376  constraint_.element_ = element;
10377  }
10378  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
10379 }
10380 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::_internal_mutable_element() {
10381  if (!_internal_has_element()) {
10382  clear_constraint();
10383  set_has_element();
10384  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(GetArenaForAllocation());
10385  }
10386  return constraint_.element_;
10387 }
10388 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
10389  ::operations_research::sat::ElementConstraintProto* _msg = _internal_mutable_element();
10390  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
10391  return _msg;
10392 }
10393 
10394 // .operations_research.sat.CircuitConstraintProto circuit = 15;
10395 inline bool ConstraintProto::_internal_has_circuit() const {
10396  return constraint_case() == kCircuit;
10397 }
10398 inline bool ConstraintProto::has_circuit() const {
10399  return _internal_has_circuit();
10400 }
10401 inline void ConstraintProto::set_has_circuit() {
10402  _oneof_case_[0] = kCircuit;
10403 }
10405  if (_internal_has_circuit()) {
10406  if (GetArenaForAllocation() == nullptr) {
10407  delete constraint_.circuit_;
10408  }
10409  clear_has_constraint();
10410  }
10411 }
10412 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
10413  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
10414  if (_internal_has_circuit()) {
10415  clear_has_constraint();
10416  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10417  if (GetArenaForAllocation() != nullptr) {
10418  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10419  }
10420  constraint_.circuit_ = nullptr;
10421  return temp;
10422  } else {
10423  return nullptr;
10424  }
10425 }
10426 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
10427  return _internal_has_circuit()
10428  ? *constraint_.circuit_
10429  : reinterpret_cast< ::operations_research::sat::CircuitConstraintProto&>(::operations_research::sat::_CircuitConstraintProto_default_instance_);
10430 }
10431 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
10432  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
10433  return _internal_circuit();
10434 }
10435 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::unsafe_arena_release_circuit() {
10436  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
10437  if (_internal_has_circuit()) {
10438  clear_has_constraint();
10439  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10440  constraint_.circuit_ = nullptr;
10441  return temp;
10442  } else {
10443  return nullptr;
10444  }
10445 }
10447  clear_constraint();
10448  if (circuit) {
10449  set_has_circuit();
10450  constraint_.circuit_ = circuit;
10451  }
10452  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
10453 }
10454 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::_internal_mutable_circuit() {
10455  if (!_internal_has_circuit()) {
10456  clear_constraint();
10457  set_has_circuit();
10458  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(GetArenaForAllocation());
10459  }
10460  return constraint_.circuit_;
10461 }
10462 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
10463  ::operations_research::sat::CircuitConstraintProto* _msg = _internal_mutable_circuit();
10464  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
10465  return _msg;
10466 }
10467 
10468 // .operations_research.sat.RoutesConstraintProto routes = 23;
10469 inline bool ConstraintProto::_internal_has_routes() const {
10470  return constraint_case() == kRoutes;
10471 }
10472 inline bool ConstraintProto::has_routes() const {
10473  return _internal_has_routes();
10474 }
10475 inline void ConstraintProto::set_has_routes() {
10476  _oneof_case_[0] = kRoutes;
10477 }
10479  if (_internal_has_routes()) {
10480  if (GetArenaForAllocation() == nullptr) {
10481  delete constraint_.routes_;
10482  }
10483  clear_has_constraint();
10484  }
10485 }
10486 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
10487  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
10488  if (_internal_has_routes()) {
10489  clear_has_constraint();
10490  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10491  if (GetArenaForAllocation() != nullptr) {
10492  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10493  }
10494  constraint_.routes_ = nullptr;
10495  return temp;
10496  } else {
10497  return nullptr;
10498  }
10499 }
10500 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
10501  return _internal_has_routes()
10502  ? *constraint_.routes_
10503  : reinterpret_cast< ::operations_research::sat::RoutesConstraintProto&>(::operations_research::sat::_RoutesConstraintProto_default_instance_);
10504 }
10505 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
10506  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
10507  return _internal_routes();
10508 }
10509 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::unsafe_arena_release_routes() {
10510  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
10511  if (_internal_has_routes()) {
10512  clear_has_constraint();
10513  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10514  constraint_.routes_ = nullptr;
10515  return temp;
10516  } else {
10517  return nullptr;
10518  }
10519 }
10521  clear_constraint();
10522  if (routes) {
10523  set_has_routes();
10524  constraint_.routes_ = routes;
10525  }
10526  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
10527 }
10528 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::_internal_mutable_routes() {
10529  if (!_internal_has_routes()) {
10530  clear_constraint();
10531  set_has_routes();
10532  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(GetArenaForAllocation());
10533  }
10534  return constraint_.routes_;
10535 }
10536 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
10537  ::operations_research::sat::RoutesConstraintProto* _msg = _internal_mutable_routes();
10538  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
10539  return _msg;
10540 }
10541 
10542 // .operations_research.sat.TableConstraintProto table = 16;
10543 inline bool ConstraintProto::_internal_has_table() const {
10544  return constraint_case() == kTable;
10545 }
10546 inline bool ConstraintProto::has_table() const {
10547  return _internal_has_table();
10548 }
10549 inline void ConstraintProto::set_has_table() {
10550  _oneof_case_[0] = kTable;
10551 }
10553  if (_internal_has_table()) {
10554  if (GetArenaForAllocation() == nullptr) {
10555  delete constraint_.table_;
10556  }
10557  clear_has_constraint();
10558  }
10559 }
10560 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
10561  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
10562  if (_internal_has_table()) {
10563  clear_has_constraint();
10564  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10565  if (GetArenaForAllocation() != nullptr) {
10566  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10567  }
10568  constraint_.table_ = nullptr;
10569  return temp;
10570  } else {
10571  return nullptr;
10572  }
10573 }
10574 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
10575  return _internal_has_table()
10576  ? *constraint_.table_
10577  : reinterpret_cast< ::operations_research::sat::TableConstraintProto&>(::operations_research::sat::_TableConstraintProto_default_instance_);
10578 }
10579 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
10580  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
10581  return _internal_table();
10582 }
10583 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::unsafe_arena_release_table() {
10584  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
10585  if (_internal_has_table()) {
10586  clear_has_constraint();
10587  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10588  constraint_.table_ = nullptr;
10589  return temp;
10590  } else {
10591  return nullptr;
10592  }
10593 }
10595  clear_constraint();
10596  if (table) {
10597  set_has_table();
10598  constraint_.table_ = table;
10599  }
10600  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
10601 }
10602 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::_internal_mutable_table() {
10603  if (!_internal_has_table()) {
10604  clear_constraint();
10605  set_has_table();
10606  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(GetArenaForAllocation());
10607  }
10608  return constraint_.table_;
10609 }
10610 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
10611  ::operations_research::sat::TableConstraintProto* _msg = _internal_mutable_table();
10612  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
10613  return _msg;
10614 }
10615 
10616 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
10617 inline bool ConstraintProto::_internal_has_automaton() const {
10618  return constraint_case() == kAutomaton;
10619 }
10620 inline bool ConstraintProto::has_automaton() const {
10621  return _internal_has_automaton();
10622 }
10623 inline void ConstraintProto::set_has_automaton() {
10624  _oneof_case_[0] = kAutomaton;
10625 }
10627  if (_internal_has_automaton()) {
10628  if (GetArenaForAllocation() == nullptr) {
10629  delete constraint_.automaton_;
10630  }
10631  clear_has_constraint();
10632  }
10633 }
10634 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
10635  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
10636  if (_internal_has_automaton()) {
10637  clear_has_constraint();
10638  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10639  if (GetArenaForAllocation() != nullptr) {
10640  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10641  }
10642  constraint_.automaton_ = nullptr;
10643  return temp;
10644  } else {
10645  return nullptr;
10646  }
10647 }
10648 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
10649  return _internal_has_automaton()
10650  ? *constraint_.automaton_
10651  : reinterpret_cast< ::operations_research::sat::AutomatonConstraintProto&>(::operations_research::sat::_AutomatonConstraintProto_default_instance_);
10652 }
10653 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
10654  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
10655  return _internal_automaton();
10656 }
10657 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::unsafe_arena_release_automaton() {
10658  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
10659  if (_internal_has_automaton()) {
10660  clear_has_constraint();
10661  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10662  constraint_.automaton_ = nullptr;
10663  return temp;
10664  } else {
10665  return nullptr;
10666  }
10667 }
10669  clear_constraint();
10670  if (automaton) {
10671  set_has_automaton();
10672  constraint_.automaton_ = automaton;
10673  }
10674  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
10675 }
10676 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::_internal_mutable_automaton() {
10677  if (!_internal_has_automaton()) {
10678  clear_constraint();
10679  set_has_automaton();
10680  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(GetArenaForAllocation());
10681  }
10682  return constraint_.automaton_;
10683 }
10684 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
10685  ::operations_research::sat::AutomatonConstraintProto* _msg = _internal_mutable_automaton();
10686  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
10687  return _msg;
10688 }
10689 
10690 // .operations_research.sat.InverseConstraintProto inverse = 18;
10691 inline bool ConstraintProto::_internal_has_inverse() const {
10692  return constraint_case() == kInverse;
10693 }
10694 inline bool ConstraintProto::has_inverse() const {
10695  return _internal_has_inverse();
10696 }
10697 inline void ConstraintProto::set_has_inverse() {
10698  _oneof_case_[0] = kInverse;
10699 }
10701  if (_internal_has_inverse()) {
10702  if (GetArenaForAllocation() == nullptr) {
10703  delete constraint_.inverse_;
10704  }
10705  clear_has_constraint();
10706  }
10707 }
10708 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
10709  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
10710  if (_internal_has_inverse()) {
10711  clear_has_constraint();
10712  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10713  if (GetArenaForAllocation() != nullptr) {
10714  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10715  }
10716  constraint_.inverse_ = nullptr;
10717  return temp;
10718  } else {
10719  return nullptr;
10720  }
10721 }
10722 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
10723  return _internal_has_inverse()
10724  ? *constraint_.inverse_
10725  : reinterpret_cast< ::operations_research::sat::InverseConstraintProto&>(::operations_research::sat::_InverseConstraintProto_default_instance_);
10726 }
10727 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
10728  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
10729  return _internal_inverse();
10730 }
10731 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::unsafe_arena_release_inverse() {
10732  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
10733  if (_internal_has_inverse()) {
10734  clear_has_constraint();
10735  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10736  constraint_.inverse_ = nullptr;
10737  return temp;
10738  } else {
10739  return nullptr;
10740  }
10741 }
10743  clear_constraint();
10744  if (inverse) {
10745  set_has_inverse();
10746  constraint_.inverse_ = inverse;
10747  }
10748  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
10749 }
10750 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::_internal_mutable_inverse() {
10751  if (!_internal_has_inverse()) {
10752  clear_constraint();
10753  set_has_inverse();
10754  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(GetArenaForAllocation());
10755  }
10756  return constraint_.inverse_;
10757 }
10758 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
10759  ::operations_research::sat::InverseConstraintProto* _msg = _internal_mutable_inverse();
10760  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
10761  return _msg;
10762 }
10763 
10764 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
10765 inline bool ConstraintProto::_internal_has_reservoir() const {
10766  return constraint_case() == kReservoir;
10767 }
10768 inline bool ConstraintProto::has_reservoir() const {
10769  return _internal_has_reservoir();
10770 }
10771 inline void ConstraintProto::set_has_reservoir() {
10772  _oneof_case_[0] = kReservoir;
10773 }
10775  if (_internal_has_reservoir()) {
10776  if (GetArenaForAllocation() == nullptr) {
10777  delete constraint_.reservoir_;
10778  }
10779  clear_has_constraint();
10780  }
10781 }
10782 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
10783  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
10784  if (_internal_has_reservoir()) {
10785  clear_has_constraint();
10786  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10787  if (GetArenaForAllocation() != nullptr) {
10788  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10789  }
10790  constraint_.reservoir_ = nullptr;
10791  return temp;
10792  } else {
10793  return nullptr;
10794  }
10795 }
10796 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
10797  return _internal_has_reservoir()
10798  ? *constraint_.reservoir_
10799  : reinterpret_cast< ::operations_research::sat::ReservoirConstraintProto&>(::operations_research::sat::_ReservoirConstraintProto_default_instance_);
10800 }
10801 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
10802  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
10803  return _internal_reservoir();
10804 }
10805 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::unsafe_arena_release_reservoir() {
10806  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
10807  if (_internal_has_reservoir()) {
10808  clear_has_constraint();
10809  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10810  constraint_.reservoir_ = nullptr;
10811  return temp;
10812  } else {
10813  return nullptr;
10814  }
10815 }
10817  clear_constraint();
10818  if (reservoir) {
10819  set_has_reservoir();
10820  constraint_.reservoir_ = reservoir;
10821  }
10822  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
10823 }
10824 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::_internal_mutable_reservoir() {
10825  if (!_internal_has_reservoir()) {
10826  clear_constraint();
10827  set_has_reservoir();
10828  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(GetArenaForAllocation());
10829  }
10830  return constraint_.reservoir_;
10831 }
10832 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
10833  ::operations_research::sat::ReservoirConstraintProto* _msg = _internal_mutable_reservoir();
10834  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
10835  return _msg;
10836 }
10837 
10838 // .operations_research.sat.IntervalConstraintProto interval = 19;
10839 inline bool ConstraintProto::_internal_has_interval() const {
10840  return constraint_case() == kInterval;
10841 }
10842 inline bool ConstraintProto::has_interval() const {
10843  return _internal_has_interval();
10844 }
10845 inline void ConstraintProto::set_has_interval() {
10846  _oneof_case_[0] = kInterval;
10847 }
10849  if (_internal_has_interval()) {
10850  if (GetArenaForAllocation() == nullptr) {
10851  delete constraint_.interval_;
10852  }
10853  clear_has_constraint();
10854  }
10855 }
10856 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
10857  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
10858  if (_internal_has_interval()) {
10859  clear_has_constraint();
10860  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10861  if (GetArenaForAllocation() != nullptr) {
10862  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10863  }
10864  constraint_.interval_ = nullptr;
10865  return temp;
10866  } else {
10867  return nullptr;
10868  }
10869 }
10870 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
10871  return _internal_has_interval()
10872  ? *constraint_.interval_
10873  : reinterpret_cast< ::operations_research::sat::IntervalConstraintProto&>(::operations_research::sat::_IntervalConstraintProto_default_instance_);
10874 }
10875 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
10876  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
10877  return _internal_interval();
10878 }
10879 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::unsafe_arena_release_interval() {
10880  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
10881  if (_internal_has_interval()) {
10882  clear_has_constraint();
10883  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10884  constraint_.interval_ = nullptr;
10885  return temp;
10886  } else {
10887  return nullptr;
10888  }
10889 }
10891  clear_constraint();
10892  if (interval) {
10893  set_has_interval();
10894  constraint_.interval_ = interval;
10895  }
10896  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
10897 }
10898 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::_internal_mutable_interval() {
10899  if (!_internal_has_interval()) {
10900  clear_constraint();
10901  set_has_interval();
10902  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(GetArenaForAllocation());
10903  }
10904  return constraint_.interval_;
10905 }
10906 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
10907  ::operations_research::sat::IntervalConstraintProto* _msg = _internal_mutable_interval();
10908  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
10909  return _msg;
10910 }
10911 
10912 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
10913 inline bool ConstraintProto::_internal_has_no_overlap() const {
10914  return constraint_case() == kNoOverlap;
10915 }
10916 inline bool ConstraintProto::has_no_overlap() const {
10917  return _internal_has_no_overlap();
10918 }
10919 inline void ConstraintProto::set_has_no_overlap() {
10920  _oneof_case_[0] = kNoOverlap;
10921 }
10923  if (_internal_has_no_overlap()) {
10924  if (GetArenaForAllocation() == nullptr) {
10925  delete constraint_.no_overlap_;
10926  }
10927  clear_has_constraint();
10928  }
10929 }
10930 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
10931  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
10932  if (_internal_has_no_overlap()) {
10933  clear_has_constraint();
10934  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10935  if (GetArenaForAllocation() != nullptr) {
10936  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10937  }
10938  constraint_.no_overlap_ = nullptr;
10939  return temp;
10940  } else {
10941  return nullptr;
10942  }
10943 }
10944 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
10945  return _internal_has_no_overlap()
10946  ? *constraint_.no_overlap_
10947  : reinterpret_cast< ::operations_research::sat::NoOverlapConstraintProto&>(::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
10948 }
10949 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
10950  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
10951  return _internal_no_overlap();
10952 }
10953 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap() {
10954  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
10955  if (_internal_has_no_overlap()) {
10956  clear_has_constraint();
10957  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10958  constraint_.no_overlap_ = nullptr;
10959  return temp;
10960  } else {
10961  return nullptr;
10962  }
10963 }
10965  clear_constraint();
10966  if (no_overlap) {
10967  set_has_no_overlap();
10968  constraint_.no_overlap_ = no_overlap;
10969  }
10970  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
10971 }
10972 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::_internal_mutable_no_overlap() {
10973  if (!_internal_has_no_overlap()) {
10974  clear_constraint();
10975  set_has_no_overlap();
10976  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(GetArenaForAllocation());
10977  }
10978  return constraint_.no_overlap_;
10979 }
10980 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
10981  ::operations_research::sat::NoOverlapConstraintProto* _msg = _internal_mutable_no_overlap();
10982  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
10983  return _msg;
10984 }
10985 
10986 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
10987 inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
10988  return constraint_case() == kNoOverlap2D;
10989 }
10991  return _internal_has_no_overlap_2d();
10992 }
10993 inline void ConstraintProto::set_has_no_overlap_2d() {
10994  _oneof_case_[0] = kNoOverlap2D;
10995 }
10997  if (_internal_has_no_overlap_2d()) {
10998  if (GetArenaForAllocation() == nullptr) {
10999  delete constraint_.no_overlap_2d_;
11000  }
11001  clear_has_constraint();
11002  }
11003 }
11004 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
11005  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
11006  if (_internal_has_no_overlap_2d()) {
11007  clear_has_constraint();
11008  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
11009  if (GetArenaForAllocation() != nullptr) {
11010  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11011  }
11012  constraint_.no_overlap_2d_ = nullptr;
11013  return temp;
11014  } else {
11015  return nullptr;
11016  }
11017 }
11018 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
11019  return _internal_has_no_overlap_2d()
11020  ? *constraint_.no_overlap_2d_
11021  : reinterpret_cast< ::operations_research::sat::NoOverlap2DConstraintProto&>(::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
11022 }
11023 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
11024  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
11025  return _internal_no_overlap_2d();
11026 }
11027 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap_2d() {
11028  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
11029  if (_internal_has_no_overlap_2d()) {
11030  clear_has_constraint();
11031  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
11032  constraint_.no_overlap_2d_ = nullptr;
11033  return temp;
11034  } else {
11035  return nullptr;
11036  }
11037 }
11039  clear_constraint();
11040  if (no_overlap_2d) {
11041  set_has_no_overlap_2d();
11042  constraint_.no_overlap_2d_ = no_overlap_2d;
11043  }
11044  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
11045 }
11046 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::_internal_mutable_no_overlap_2d() {
11047  if (!_internal_has_no_overlap_2d()) {
11048  clear_constraint();
11049  set_has_no_overlap_2d();
11050  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(GetArenaForAllocation());
11051  }
11052  return constraint_.no_overlap_2d_;
11053 }
11054 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
11055  ::operations_research::sat::NoOverlap2DConstraintProto* _msg = _internal_mutable_no_overlap_2d();
11056  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
11057  return _msg;
11058 }
11059 
11060 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
11061 inline bool ConstraintProto::_internal_has_cumulative() const {
11062  return constraint_case() == kCumulative;
11063 }
11064 inline bool ConstraintProto::has_cumulative() const {
11065  return _internal_has_cumulative();
11066 }
11067 inline void ConstraintProto::set_has_cumulative() {
11068  _oneof_case_[0] = kCumulative;
11069 }
11071  if (_internal_has_cumulative()) {
11072  if (GetArenaForAllocation() == nullptr) {
11073  delete constraint_.cumulative_;
11074  }
11075  clear_has_constraint();
11076  }
11077 }
11078 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
11079  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
11080  if (_internal_has_cumulative()) {
11081  clear_has_constraint();
11082  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
11083  if (GetArenaForAllocation() != nullptr) {
11084  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11085  }
11086  constraint_.cumulative_ = nullptr;
11087  return temp;
11088  } else {
11089  return nullptr;
11090  }
11091 }
11092 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
11093  return _internal_has_cumulative()
11094  ? *constraint_.cumulative_
11095  : reinterpret_cast< ::operations_research::sat::CumulativeConstraintProto&>(::operations_research::sat::_CumulativeConstraintProto_default_instance_);
11096 }
11097 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
11098  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
11099  return _internal_cumulative();
11100 }
11101 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::unsafe_arena_release_cumulative() {
11102  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
11103  if (_internal_has_cumulative()) {
11104  clear_has_constraint();
11105  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
11106  constraint_.cumulative_ = nullptr;
11107  return temp;
11108  } else {
11109  return nullptr;
11110  }
11111 }
11113  clear_constraint();
11114  if (cumulative) {
11115  set_has_cumulative();
11116  constraint_.cumulative_ = cumulative;
11117  }
11118  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
11119 }
11120 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::_internal_mutable_cumulative() {
11121  if (!_internal_has_cumulative()) {
11122  clear_constraint();
11123  set_has_cumulative();
11124  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(GetArenaForAllocation());
11125  }
11126  return constraint_.cumulative_;
11127 }
11128 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
11129  ::operations_research::sat::CumulativeConstraintProto* _msg = _internal_mutable_cumulative();
11130  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
11131  return _msg;
11132 }
11133 
11134 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
11135 inline bool ConstraintProto::_internal_has_dummy_constraint() const {
11136  return constraint_case() == kDummyConstraint;
11137 }
11139  return _internal_has_dummy_constraint();
11140 }
11141 inline void ConstraintProto::set_has_dummy_constraint() {
11142  _oneof_case_[0] = kDummyConstraint;
11143 }
11145  if (_internal_has_dummy_constraint()) {
11146  if (GetArenaForAllocation() == nullptr) {
11147  delete constraint_.dummy_constraint_;
11148  }
11149  clear_has_constraint();
11150  }
11151 }
11152 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::release_dummy_constraint() {
11153  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.dummy_constraint)
11154  if (_internal_has_dummy_constraint()) {
11155  clear_has_constraint();
11156  ::operations_research::sat::ListOfVariablesProto* temp = constraint_.dummy_constraint_;
11157  if (GetArenaForAllocation() != nullptr) {
11158  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11159  }
11160  constraint_.dummy_constraint_ = nullptr;
11161  return temp;
11162  } else {
11163  return nullptr;
11164  }
11165 }
11166 inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::_internal_dummy_constraint() const {
11167  return _internal_has_dummy_constraint()
11168  ? *constraint_.dummy_constraint_
11169  : reinterpret_cast< ::operations_research::sat::ListOfVariablesProto&>(::operations_research::sat::_ListOfVariablesProto_default_instance_);
11170 }
11171 inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::dummy_constraint() const {
11172  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.dummy_constraint)
11173  return _internal_dummy_constraint();
11174 }
11175 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::unsafe_arena_release_dummy_constraint() {
11176  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.dummy_constraint)
11177  if (_internal_has_dummy_constraint()) {
11178  clear_has_constraint();
11179  ::operations_research::sat::ListOfVariablesProto* temp = constraint_.dummy_constraint_;
11180  constraint_.dummy_constraint_ = nullptr;
11181  return temp;
11182  } else {
11183  return nullptr;
11184  }
11185 }
11187  clear_constraint();
11188  if (dummy_constraint) {
11189  set_has_dummy_constraint();
11190  constraint_.dummy_constraint_ = dummy_constraint;
11191  }
11192  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.dummy_constraint)
11193 }
11194 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::_internal_mutable_dummy_constraint() {
11195  if (!_internal_has_dummy_constraint()) {
11196  clear_constraint();
11197  set_has_dummy_constraint();
11198  constraint_.dummy_constraint_ = CreateMaybeMessage< ::operations_research::sat::ListOfVariablesProto >(GetArenaForAllocation());
11199  }
11200  return constraint_.dummy_constraint_;
11201 }
11202 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::mutable_dummy_constraint() {
11203  ::operations_research::sat::ListOfVariablesProto* _msg = _internal_mutable_dummy_constraint();
11204  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.dummy_constraint)
11205  return _msg;
11206 }
11207 
11208 inline bool ConstraintProto::has_constraint() const {
11209  return constraint_case() != CONSTRAINT_NOT_SET;
11210 }
11211 inline void ConstraintProto::clear_has_constraint() {
11212  _oneof_case_[0] = CONSTRAINT_NOT_SET;
11213 }
11215  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
11216 }
11217 // -------------------------------------------------------------------
11218 
11219 // CpObjectiveProto
11220 
11221 // repeated int32 vars = 1;
11222 inline int CpObjectiveProto::_internal_vars_size() const {
11223  return vars_.size();
11224 }
11225 inline int CpObjectiveProto::vars_size() const {
11226  return _internal_vars_size();
11227 }
11229  vars_.Clear();
11230 }
11231 inline int32_t CpObjectiveProto::_internal_vars(int index) const {
11232  return vars_.Get(index);
11233 }
11234 inline int32_t CpObjectiveProto::vars(int index) const {
11235  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
11236  return _internal_vars(index);
11237 }
11238 inline void CpObjectiveProto::set_vars(int index, int32_t value) {
11239  vars_.Set(index, value);
11240  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
11241 }
11242 inline void CpObjectiveProto::_internal_add_vars(int32_t value) {
11243  vars_.Add(value);
11244 }
11245 inline void CpObjectiveProto::add_vars(int32_t value) {
11246  _internal_add_vars(value);
11247  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
11248 }
11249 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11250 CpObjectiveProto::_internal_vars() const {
11251  return vars_;
11252 }
11253 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11255  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
11256  return _internal_vars();
11257 }
11258 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11259 CpObjectiveProto::_internal_mutable_vars() {
11260  return &vars_;
11261 }
11262 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11264  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
11265  return _internal_mutable_vars();
11266 }
11267 
11268 // repeated int64 coeffs = 4;
11269 inline int CpObjectiveProto::_internal_coeffs_size() const {
11270  return coeffs_.size();
11271 }
11272 inline int CpObjectiveProto::coeffs_size() const {
11273  return _internal_coeffs_size();
11274 }
11276  coeffs_.Clear();
11277 }
11278 inline int64_t CpObjectiveProto::_internal_coeffs(int index) const {
11279  return coeffs_.Get(index);
11280 }
11281 inline int64_t CpObjectiveProto::coeffs(int index) const {
11282  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
11283  return _internal_coeffs(index);
11284 }
11285 inline void CpObjectiveProto::set_coeffs(int index, int64_t value) {
11286  coeffs_.Set(index, value);
11287  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
11288 }
11289 inline void CpObjectiveProto::_internal_add_coeffs(int64_t value) {
11290  coeffs_.Add(value);
11291 }
11292 inline void CpObjectiveProto::add_coeffs(int64_t value) {
11293  _internal_add_coeffs(value);
11294  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
11295 }
11296 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
11297 CpObjectiveProto::_internal_coeffs() const {
11298  return coeffs_;
11299 }
11300 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
11302  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
11303  return _internal_coeffs();
11304 }
11305 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
11306 CpObjectiveProto::_internal_mutable_coeffs() {
11307  return &coeffs_;
11308 }
11309 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
11311  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
11312  return _internal_mutable_coeffs();
11313 }
11314 
11315 // double offset = 2;
11317  offset_ = 0;
11318 }
11319 inline double CpObjectiveProto::_internal_offset() const {
11320  return offset_;
11321 }
11322 inline double CpObjectiveProto::offset() const {
11323  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
11324  return _internal_offset();
11325 }
11326 inline void CpObjectiveProto::_internal_set_offset(double value) {
11327 
11328  offset_ = value;
11329 }
11331  _internal_set_offset(value);
11332  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
11333 }
11334 
11335 // double scaling_factor = 3;
11337  scaling_factor_ = 0;
11338 }
11339 inline double CpObjectiveProto::_internal_scaling_factor() const {
11340  return scaling_factor_;
11341 }
11342 inline double CpObjectiveProto::scaling_factor() const {
11343  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
11344  return _internal_scaling_factor();
11345 }
11346 inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
11347 
11348  scaling_factor_ = value;
11349 }
11351  _internal_set_scaling_factor(value);
11352  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
11353 }
11354 
11355 // repeated int64 domain = 5;
11356 inline int CpObjectiveProto::_internal_domain_size() const {
11357  return domain_.size();
11358 }
11359 inline int CpObjectiveProto::domain_size() const {
11360  return _internal_domain_size();
11361 }
11363  domain_.Clear();
11364 }
11365 inline int64_t CpObjectiveProto::_internal_domain(int index) const {
11366  return domain_.Get(index);
11367 }
11368 inline int64_t CpObjectiveProto::domain(int index) const {
11369  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
11370  return _internal_domain(index);
11371 }
11372 inline void CpObjectiveProto::set_domain(int index, int64_t value) {
11373  domain_.Set(index, value);
11374  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
11375 }
11376 inline void CpObjectiveProto::_internal_add_domain(int64_t value) {
11377  domain_.Add(value);
11378 }
11379 inline void CpObjectiveProto::add_domain(int64_t value) {
11380  _internal_add_domain(value);
11381  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
11382 }
11383 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
11384 CpObjectiveProto::_internal_domain() const {
11385  return domain_;
11386 }
11387 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
11389  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
11390  return _internal_domain();
11391 }
11392 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
11393 CpObjectiveProto::_internal_mutable_domain() {
11394  return &domain_;
11395 }
11396 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
11398  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
11399  return _internal_mutable_domain();
11400 }
11401 
11402 // bool scaling_was_exact = 6;
11404  scaling_was_exact_ = false;
11405 }
11406 inline bool CpObjectiveProto::_internal_scaling_was_exact() const {
11407  return scaling_was_exact_;
11408 }
11410  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_was_exact)
11411  return _internal_scaling_was_exact();
11412 }
11413 inline void CpObjectiveProto::_internal_set_scaling_was_exact(bool value) {
11414 
11415  scaling_was_exact_ = value;
11416 }
11418  _internal_set_scaling_was_exact(value);
11419  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_was_exact)
11420 }
11421 
11422 // int64 integer_offset = 7;
11424  integer_offset_ = int64_t{0};
11425 }
11426 inline int64_t CpObjectiveProto::_internal_integer_offset() const {
11427  return integer_offset_;
11428 }
11429 inline int64_t CpObjectiveProto::integer_offset() const {
11430  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_offset)
11431  return _internal_integer_offset();
11432 }
11433 inline void CpObjectiveProto::_internal_set_integer_offset(int64_t value) {
11434 
11435  integer_offset_ = value;
11436 }
11438  _internal_set_integer_offset(value);
11439  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_offset)
11440 }
11441 
11442 // int64 integer_scaling_factor = 8;
11444  integer_scaling_factor_ = int64_t{0};
11445 }
11446 inline int64_t CpObjectiveProto::_internal_integer_scaling_factor() const {
11447  return integer_scaling_factor_;
11448 }
11450  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.integer_scaling_factor)
11451  return _internal_integer_scaling_factor();
11452 }
11453 inline void CpObjectiveProto::_internal_set_integer_scaling_factor(int64_t value) {
11454 
11455  integer_scaling_factor_ = value;
11456 }
11458  _internal_set_integer_scaling_factor(value);
11459  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.integer_scaling_factor)
11460 }
11461 
11462 // -------------------------------------------------------------------
11463 
11464 // FloatObjectiveProto
11465 
11466 // repeated int32 vars = 1;
11467 inline int FloatObjectiveProto::_internal_vars_size() const {
11468  return vars_.size();
11469 }
11471  return _internal_vars_size();
11472 }
11474  vars_.Clear();
11475 }
11476 inline int32_t FloatObjectiveProto::_internal_vars(int index) const {
11477  return vars_.Get(index);
11478 }
11479 inline int32_t FloatObjectiveProto::vars(int index) const {
11480  // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.vars)
11481  return _internal_vars(index);
11482 }
11483 inline void FloatObjectiveProto::set_vars(int index, int32_t value) {
11484  vars_.Set(index, value);
11485  // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.vars)
11486 }
11487 inline void FloatObjectiveProto::_internal_add_vars(int32_t value) {
11488  vars_.Add(value);
11489 }
11490 inline void FloatObjectiveProto::add_vars(int32_t value) {
11491  _internal_add_vars(value);
11492  // @@protoc_insertion_point(field_add:operations_research.sat.FloatObjectiveProto.vars)
11493 }
11494 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11495 FloatObjectiveProto::_internal_vars() const {
11496  return vars_;
11497 }
11498 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11500  // @@protoc_insertion_point(field_list:operations_research.sat.FloatObjectiveProto.vars)
11501  return _internal_vars();
11502 }
11503 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11504 FloatObjectiveProto::_internal_mutable_vars() {
11505  return &vars_;
11506 }
11507 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11509  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.FloatObjectiveProto.vars)
11510  return _internal_mutable_vars();
11511 }
11512 
11513 // repeated double coeffs = 2;
11514 inline int FloatObjectiveProto::_internal_coeffs_size() const {
11515  return coeffs_.size();
11516 }
11518  return _internal_coeffs_size();
11519 }
11521  coeffs_.Clear();
11522 }
11523 inline double FloatObjectiveProto::_internal_coeffs(int index) const {
11524  return coeffs_.Get(index);
11525 }
11526 inline double FloatObjectiveProto::coeffs(int index) const {
11527  // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.coeffs)
11528  return _internal_coeffs(index);
11529 }
11530 inline void FloatObjectiveProto::set_coeffs(int index, double value) {
11531  coeffs_.Set(index, value);
11532  // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.coeffs)
11533 }
11534 inline void FloatObjectiveProto::_internal_add_coeffs(double value) {
11535  coeffs_.Add(value);
11536 }
11538  _internal_add_coeffs(value);
11539  // @@protoc_insertion_point(field_add:operations_research.sat.FloatObjectiveProto.coeffs)
11540 }
11541 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
11542 FloatObjectiveProto::_internal_coeffs() const {
11543  return coeffs_;
11544 }
11545 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
11547  // @@protoc_insertion_point(field_list:operations_research.sat.FloatObjectiveProto.coeffs)
11548  return _internal_coeffs();
11549 }
11550 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
11551 FloatObjectiveProto::_internal_mutable_coeffs() {
11552  return &coeffs_;
11553 }
11554 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
11556  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.FloatObjectiveProto.coeffs)
11557  return _internal_mutable_coeffs();
11558 }
11559 
11560 // double offset = 3;
11562  offset_ = 0;
11563 }
11564 inline double FloatObjectiveProto::_internal_offset() const {
11565  return offset_;
11566 }
11567 inline double FloatObjectiveProto::offset() const {
11568  // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.offset)
11569  return _internal_offset();
11570 }
11571 inline void FloatObjectiveProto::_internal_set_offset(double value) {
11572 
11573  offset_ = value;
11574 }
11576  _internal_set_offset(value);
11577  // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.offset)
11578 }
11579 
11580 // bool maximize = 4;
11582  maximize_ = false;
11583 }
11584 inline bool FloatObjectiveProto::_internal_maximize() const {
11585  return maximize_;
11586 }
11587 inline bool FloatObjectiveProto::maximize() const {
11588  // @@protoc_insertion_point(field_get:operations_research.sat.FloatObjectiveProto.maximize)
11589  return _internal_maximize();
11590 }
11591 inline void FloatObjectiveProto::_internal_set_maximize(bool value) {
11592 
11593  maximize_ = value;
11594 }
11596  _internal_set_maximize(value);
11597  // @@protoc_insertion_point(field_set:operations_research.sat.FloatObjectiveProto.maximize)
11598 }
11599 
11600 // -------------------------------------------------------------------
11601 
11602 // DecisionStrategyProto_AffineTransformation
11603 
11604 // int32 index = 1;
11606  index_ = 0;
11607 }
11608 inline int32_t DecisionStrategyProto_AffineTransformation::_internal_index() const {
11609  return index_;
11610 }
11612  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.index)
11613  return _internal_index();
11614 }
11615 inline void DecisionStrategyProto_AffineTransformation::_internal_set_index(int32_t value) {
11616 
11617  index_ = value;
11618 }
11620  _internal_set_index(value);
11621  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.index)
11622 }
11623 
11624 // int64 offset = 2;
11626  offset_ = int64_t{0};
11627 }
11628 inline int64_t DecisionStrategyProto_AffineTransformation::_internal_offset() const {
11629  return offset_;
11630 }
11632  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
11633  return _internal_offset();
11634 }
11635 inline void DecisionStrategyProto_AffineTransformation::_internal_set_offset(int64_t value) {
11636 
11637  offset_ = value;
11638 }
11640  _internal_set_offset(value);
11641  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
11642 }
11643 
11644 // int64 positive_coeff = 3;
11646  positive_coeff_ = int64_t{0};
11647 }
11648 inline int64_t DecisionStrategyProto_AffineTransformation::_internal_positive_coeff() const {
11649  return positive_coeff_;
11650 }
11652  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11653  return _internal_positive_coeff();
11654 }
11655 inline void DecisionStrategyProto_AffineTransformation::_internal_set_positive_coeff(int64_t value) {
11656 
11657  positive_coeff_ = value;
11658 }
11660  _internal_set_positive_coeff(value);
11661  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11662 }
11663 
11664 // -------------------------------------------------------------------
11665 
11666 // DecisionStrategyProto
11667 
11668 // repeated int32 variables = 1;
11669 inline int DecisionStrategyProto::_internal_variables_size() const {
11670  return variables_.size();
11671 }
11673  return _internal_variables_size();
11674 }
11676  variables_.Clear();
11677 }
11678 inline int32_t DecisionStrategyProto::_internal_variables(int index) const {
11679  return variables_.Get(index);
11680 }
11681 inline int32_t DecisionStrategyProto::variables(int index) const {
11682  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
11683  return _internal_variables(index);
11684 }
11686  variables_.Set(index, value);
11687  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
11688 }
11689 inline void DecisionStrategyProto::_internal_add_variables(int32_t value) {
11690  variables_.Add(value);
11691 }
11693  _internal_add_variables(value);
11694  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
11695 }
11696 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11697 DecisionStrategyProto::_internal_variables() const {
11698  return variables_;
11699 }
11700 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11702  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
11703  return _internal_variables();
11704 }
11705 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11706 DecisionStrategyProto::_internal_mutable_variables() {
11707  return &variables_;
11708 }
11709 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11711  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
11712  return _internal_mutable_variables();
11713 }
11714 
11715 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
11717  variable_selection_strategy_ = 0;
11718 }
11719 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
11720  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
11721 }
11723  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11724  return _internal_variable_selection_strategy();
11725 }
11726 inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
11727 
11728  variable_selection_strategy_ = value;
11729 }
11731  _internal_set_variable_selection_strategy(value);
11732  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11733 }
11734 
11735 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
11737  domain_reduction_strategy_ = 0;
11738 }
11739 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
11740  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
11741 }
11743  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11744  return _internal_domain_reduction_strategy();
11745 }
11746 inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
11747 
11748  domain_reduction_strategy_ = value;
11749 }
11751  _internal_set_domain_reduction_strategy(value);
11752  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11753 }
11754 
11755 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
11756 inline int DecisionStrategyProto::_internal_transformations_size() const {
11757  return transformations_.size();
11758 }
11760  return _internal_transformations_size();
11761 }
11763  transformations_.Clear();
11764 }
11765 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
11766  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
11767  return transformations_.Mutable(index);
11768 }
11769 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
11771  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
11772  return &transformations_;
11773 }
11774 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::_internal_transformations(int index) const {
11775  return transformations_.Get(index);
11776 }
11777 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
11778  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
11779  return _internal_transformations(index);
11780 }
11781 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::_internal_add_transformations() {
11782  return transformations_.Add();
11783 }
11784 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
11785  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* _add = _internal_add_transformations();
11786  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
11787  return _add;
11788 }
11789 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
11791  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
11792  return transformations_;
11793 }
11794 
11795 // -------------------------------------------------------------------
11796 
11797 // PartialVariableAssignment
11798 
11799 // repeated int32 vars = 1;
11800 inline int PartialVariableAssignment::_internal_vars_size() const {
11801  return vars_.size();
11802 }
11804  return _internal_vars_size();
11805 }
11807  vars_.Clear();
11808 }
11809 inline int32_t PartialVariableAssignment::_internal_vars(int index) const {
11810  return vars_.Get(index);
11811 }
11812 inline int32_t PartialVariableAssignment::vars(int index) const {
11813  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
11814  return _internal_vars(index);
11815 }
11817  vars_.Set(index, value);
11818  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
11819 }
11820 inline void PartialVariableAssignment::_internal_add_vars(int32_t value) {
11821  vars_.Add(value);
11822 }
11824  _internal_add_vars(value);
11825  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
11826 }
11827 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11828 PartialVariableAssignment::_internal_vars() const {
11829  return vars_;
11830 }
11831 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11833  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
11834  return _internal_vars();
11835 }
11836 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11837 PartialVariableAssignment::_internal_mutable_vars() {
11838  return &vars_;
11839 }
11840 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11842  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
11843  return _internal_mutable_vars();
11844 }
11845 
11846 // repeated int64 values = 2;
11847 inline int PartialVariableAssignment::_internal_values_size() const {
11848  return values_.size();
11849 }
11851  return _internal_values_size();
11852 }
11854  values_.Clear();
11855 }
11856 inline int64_t PartialVariableAssignment::_internal_values(int index) const {
11857  return values_.Get(index);
11858 }
11859 inline int64_t PartialVariableAssignment::values(int index) const {
11860  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
11861  return _internal_values(index);
11862 }
11864  values_.Set(index, value);
11865  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
11866 }
11867 inline void PartialVariableAssignment::_internal_add_values(int64_t value) {
11868  values_.Add(value);
11869 }
11871  _internal_add_values(value);
11872  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
11873 }
11874 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
11875 PartialVariableAssignment::_internal_values() const {
11876  return values_;
11877 }
11878 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
11880  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
11881  return _internal_values();
11882 }
11883 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
11884 PartialVariableAssignment::_internal_mutable_values() {
11885  return &values_;
11886 }
11887 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
11889  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
11890  return _internal_mutable_values();
11891 }
11892 
11893 // -------------------------------------------------------------------
11894 
11895 // SparsePermutationProto
11896 
11897 // repeated int32 support = 1;
11898 inline int SparsePermutationProto::_internal_support_size() const {
11899  return support_.size();
11900 }
11902  return _internal_support_size();
11903 }
11905  support_.Clear();
11906 }
11907 inline int32_t SparsePermutationProto::_internal_support(int index) const {
11908  return support_.Get(index);
11909 }
11910 inline int32_t SparsePermutationProto::support(int index) const {
11911  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.support)
11912  return _internal_support(index);
11913 }
11915  support_.Set(index, value);
11916  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.support)
11917 }
11918 inline void SparsePermutationProto::_internal_add_support(int32_t value) {
11919  support_.Add(value);
11920 }
11922  _internal_add_support(value);
11923  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.support)
11924 }
11925 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11926 SparsePermutationProto::_internal_support() const {
11927  return support_;
11928 }
11929 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11931  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.support)
11932  return _internal_support();
11933 }
11934 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11935 SparsePermutationProto::_internal_mutable_support() {
11936  return &support_;
11937 }
11938 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11940  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.support)
11941  return _internal_mutable_support();
11942 }
11943 
11944 // repeated int32 cycle_sizes = 2;
11945 inline int SparsePermutationProto::_internal_cycle_sizes_size() const {
11946  return cycle_sizes_.size();
11947 }
11949  return _internal_cycle_sizes_size();
11950 }
11952  cycle_sizes_.Clear();
11953 }
11954 inline int32_t SparsePermutationProto::_internal_cycle_sizes(int index) const {
11955  return cycle_sizes_.Get(index);
11956 }
11957 inline int32_t SparsePermutationProto::cycle_sizes(int index) const {
11958  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.cycle_sizes)
11959  return _internal_cycle_sizes(index);
11960 }
11962  cycle_sizes_.Set(index, value);
11963  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.cycle_sizes)
11964 }
11965 inline void SparsePermutationProto::_internal_add_cycle_sizes(int32_t value) {
11966  cycle_sizes_.Add(value);
11967 }
11969  _internal_add_cycle_sizes(value);
11970  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.cycle_sizes)
11971 }
11972 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11973 SparsePermutationProto::_internal_cycle_sizes() const {
11974  return cycle_sizes_;
11975 }
11976 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
11978  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11979  return _internal_cycle_sizes();
11980 }
11981 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11982 SparsePermutationProto::_internal_mutable_cycle_sizes() {
11983  return &cycle_sizes_;
11984 }
11985 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
11987  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11988  return _internal_mutable_cycle_sizes();
11989 }
11990 
11991 // -------------------------------------------------------------------
11992 
11993 // DenseMatrixProto
11994 
11995 // int32 num_rows = 1;
11997  num_rows_ = 0;
11998 }
11999 inline int32_t DenseMatrixProto::_internal_num_rows() const {
12000  return num_rows_;
12001 }
12002 inline int32_t DenseMatrixProto::num_rows() const {
12003  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_rows)
12004  return _internal_num_rows();
12005 }
12006 inline void DenseMatrixProto::_internal_set_num_rows(int32_t value) {
12007 
12008  num_rows_ = value;
12009 }
12011  _internal_set_num_rows(value);
12012  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_rows)
12013 }
12014 
12015 // int32 num_cols = 2;
12017  num_cols_ = 0;
12018 }
12019 inline int32_t DenseMatrixProto::_internal_num_cols() const {
12020  return num_cols_;
12021 }
12022 inline int32_t DenseMatrixProto::num_cols() const {
12023  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_cols)
12024  return _internal_num_cols();
12025 }
12026 inline void DenseMatrixProto::_internal_set_num_cols(int32_t value) {
12027 
12028  num_cols_ = value;
12029 }
12031  _internal_set_num_cols(value);
12032  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_cols)
12033 }
12034 
12035 // repeated int32 entries = 3;
12036 inline int DenseMatrixProto::_internal_entries_size() const {
12037  return entries_.size();
12038 }
12040  return _internal_entries_size();
12041 }
12043  entries_.Clear();
12044 }
12045 inline int32_t DenseMatrixProto::_internal_entries(int index) const {
12046  return entries_.Get(index);
12047 }
12048 inline int32_t DenseMatrixProto::entries(int index) const {
12049  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.entries)
12050  return _internal_entries(index);
12051 }
12052 inline void DenseMatrixProto::set_entries(int index, int32_t value) {
12053  entries_.Set(index, value);
12054  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.entries)
12055 }
12056 inline void DenseMatrixProto::_internal_add_entries(int32_t value) {
12057  entries_.Add(value);
12058 }
12059 inline void DenseMatrixProto::add_entries(int32_t value) {
12060  _internal_add_entries(value);
12061  // @@protoc_insertion_point(field_add:operations_research.sat.DenseMatrixProto.entries)
12062 }
12063 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
12064 DenseMatrixProto::_internal_entries() const {
12065  return entries_;
12066 }
12067 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
12069  // @@protoc_insertion_point(field_list:operations_research.sat.DenseMatrixProto.entries)
12070  return _internal_entries();
12071 }
12072 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
12073 DenseMatrixProto::_internal_mutable_entries() {
12074  return &entries_;
12075 }
12076 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
12078  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DenseMatrixProto.entries)
12079  return _internal_mutable_entries();
12080 }
12081 
12082 // -------------------------------------------------------------------
12083 
12084 // SymmetryProto
12085 
12086 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
12087 inline int SymmetryProto::_internal_permutations_size() const {
12088  return permutations_.size();
12089 }
12091  return _internal_permutations_size();
12092 }
12094  permutations_.Clear();
12095 }
12096 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::mutable_permutations(int index) {
12097  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.permutations)
12098  return permutations_.Mutable(index);
12099 }
12100 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
12102  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.permutations)
12103  return &permutations_;
12104 }
12105 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::_internal_permutations(int index) const {
12106  return permutations_.Get(index);
12107 }
12108 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::permutations(int index) const {
12109  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.permutations)
12110  return _internal_permutations(index);
12111 }
12112 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::_internal_add_permutations() {
12113  return permutations_.Add();
12114 }
12115 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::add_permutations() {
12116  ::operations_research::sat::SparsePermutationProto* _add = _internal_add_permutations();
12117  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.permutations)
12118  return _add;
12119 }
12120 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
12122  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.permutations)
12123  return permutations_;
12124 }
12125 
12126 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
12127 inline int SymmetryProto::_internal_orbitopes_size() const {
12128  return orbitopes_.size();
12129 }
12130 inline int SymmetryProto::orbitopes_size() const {
12131  return _internal_orbitopes_size();
12132 }
12134  orbitopes_.Clear();
12135 }
12136 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::mutable_orbitopes(int index) {
12137  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.orbitopes)
12138  return orbitopes_.Mutable(index);
12139 }
12140 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
12142  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.orbitopes)
12143  return &orbitopes_;
12144 }
12145 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::_internal_orbitopes(int index) const {
12146  return orbitopes_.Get(index);
12147 }
12148 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::orbitopes(int index) const {
12149  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.orbitopes)
12150  return _internal_orbitopes(index);
12151 }
12152 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::_internal_add_orbitopes() {
12153  return orbitopes_.Add();
12154 }
12155 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::add_orbitopes() {
12156  ::operations_research::sat::DenseMatrixProto* _add = _internal_add_orbitopes();
12157  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.orbitopes)
12158  return _add;
12159 }
12160 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
12162  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.orbitopes)
12163  return orbitopes_;
12164 }
12165 
12166 // -------------------------------------------------------------------
12167 
12168 // CpModelProto
12169 
12170 // string name = 1;
12172  name_.ClearToEmpty();
12173 }
12174 inline const std::string& CpModelProto::name() const {
12175  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
12176  return _internal_name();
12177 }
12178 template <typename ArgT0, typename... ArgT>
12179 inline PROTOBUF_ALWAYS_INLINE
12180 void CpModelProto::set_name(ArgT0&& arg0, ArgT... args) {
12181 
12182  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
12183  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
12184 }
12185 inline std::string* CpModelProto::mutable_name() {
12186  std::string* _s = _internal_mutable_name();
12187  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
12188  return _s;
12189 }
12190 inline const std::string& CpModelProto::_internal_name() const {
12191  return name_.Get();
12192 }
12193 inline void CpModelProto::_internal_set_name(const std::string& value) {
12194 
12195  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
12196 }
12197 inline std::string* CpModelProto::_internal_mutable_name() {
12198 
12199  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
12200 }
12201 inline std::string* CpModelProto::release_name() {
12202  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
12203  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
12204 }
12205 inline void CpModelProto::set_allocated_name(std::string* name) {
12206  if (name != nullptr) {
12207 
12208  } else {
12209 
12210  }
12211  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
12212  GetArenaForAllocation());
12213 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12214  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
12215  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
12216  }
12217 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12218  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
12219 }
12220 
12221 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
12222 inline int CpModelProto::_internal_variables_size() const {
12223  return variables_.size();
12224 }
12225 inline int CpModelProto::variables_size() const {
12226  return _internal_variables_size();
12227 }
12229  variables_.Clear();
12230 }
12231 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
12232  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
12233  return variables_.Mutable(index);
12234 }
12235 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
12237  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
12238  return &variables_;
12239 }
12240 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::_internal_variables(int index) const {
12241  return variables_.Get(index);
12242 }
12243 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
12244  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
12245  return _internal_variables(index);
12246 }
12247 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::_internal_add_variables() {
12248  return variables_.Add();
12249 }
12250 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
12251  ::operations_research::sat::IntegerVariableProto* _add = _internal_add_variables();
12252  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
12253  return _add;
12254 }
12255 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
12257  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
12258  return variables_;
12259 }
12260 
12261 // repeated .operations_research.sat.ConstraintProto constraints = 3;
12262 inline int CpModelProto::_internal_constraints_size() const {
12263  return constraints_.size();
12264 }
12266  return _internal_constraints_size();
12267 }
12269  constraints_.Clear();
12270 }
12271 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
12272  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
12273  return constraints_.Mutable(index);
12274 }
12275 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
12277  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
12278  return &constraints_;
12279 }
12280 inline const ::operations_research::sat::ConstraintProto& CpModelProto::_internal_constraints(int index) const {
12281  return constraints_.Get(index);
12282 }
12283 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
12284  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
12285  return _internal_constraints(index);
12286 }
12287 inline ::operations_research::sat::ConstraintProto* CpModelProto::_internal_add_constraints() {
12288  return constraints_.Add();
12289 }
12290 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
12291  ::operations_research::sat::ConstraintProto* _add = _internal_add_constraints();
12292  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
12293  return _add;
12294 }
12295 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
12297  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
12298  return constraints_;
12299 }
12300 
12301 // .operations_research.sat.CpObjectiveProto objective = 4;
12302 inline bool CpModelProto::_internal_has_objective() const {
12303  return this != internal_default_instance() && objective_ != nullptr;
12304 }
12305 inline bool CpModelProto::has_objective() const {
12306  return _internal_has_objective();
12307 }
12309  if (GetArenaForAllocation() == nullptr && objective_ != nullptr) {
12310  delete objective_;
12311  }
12312  objective_ = nullptr;
12313 }
12314 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
12315  const ::operations_research::sat::CpObjectiveProto* p = objective_;
12316  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::CpObjectiveProto&>(
12318 }
12319 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
12320  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
12321  return _internal_objective();
12322 }
12325  if (GetArenaForAllocation() == nullptr) {
12326  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
12327  }
12328  objective_ = objective;
12329  if (objective) {
12330 
12331  } else {
12332 
12333  }
12334  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
12335 }
12336 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
12337 
12339  objective_ = nullptr;
12340 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12341  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
12342  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12343  if (GetArenaForAllocation() == nullptr) { delete old; }
12344 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
12345  if (GetArenaForAllocation() != nullptr) {
12346  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12347  }
12348 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
12349  return temp;
12350 }
12351 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::unsafe_arena_release_objective() {
12352  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
12353 
12355  objective_ = nullptr;
12356  return temp;
12357 }
12358 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::_internal_mutable_objective() {
12359 
12360  if (objective_ == nullptr) {
12361  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArenaForAllocation());
12362  objective_ = p;
12363  }
12364  return objective_;
12365 }
12366 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
12367  ::operations_research::sat::CpObjectiveProto* _msg = _internal_mutable_objective();
12368  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
12369  return _msg;
12370 }
12372  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
12373  if (message_arena == nullptr) {
12374  delete objective_;
12375  }
12376  if (objective) {
12377  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12378  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::CpObjectiveProto>::GetOwningArena(objective);
12379  if (message_arena != submessage_arena) {
12380  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12381  message_arena, objective, submessage_arena);
12382  }
12383 
12384  } else {
12385 
12386  }
12387  objective_ = objective;
12388  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
12389 }
12390 
12391 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
12392 inline bool CpModelProto::_internal_has_floating_point_objective() const {
12393  return this != internal_default_instance() && floating_point_objective_ != nullptr;
12394 }
12396  return _internal_has_floating_point_objective();
12397 }
12399  if (GetArenaForAllocation() == nullptr && floating_point_objective_ != nullptr) {
12400  delete floating_point_objective_;
12401  }
12402  floating_point_objective_ = nullptr;
12403 }
12404 inline const ::operations_research::sat::FloatObjectiveProto& CpModelProto::_internal_floating_point_objective() const {
12405  const ::operations_research::sat::FloatObjectiveProto* p = floating_point_objective_;
12406  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::FloatObjectiveProto&>(
12408 }
12409 inline const ::operations_research::sat::FloatObjectiveProto& CpModelProto::floating_point_objective() const {
12410  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.floating_point_objective)
12411  return _internal_floating_point_objective();
12412 }
12414  ::operations_research::sat::FloatObjectiveProto* floating_point_objective) {
12415  if (GetArenaForAllocation() == nullptr) {
12416  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(floating_point_objective_);
12417  }
12418  floating_point_objective_ = floating_point_objective;
12419  if (floating_point_objective) {
12420 
12421  } else {
12422 
12423  }
12424  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.floating_point_objective)
12425 }
12426 inline ::operations_research::sat::FloatObjectiveProto* CpModelProto::release_floating_point_objective() {
12427 
12428  ::operations_research::sat::FloatObjectiveProto* temp = floating_point_objective_;
12429  floating_point_objective_ = nullptr;
12430 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12431  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
12432  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12433  if (GetArenaForAllocation() == nullptr) { delete old; }
12434 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
12435  if (GetArenaForAllocation() != nullptr) {
12436  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12437  }
12438 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
12439  return temp;
12440 }
12441 inline ::operations_research::sat::FloatObjectiveProto* CpModelProto::unsafe_arena_release_floating_point_objective() {
12442  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.floating_point_objective)
12443 
12444  ::operations_research::sat::FloatObjectiveProto* temp = floating_point_objective_;
12445  floating_point_objective_ = nullptr;
12446  return temp;
12447 }
12448 inline ::operations_research::sat::FloatObjectiveProto* CpModelProto::_internal_mutable_floating_point_objective() {
12449 
12450  if (floating_point_objective_ == nullptr) {
12451  auto* p = CreateMaybeMessage<::operations_research::sat::FloatObjectiveProto>(GetArenaForAllocation());
12452  floating_point_objective_ = p;
12453  }
12454  return floating_point_objective_;
12455 }
12456 inline ::operations_research::sat::FloatObjectiveProto* CpModelProto::mutable_floating_point_objective() {
12457  ::operations_research::sat::FloatObjectiveProto* _msg = _internal_mutable_floating_point_objective();
12458  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.floating_point_objective)
12459  return _msg;
12460 }
12462  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
12463  if (message_arena == nullptr) {
12464  delete floating_point_objective_;
12465  }
12466  if (floating_point_objective) {
12467  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12468  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::FloatObjectiveProto>::GetOwningArena(floating_point_objective);
12469  if (message_arena != submessage_arena) {
12470  floating_point_objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12471  message_arena, floating_point_objective, submessage_arena);
12472  }
12473 
12474  } else {
12475 
12476  }
12477  floating_point_objective_ = floating_point_objective;
12478  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.floating_point_objective)
12479 }
12480 
12481 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
12482 inline int CpModelProto::_internal_search_strategy_size() const {
12483  return search_strategy_.size();
12484 }
12486  return _internal_search_strategy_size();
12487 }
12489  search_strategy_.Clear();
12490 }
12491 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
12492  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
12493  return search_strategy_.Mutable(index);
12494 }
12495 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
12497  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
12498  return &search_strategy_;
12499 }
12500 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::_internal_search_strategy(int index) const {
12501  return search_strategy_.Get(index);
12502 }
12503 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
12504  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
12505  return _internal_search_strategy(index);
12506 }
12507 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::_internal_add_search_strategy() {
12508  return search_strategy_.Add();
12509 }
12510 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
12511  ::operations_research::sat::DecisionStrategyProto* _add = _internal_add_search_strategy();
12512  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
12513  return _add;
12514 }
12515 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
12517  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
12518  return search_strategy_;
12519 }
12520 
12521 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
12522 inline bool CpModelProto::_internal_has_solution_hint() const {
12523  return this != internal_default_instance() && solution_hint_ != nullptr;
12524 }
12525 inline bool CpModelProto::has_solution_hint() const {
12526  return _internal_has_solution_hint();
12527 }
12529  if (GetArenaForAllocation() == nullptr && solution_hint_ != nullptr) {
12530  delete solution_hint_;
12531  }
12532  solution_hint_ = nullptr;
12533 }
12534 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
12535  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
12536  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment&>(
12538 }
12539 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
12540  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
12541  return _internal_solution_hint();
12542 }
12545  if (GetArenaForAllocation() == nullptr) {
12546  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
12547  }
12548  solution_hint_ = solution_hint;
12549  if (solution_hint) {
12550 
12551  } else {
12552 
12553  }
12554  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
12555 }
12556 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
12557 
12559  solution_hint_ = nullptr;
12560 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12561  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
12562  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12563  if (GetArenaForAllocation() == nullptr) { delete old; }
12564 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
12565  if (GetArenaForAllocation() != nullptr) {
12566  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12567  }
12568 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
12569  return temp;
12570 }
12571 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::unsafe_arena_release_solution_hint() {
12572  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
12573 
12575  solution_hint_ = nullptr;
12576  return temp;
12577 }
12578 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::_internal_mutable_solution_hint() {
12579 
12580  if (solution_hint_ == nullptr) {
12581  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArenaForAllocation());
12582  solution_hint_ = p;
12583  }
12584  return solution_hint_;
12585 }
12586 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
12587  ::operations_research::sat::PartialVariableAssignment* _msg = _internal_mutable_solution_hint();
12588  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
12589  return _msg;
12590 }
12592  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
12593  if (message_arena == nullptr) {
12594  delete solution_hint_;
12595  }
12596  if (solution_hint) {
12597  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12598  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::PartialVariableAssignment>::GetOwningArena(solution_hint);
12599  if (message_arena != submessage_arena) {
12600  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12601  message_arena, solution_hint, submessage_arena);
12602  }
12603 
12604  } else {
12605 
12606  }
12607  solution_hint_ = solution_hint;
12608  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
12609 }
12610 
12611 // repeated int32 assumptions = 7;
12612 inline int CpModelProto::_internal_assumptions_size() const {
12613  return assumptions_.size();
12614 }
12616  return _internal_assumptions_size();
12617 }
12619  assumptions_.Clear();
12620 }
12621 inline int32_t CpModelProto::_internal_assumptions(int index) const {
12622  return assumptions_.Get(index);
12623 }
12624 inline int32_t CpModelProto::assumptions(int index) const {
12625  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
12626  return _internal_assumptions(index);
12627 }
12628 inline void CpModelProto::set_assumptions(int index, int32_t value) {
12629  assumptions_.Set(index, value);
12630  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
12631 }
12632 inline void CpModelProto::_internal_add_assumptions(int32_t value) {
12633  assumptions_.Add(value);
12634 }
12635 inline void CpModelProto::add_assumptions(int32_t value) {
12636  _internal_add_assumptions(value);
12637  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
12638 }
12639 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
12640 CpModelProto::_internal_assumptions() const {
12641  return assumptions_;
12642 }
12643 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
12645  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
12646  return _internal_assumptions();
12647 }
12648 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
12649 CpModelProto::_internal_mutable_assumptions() {
12650  return &assumptions_;
12651 }
12652 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
12654  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
12655  return _internal_mutable_assumptions();
12656 }
12657 
12658 // .operations_research.sat.SymmetryProto symmetry = 8;
12659 inline bool CpModelProto::_internal_has_symmetry() const {
12660  return this != internal_default_instance() && symmetry_ != nullptr;
12661 }
12662 inline bool CpModelProto::has_symmetry() const {
12663  return _internal_has_symmetry();
12664 }
12666  if (GetArenaForAllocation() == nullptr && symmetry_ != nullptr) {
12667  delete symmetry_;
12668  }
12669  symmetry_ = nullptr;
12670 }
12671 inline const ::operations_research::sat::SymmetryProto& CpModelProto::_internal_symmetry() const {
12672  const ::operations_research::sat::SymmetryProto* p = symmetry_;
12673  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::SymmetryProto&>(
12675 }
12676 inline const ::operations_research::sat::SymmetryProto& CpModelProto::symmetry() const {
12677  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.symmetry)
12678  return _internal_symmetry();
12679 }
12682  if (GetArenaForAllocation() == nullptr) {
12683  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(symmetry_);
12684  }
12685  symmetry_ = symmetry;
12686  if (symmetry) {
12687 
12688  } else {
12689 
12690  }
12691  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.symmetry)
12692 }
12693 inline ::operations_research::sat::SymmetryProto* CpModelProto::release_symmetry() {
12694 
12696  symmetry_ = nullptr;
12697 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12698  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
12699  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12700  if (GetArenaForAllocation() == nullptr) { delete old; }
12701 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
12702  if (GetArenaForAllocation() != nullptr) {
12703  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12704  }
12705 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
12706  return temp;
12707 }
12708 inline ::operations_research::sat::SymmetryProto* CpModelProto::unsafe_arena_release_symmetry() {
12709  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.symmetry)
12710 
12712  symmetry_ = nullptr;
12713  return temp;
12714 }
12715 inline ::operations_research::sat::SymmetryProto* CpModelProto::_internal_mutable_symmetry() {
12716 
12717  if (symmetry_ == nullptr) {
12718  auto* p = CreateMaybeMessage<::operations_research::sat::SymmetryProto>(GetArenaForAllocation());
12719  symmetry_ = p;
12720  }
12721  return symmetry_;
12722 }
12723 inline ::operations_research::sat::SymmetryProto* CpModelProto::mutable_symmetry() {
12724  ::operations_research::sat::SymmetryProto* _msg = _internal_mutable_symmetry();
12725  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.symmetry)
12726  return _msg;
12727 }
12729  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
12730  if (message_arena == nullptr) {
12731  delete symmetry_;
12732  }
12733  if (symmetry) {
12734  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12735  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::SymmetryProto>::GetOwningArena(symmetry);
12736  if (message_arena != submessage_arena) {
12737  symmetry = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12738  message_arena, symmetry, submessage_arena);
12739  }
12740 
12741  } else {
12742 
12743  }
12744  symmetry_ = symmetry;
12745  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.symmetry)
12746 }
12747 
12748 // -------------------------------------------------------------------
12749 
12750 // CpSolverSolution
12751 
12752 // repeated int64 values = 1;
12753 inline int CpSolverSolution::_internal_values_size() const {
12754  return values_.size();
12755 }
12756 inline int CpSolverSolution::values_size() const {
12757  return _internal_values_size();
12758 }
12760  values_.Clear();
12761 }
12762 inline int64_t CpSolverSolution::_internal_values(int index) const {
12763  return values_.Get(index);
12764 }
12765 inline int64_t CpSolverSolution::values(int index) const {
12766  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverSolution.values)
12767  return _internal_values(index);
12768 }
12769 inline void CpSolverSolution::set_values(int index, int64_t value) {
12770  values_.Set(index, value);
12771  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverSolution.values)
12772 }
12773 inline void CpSolverSolution::_internal_add_values(int64_t value) {
12774  values_.Add(value);
12775 }
12776 inline void CpSolverSolution::add_values(int64_t value) {
12777  _internal_add_values(value);
12778  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverSolution.values)
12779 }
12780 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
12781 CpSolverSolution::_internal_values() const {
12782  return values_;
12783 }
12784 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
12786  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverSolution.values)
12787  return _internal_values();
12788 }
12789 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
12790 CpSolverSolution::_internal_mutable_values() {
12791  return &values_;
12792 }
12793 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
12795  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverSolution.values)
12796  return _internal_mutable_values();
12797 }
12798 
12799 // -------------------------------------------------------------------
12800 
12801 // CpSolverResponse
12802 
12803 // .operations_research.sat.CpSolverStatus status = 1;
12805  status_ = 0;
12806 }
12807 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
12808  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
12809 }
12811  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
12812  return _internal_status();
12813 }
12814 inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
12815 
12816  status_ = value;
12817 }
12819  _internal_set_status(value);
12820  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
12821 }
12822 
12823 // repeated int64 solution = 2;
12824 inline int CpSolverResponse::_internal_solution_size() const {
12825  return solution_.size();
12826 }
12828  return _internal_solution_size();
12829 }
12831  solution_.Clear();
12832 }
12833 inline int64_t CpSolverResponse::_internal_solution(int index) const {
12834  return solution_.Get(index);
12835 }
12836 inline int64_t CpSolverResponse::solution(int index) const {
12837  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
12838  return _internal_solution(index);
12839 }
12840 inline void CpSolverResponse::set_solution(int index, int64_t value) {
12841  solution_.Set(index, value);
12842  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
12843 }
12844 inline void CpSolverResponse::_internal_add_solution(int64_t value) {
12845  solution_.Add(value);
12846 }
12848  _internal_add_solution(value);
12849  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
12850 }
12851 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
12852 CpSolverResponse::_internal_solution() const {
12853  return solution_;
12854 }
12855 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
12857  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
12858  return _internal_solution();
12859 }
12860 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
12861 CpSolverResponse::_internal_mutable_solution() {
12862  return &solution_;
12863 }
12864 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
12866  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
12867  return _internal_mutable_solution();
12868 }
12869 
12870 // double objective_value = 3;
12872  objective_value_ = 0;
12873 }
12874 inline double CpSolverResponse::_internal_objective_value() const {
12875  return objective_value_;
12876 }
12877 inline double CpSolverResponse::objective_value() const {
12878  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
12879  return _internal_objective_value();
12880 }
12881 inline void CpSolverResponse::_internal_set_objective_value(double value) {
12882 
12883  objective_value_ = value;
12884 }
12886  _internal_set_objective_value(value);
12887  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
12888 }
12889 
12890 // double best_objective_bound = 4;
12892  best_objective_bound_ = 0;
12893 }
12894 inline double CpSolverResponse::_internal_best_objective_bound() const {
12895  return best_objective_bound_;
12896 }
12898  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
12899  return _internal_best_objective_bound();
12900 }
12901 inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
12902 
12903  best_objective_bound_ = value;
12904 }
12906  _internal_set_best_objective_bound(value);
12907  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
12908 }
12909 
12910 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
12911 inline int CpSolverResponse::_internal_additional_solutions_size() const {
12912  return additional_solutions_.size();
12913 }
12915  return _internal_additional_solutions_size();
12916 }
12918  additional_solutions_.Clear();
12919 }
12920 inline ::operations_research::sat::CpSolverSolution* CpSolverResponse::mutable_additional_solutions(int index) {
12921  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.additional_solutions)
12922  return additional_solutions_.Mutable(index);
12923 }
12924 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::CpSolverSolution >*
12926  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.additional_solutions)
12927  return &additional_solutions_;
12928 }
12929 inline const ::operations_research::sat::CpSolverSolution& CpSolverResponse::_internal_additional_solutions(int index) const {
12930  return additional_solutions_.Get(index);
12931 }
12932 inline const ::operations_research::sat::CpSolverSolution& CpSolverResponse::additional_solutions(int index) const {
12933  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.additional_solutions)
12934  return _internal_additional_solutions(index);
12935 }
12936 inline ::operations_research::sat::CpSolverSolution* CpSolverResponse::_internal_add_additional_solutions() {
12937  return additional_solutions_.Add();
12938 }
12939 inline ::operations_research::sat::CpSolverSolution* CpSolverResponse::add_additional_solutions() {
12940  ::operations_research::sat::CpSolverSolution* _add = _internal_add_additional_solutions();
12941  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.additional_solutions)
12942  return _add;
12943 }
12944 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::CpSolverSolution >&
12946  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.additional_solutions)
12947  return additional_solutions_;
12948 }
12949 
12950 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
12951 inline int CpSolverResponse::_internal_tightened_variables_size() const {
12952  return tightened_variables_.size();
12953 }
12955  return _internal_tightened_variables_size();
12956 }
12958  tightened_variables_.Clear();
12959 }
12960 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
12961  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
12962  return tightened_variables_.Mutable(index);
12963 }
12964 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
12966  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
12967  return &tightened_variables_;
12968 }
12969 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::_internal_tightened_variables(int index) const {
12970  return tightened_variables_.Get(index);
12971 }
12972 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
12973  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
12974  return _internal_tightened_variables(index);
12975 }
12976 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::_internal_add_tightened_variables() {
12977  return tightened_variables_.Add();
12978 }
12979 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
12980  ::operations_research::sat::IntegerVariableProto* _add = _internal_add_tightened_variables();
12981  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
12982  return _add;
12983 }
12984 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
12986  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
12987  return tightened_variables_;
12988 }
12989 
12990 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
12991 inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
12992  return sufficient_assumptions_for_infeasibility_.size();
12993 }
12995  return _internal_sufficient_assumptions_for_infeasibility_size();
12996 }
12998  sufficient_assumptions_for_infeasibility_.Clear();
12999 }
13000 inline int32_t CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility(int index) const {
13001  return sufficient_assumptions_for_infeasibility_.Get(index);
13002 }
13004  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
13005  return _internal_sufficient_assumptions_for_infeasibility(index);
13006 }
13008  sufficient_assumptions_for_infeasibility_.Set(index, value);
13009  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
13010 }
13011 inline void CpSolverResponse::_internal_add_sufficient_assumptions_for_infeasibility(int32_t value) {
13012  sufficient_assumptions_for_infeasibility_.Add(value);
13013 }
13015  _internal_add_sufficient_assumptions_for_infeasibility(value);
13016  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
13017 }
13018 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
13019 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
13020  return sufficient_assumptions_for_infeasibility_;
13021 }
13022 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
13024  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
13025  return _internal_sufficient_assumptions_for_infeasibility();
13026 }
13027 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
13028 CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
13029  return &sufficient_assumptions_for_infeasibility_;
13030 }
13031 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
13033  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
13034  return _internal_mutable_sufficient_assumptions_for_infeasibility();
13035 }
13036 
13037 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
13038 inline bool CpSolverResponse::_internal_has_integer_objective() const {
13039  return this != internal_default_instance() && integer_objective_ != nullptr;
13040 }
13042  return _internal_has_integer_objective();
13043 }
13045  if (GetArenaForAllocation() == nullptr && integer_objective_ != nullptr) {
13046  delete integer_objective_;
13047  }
13048  integer_objective_ = nullptr;
13049 }
13050 inline const ::operations_research::sat::CpObjectiveProto& CpSolverResponse::_internal_integer_objective() const {
13051  const ::operations_research::sat::CpObjectiveProto* p = integer_objective_;
13052  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::CpObjectiveProto&>(
13054 }
13055 inline const ::operations_research::sat::CpObjectiveProto& CpSolverResponse::integer_objective() const {
13056  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.integer_objective)
13057  return _internal_integer_objective();
13058 }
13060  ::operations_research::sat::CpObjectiveProto* integer_objective) {
13061  if (GetArenaForAllocation() == nullptr) {
13062  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(integer_objective_);
13063  }
13064  integer_objective_ = integer_objective;
13065  if (integer_objective) {
13066 
13067  } else {
13068 
13069  }
13070  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpSolverResponse.integer_objective)
13071 }
13072 inline ::operations_research::sat::CpObjectiveProto* CpSolverResponse::release_integer_objective() {
13073 
13074  ::operations_research::sat::CpObjectiveProto* temp = integer_objective_;
13075  integer_objective_ = nullptr;
13076 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
13077  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
13078  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
13079  if (GetArenaForAllocation() == nullptr) { delete old; }
13080 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
13081  if (GetArenaForAllocation() != nullptr) {
13082  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
13083  }
13084 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
13085  return temp;
13086 }
13087 inline ::operations_research::sat::CpObjectiveProto* CpSolverResponse::unsafe_arena_release_integer_objective() {
13088  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.integer_objective)
13089 
13090  ::operations_research::sat::CpObjectiveProto* temp = integer_objective_;
13091  integer_objective_ = nullptr;
13092  return temp;
13093 }
13094 inline ::operations_research::sat::CpObjectiveProto* CpSolverResponse::_internal_mutable_integer_objective() {
13095 
13096  if (integer_objective_ == nullptr) {
13097  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArenaForAllocation());
13098  integer_objective_ = p;
13099  }
13100  return integer_objective_;
13101 }
13102 inline ::operations_research::sat::CpObjectiveProto* CpSolverResponse::mutable_integer_objective() {
13103  ::operations_research::sat::CpObjectiveProto* _msg = _internal_mutable_integer_objective();
13104  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.integer_objective)
13105  return _msg;
13106 }
13108  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
13109  if (message_arena == nullptr) {
13110  delete integer_objective_;
13111  }
13112  if (integer_objective) {
13113  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
13114  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::CpObjectiveProto>::GetOwningArena(integer_objective);
13115  if (message_arena != submessage_arena) {
13116  integer_objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
13117  message_arena, integer_objective, submessage_arena);
13118  }
13119 
13120  } else {
13121 
13122  }
13123  integer_objective_ = integer_objective;
13124  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.integer_objective)
13125 }
13126 
13127 // int64 inner_objective_lower_bound = 29;
13129  inner_objective_lower_bound_ = int64_t{0};
13130 }
13131 inline int64_t CpSolverResponse::_internal_inner_objective_lower_bound() const {
13132  return inner_objective_lower_bound_;
13133 }
13135  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.inner_objective_lower_bound)
13136  return _internal_inner_objective_lower_bound();
13137 }
13138 inline void CpSolverResponse::_internal_set_inner_objective_lower_bound(int64_t value) {
13139 
13140  inner_objective_lower_bound_ = value;
13141 }
13143  _internal_set_inner_objective_lower_bound(value);
13144  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.inner_objective_lower_bound)
13145 }
13146 
13147 // int64 num_booleans = 10;
13149  num_booleans_ = int64_t{0};
13150 }
13151 inline int64_t CpSolverResponse::_internal_num_booleans() const {
13152  return num_booleans_;
13153 }
13154 inline int64_t CpSolverResponse::num_booleans() const {
13155  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
13156  return _internal_num_booleans();
13157 }
13158 inline void CpSolverResponse::_internal_set_num_booleans(int64_t value) {
13159 
13160  num_booleans_ = value;
13161 }
13163  _internal_set_num_booleans(value);
13164  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
13165 }
13166 
13167 // int64 num_conflicts = 11;
13169  num_conflicts_ = int64_t{0};
13170 }
13171 inline int64_t CpSolverResponse::_internal_num_conflicts() const {
13172  return num_conflicts_;
13173 }
13174 inline int64_t CpSolverResponse::num_conflicts() const {
13175  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
13176  return _internal_num_conflicts();
13177 }
13178 inline void CpSolverResponse::_internal_set_num_conflicts(int64_t value) {
13179 
13180  num_conflicts_ = value;
13181 }
13183  _internal_set_num_conflicts(value);
13184  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
13185 }
13186 
13187 // int64 num_branches = 12;
13189  num_branches_ = int64_t{0};
13190 }
13191 inline int64_t CpSolverResponse::_internal_num_branches() const {
13192  return num_branches_;
13193 }
13194 inline int64_t CpSolverResponse::num_branches() const {
13195  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
13196  return _internal_num_branches();
13197 }
13198 inline void CpSolverResponse::_internal_set_num_branches(int64_t value) {
13199 
13200  num_branches_ = value;
13201 }
13203  _internal_set_num_branches(value);
13204  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
13205 }
13206 
13207 // int64 num_binary_propagations = 13;
13209  num_binary_propagations_ = int64_t{0};
13210 }
13211 inline int64_t CpSolverResponse::_internal_num_binary_propagations() const {
13212  return num_binary_propagations_;
13213 }
13215  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
13216  return _internal_num_binary_propagations();
13217 }
13218 inline void CpSolverResponse::_internal_set_num_binary_propagations(int64_t value) {
13219 
13220  num_binary_propagations_ = value;
13221 }
13223  _internal_set_num_binary_propagations(value);
13224  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
13225 }
13226 
13227 // int64 num_integer_propagations = 14;
13229  num_integer_propagations_ = int64_t{0};
13230 }
13231 inline int64_t CpSolverResponse::_internal_num_integer_propagations() const {
13232  return num_integer_propagations_;
13233 }
13235  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
13236  return _internal_num_integer_propagations();
13237 }
13238 inline void CpSolverResponse::_internal_set_num_integer_propagations(int64_t value) {
13239 
13240  num_integer_propagations_ = value;
13241 }
13243  _internal_set_num_integer_propagations(value);
13244  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
13245 }
13246 
13247 // int64 num_restarts = 24;
13249  num_restarts_ = int64_t{0};
13250 }
13251 inline int64_t CpSolverResponse::_internal_num_restarts() const {
13252  return num_restarts_;
13253 }
13254 inline int64_t CpSolverResponse::num_restarts() const {
13255  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_restarts)
13256  return _internal_num_restarts();
13257 }
13258 inline void CpSolverResponse::_internal_set_num_restarts(int64_t value) {
13259 
13260  num_restarts_ = value;
13261 }
13263  _internal_set_num_restarts(value);
13264  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_restarts)
13265 }
13266 
13267 // int64 num_lp_iterations = 25;
13269  num_lp_iterations_ = int64_t{0};
13270 }
13271 inline int64_t CpSolverResponse::_internal_num_lp_iterations() const {
13272  return num_lp_iterations_;
13273 }
13274 inline int64_t CpSolverResponse::num_lp_iterations() const {
13275  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_lp_iterations)
13276  return _internal_num_lp_iterations();
13277 }
13278 inline void CpSolverResponse::_internal_set_num_lp_iterations(int64_t value) {
13279 
13280  num_lp_iterations_ = value;
13281 }
13283  _internal_set_num_lp_iterations(value);
13284  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_lp_iterations)
13285 }
13286 
13287 // double wall_time = 15;
13289  wall_time_ = 0;
13290 }
13291 inline double CpSolverResponse::_internal_wall_time() const {
13292  return wall_time_;
13293 }
13294 inline double CpSolverResponse::wall_time() const {
13295  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
13296  return _internal_wall_time();
13297 }
13298 inline void CpSolverResponse::_internal_set_wall_time(double value) {
13299 
13300  wall_time_ = value;
13301 }
13303  _internal_set_wall_time(value);
13304  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
13305 }
13306 
13307 // double user_time = 16;
13309  user_time_ = 0;
13310 }
13311 inline double CpSolverResponse::_internal_user_time() const {
13312  return user_time_;
13313 }
13314 inline double CpSolverResponse::user_time() const {
13315  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
13316  return _internal_user_time();
13317 }
13318 inline void CpSolverResponse::_internal_set_user_time(double value) {
13319 
13320  user_time_ = value;
13321 }
13323  _internal_set_user_time(value);
13324  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
13325 }
13326 
13327 // double deterministic_time = 17;
13329  deterministic_time_ = 0;
13330 }
13331 inline double CpSolverResponse::_internal_deterministic_time() const {
13332  return deterministic_time_;
13333 }
13335  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
13336  return _internal_deterministic_time();
13337 }
13338 inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
13339 
13340  deterministic_time_ = value;
13341 }
13343  _internal_set_deterministic_time(value);
13344  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
13345 }
13346 
13347 // double gap_integral = 22;
13349  gap_integral_ = 0;
13350 }
13351 inline double CpSolverResponse::_internal_gap_integral() const {
13352  return gap_integral_;
13353 }
13354 inline double CpSolverResponse::gap_integral() const {
13355  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.gap_integral)
13356  return _internal_gap_integral();
13357 }
13358 inline void CpSolverResponse::_internal_set_gap_integral(double value) {
13359 
13360  gap_integral_ = value;
13361 }
13363  _internal_set_gap_integral(value);
13364  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.gap_integral)
13365 }
13366 
13367 // string solution_info = 20;
13369  solution_info_.ClearToEmpty();
13370 }
13371 inline const std::string& CpSolverResponse::solution_info() const {
13372  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
13373  return _internal_solution_info();
13374 }
13375 template <typename ArgT0, typename... ArgT>
13376 inline PROTOBUF_ALWAYS_INLINE
13377 void CpSolverResponse::set_solution_info(ArgT0&& arg0, ArgT... args) {
13378 
13379  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
13380  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
13381 }
13383  std::string* _s = _internal_mutable_solution_info();
13384  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
13385  return _s;
13386 }
13387 inline const std::string& CpSolverResponse::_internal_solution_info() const {
13388  return solution_info_.Get();
13389 }
13390 inline void CpSolverResponse::_internal_set_solution_info(const std::string& value) {
13391 
13392  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
13393 }
13394 inline std::string* CpSolverResponse::_internal_mutable_solution_info() {
13395 
13396  return solution_info_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
13397 }
13399  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
13400  return solution_info_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
13401 }
13402 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
13403  if (solution_info != nullptr) {
13404 
13405  } else {
13406 
13407  }
13408  solution_info_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info,
13409  GetArenaForAllocation());
13410 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13411  if (solution_info_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
13412  solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
13413  }
13414 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13415  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
13416 }
13417 
13418 // string solve_log = 26;
13420  solve_log_.ClearToEmpty();
13421 }
13422 inline const std::string& CpSolverResponse::solve_log() const {
13423  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solve_log)
13424  return _internal_solve_log();
13425 }
13426 template <typename ArgT0, typename... ArgT>
13427 inline PROTOBUF_ALWAYS_INLINE
13428 void CpSolverResponse::set_solve_log(ArgT0&& arg0, ArgT... args) {
13429 
13430  solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
13431  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solve_log)
13432 }
13434  std::string* _s = _internal_mutable_solve_log();
13435  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solve_log)
13436  return _s;
13437 }
13438 inline const std::string& CpSolverResponse::_internal_solve_log() const {
13439  return solve_log_.Get();
13440 }
13441 inline void CpSolverResponse::_internal_set_solve_log(const std::string& value) {
13442 
13443  solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
13444 }
13445 inline std::string* CpSolverResponse::_internal_mutable_solve_log() {
13446 
13447  return solve_log_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
13448 }
13450  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solve_log)
13451  return solve_log_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
13452 }
13453 inline void CpSolverResponse::set_allocated_solve_log(std::string* solve_log) {
13454  if (solve_log != nullptr) {
13455 
13456  } else {
13457 
13458  }
13459  solve_log_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solve_log,
13460  GetArenaForAllocation());
13461 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13462  if (solve_log_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
13463  solve_log_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
13464  }
13465 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13466  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solve_log)
13467 }
13468 
13469 #ifdef __GNUC__
13470  #pragma GCC diagnostic pop
13471 #endif // __GNUC__
13472 // -------------------------------------------------------------------
13473 
13474 // -------------------------------------------------------------------
13475 
13476 // -------------------------------------------------------------------
13477 
13478 // -------------------------------------------------------------------
13479 
13480 // -------------------------------------------------------------------
13481 
13482 // -------------------------------------------------------------------
13483 
13484 // -------------------------------------------------------------------
13485 
13486 // -------------------------------------------------------------------
13487 
13488 // -------------------------------------------------------------------
13489 
13490 // -------------------------------------------------------------------
13491 
13492 // -------------------------------------------------------------------
13493 
13494 // -------------------------------------------------------------------
13495 
13496 // -------------------------------------------------------------------
13497 
13498 // -------------------------------------------------------------------
13499 
13500 // -------------------------------------------------------------------
13501 
13502 // -------------------------------------------------------------------
13503 
13504 // -------------------------------------------------------------------
13505 
13506 // -------------------------------------------------------------------
13507 
13508 // -------------------------------------------------------------------
13509 
13510 // -------------------------------------------------------------------
13511 
13512 // -------------------------------------------------------------------
13513 
13514 // -------------------------------------------------------------------
13515 
13516 // -------------------------------------------------------------------
13517 
13518 // -------------------------------------------------------------------
13519 
13520 // -------------------------------------------------------------------
13521 
13522 // -------------------------------------------------------------------
13523 
13524 // -------------------------------------------------------------------
13525 
13526 // -------------------------------------------------------------------
13527 
13528 // -------------------------------------------------------------------
13529 
13530 
13531 // @@protoc_insertion_point(namespace_scope)
13532 
13533 } // namespace sat
13534 } // namespace operations_research
13535 
13536 PROTOBUF_NAMESPACE_OPEN
13537 
13538 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
13539 template <>
13540 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
13542 }
13543 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
13544 template <>
13545 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
13547 }
13548 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
13549 template <>
13550 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
13552 }
13553 
13554 PROTOBUF_NAMESPACE_CLOSE
13555 
13556 // @@protoc_insertion_point(global_scope)
13557 
13558 #include <google/protobuf/port_undef.inc>
13559 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_NODISCARD ::operations_research::sat::IntervalConstraintProto * release_interval()
PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto * release_capacity()
Definition: cp_model.pb.h:8201
static const InverseConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3199
::operations_research::sat::LinearExpressionProto * add_exprs()
Definition: cp_model.pb.h:7428
::operations_research::sat::ReservoirConstraintProto * unsafe_arena_release_reservoir()
IntervalConstraintProto & operator=(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1543
void unsafe_arena_set_allocated_int_prod(::operations_research::sat::LinearArgumentProto *int_prod)
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:5151
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_level_changes()
Definition: cp_model.pb.h:8469
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_int_div()
Definition: cp_model.pb.h:9917
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_domain()
Definition: cp_model.pb.h:7623
void unsafe_arena_set_allocated_end(::operations_research::sat::LinearExpressionProto *end)
Definition: cp_model.pb.h:7835
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.cc:249
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:847
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & domain() const
Definition: cp_model.pb.h:7122
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & variables() const
::operations_research::sat::IntervalConstraintProto * unsafe_arena_release_interval()
::operations_research::sat::BoolArgumentProto * mutable_exactly_one()
Definition: cp_model.pb.h:9796
void set_allocated_solution_info(std::string *solution_info)
PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto * release_int_mod()
Definition: cp_model.pb.h:9968
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3809
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.cc:336
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > * mutable_permutations()
void set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
Definition: cp_model.pb.h:7379
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3372
void set_allocated_name(std::string *name)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1912
SymmetryProto & operator=(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5953
const ::operations_research::sat::TableConstraintProto & table() const
DecisionStrategyProto(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:5116
void set_literals(int index, int32_t value)
Definition: cp_model.pb.h:8781
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5142
::operations_research::sat::CpSolverSolution * add_additional_solutions()
AutomatonConstraintProto(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3349
::operations_research::sat::LinearExpressionProto * add_demands()
Definition: cp_model.pb.h:8332
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_intervals()
Definition: cp_model.pb.h:8039
void UnsafeArenaSwap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2143
PROTOBUF_NODISCARD ::operations_research::sat::FloatObjectiveProto * release_floating_point_objective()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:309
void unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
void UnsafeArenaSwap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2780
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & assumptions() const
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::CpSolverSolution > * mutable_additional_solutions()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1171
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & coeffs() const
Definition: cp_model.pb.h:7271
static const LinearArgumentProto & default_instance()
Definition: cp_model.pb.h:844
::operations_research::sat::SparsePermutationProto * add_permutations()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3187
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:1184
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
int64_t min
Definition: alldiff_cst.cc:139
void unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
PROTOBUF_NODISCARD ::operations_research::sat::AutomatonConstraintProto * release_automaton()
::operations_research::sat::AllDifferentConstraintProto * mutable_all_diff()
void UnsafeArenaSwap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5635
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_x_intervals()
Definition: cp_model.pb.h:8090
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
::operations_research::sat::LinearArgumentProto * mutable_int_prod()
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:5458
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.cc:134
PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto * release_bool_or()
Definition: cp_model.pb.h:9524
static const IntervalConstraintProto & default_instance()
Definition: cp_model.pb.h:1566
::operations_research::sat::AllDifferentConstraintProto * unsafe_arena_release_all_diff()
static const FloatObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4777
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1764
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2127
static const CpSolverSolution & default_instance()
Definition: cp_model.pb.h:6467
const ::operations_research::sat::BoolArgumentProto & bool_or() const
Definition: cp_model.pb.h:9543
::operations_research::sat::NoOverlapConstraintProto * unsafe_arena_release_no_overlap()
ConstraintProto(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3780
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
Definition: cp_model.pb.h:7414
::operations_research::sat::ElementConstraintProto * mutable_element()
PROTOBUF_NODISCARD ::operations_research::sat::ReservoirConstraintProto * release_reservoir()
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
Definition: cp_model.pb.h:9691
void MergeFrom(const IntegerVariableProto &from)
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:209
LinearArgumentProto & operator=(const LinearArgumentProto &from)
Definition: cp_model.pb.h:817
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_f_inverse()
Definition: cp_model.pb.h:9089
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
const ::operations_research::sat::BoolArgumentProto & bool_and() const
Definition: cp_model.pb.h:9617
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:252
void set_allocated_name(std::string *name)
Definition: cp_model.pb.h:9443
RoutesConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:2788
static const IntegerVariableProto & default_instance()
Definition: cp_model.pb.h:312
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5392
void unsafe_arena_set_allocated_start(::operations_research::sat::LinearExpressionProto *start)
Definition: cp_model.pb.h:7745
friend void swap(DenseMatrixProto &a, DenseMatrixProto &b)
Definition: cp_model.pb.h:5804
void unsafe_arena_set_allocated_capacity(::operations_research::sat::LinearExpressionProto *capacity)
Definition: cp_model.pb.h:8188
void UnsafeArenaSwap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2570
void set_intervals(int index, int32_t value)
Definition: cp_model.pb.h:8014
const ::operations_research::sat::LinearExpressionProto & start() const
Definition: cp_model.pb.h:7741
void unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_transition_head()
Definition: cp_model.pb.h:9254
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
Definition: cp_model.pb.h:9339
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & final_states() const
Definition: cp_model.pb.h:9151
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & y_intervals() const
Definition: cp_model.pb.h:8128
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_entries()
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2320
void UnsafeArenaSwap(IntegerVariableProto *other)
Definition: cp_model.pb.h:338
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & domain() const
Definition: cp_model.pb.h:7614
void UnsafeArenaSwap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1410
::operations_research::sat::LinearConstraintProto * unsafe_arena_release_linear()
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1394
void Swap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:5161
CpSolverResponse & operator=(const CpSolverResponse &from)
Definition: cp_model.pb.h:6600
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: cp_model.pb.h:53
void set_domain(int index, int64_t value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5785
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
::operations_research::sat::CircuitConstraintProto * mutable_circuit()
const ::operations_research::sat::LinearExpressionProto & capacity() const
Definition: cp_model.pb.h:8184
CpModelProto(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:6119
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & tails() const
Definition: cp_model.pb.h:8558
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
Definition: cp_model.pb.h:8924
static const DenseMatrixProto * internal_default_instance()
Definition: cp_model.pb.h:5797
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.cc:163
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:838
static const std::string & VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:5254
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
Definition: cp_model.pb.h:9399
LinearExpressionProto & operator=(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:625
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:6148
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
InverseConstraintProto & operator=(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3173
const ::operations_research::sat::LinearExpressionProto & size() const
Definition: cp_model.pb.h:7921
const ::operations_research::sat::FloatObjectiveProto & floating_point_objective() const
void UnsafeArenaSwap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2343
static const SymmetryProto & default_instance()
Definition: cp_model.pb.h:5976
void unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
Definition: cp_model.pb.h:9854
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() const
FloatObjectiveProto & operator=(const FloatObjectiveProto &from)
Definition: cp_model.pb.h:4747
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
Definition: cp_model.pb.h:5397
FloatObjectiveProto(FloatObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4742
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:645
const std::string name
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_heads()
Definition: cp_model.pb.h:8759
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1539
void Swap(CpSolverSolution *other)
Definition: cp_model.pb.h:6480
void set_level_changes(int index, int64_t value)
Definition: cp_model.pb.h:8444
ConstraintProto & operator=(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3789
void set_vars(int index, int32_t value)
Definition: cp_model.pb.h:7504
void unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5791
LinearArgumentProto & operator=(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:821
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & intervals() const
Definition: cp_model.pb.h:8030
friend void swap(DecisionStrategyProto_AffineTransformation &a, DecisionStrategyProto_AffineTransformation &b)
Definition: cp_model.pb.h:4990
SparsePermutationProto & operator=(const SparsePermutationProto &from)
Definition: cp_model.pb.h:5582
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:482
PROTOBUF_NODISCARD ::operations_research::sat::ListOfVariablesProto * release_dummy_constraint()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5145
void UnsafeArenaSwap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3222
ElementConstraintProto(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1352
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_variables()
CpModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:6185
void unsafe_arena_set_allocated_int_mod(::operations_research::sat::LinearArgumentProto *int_mod)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & transition_label() const
Definition: cp_model.pb.h:9292
void Swap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5437
DecisionStrategyProto & operator=(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:5125
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.cc:384
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:5427
::operations_research::sat::NoOverlapConstraintProto * mutable_no_overlap()
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_or()
Definition: cp_model.pb.h:9547
::operations_research::sat::AutomatonConstraintProto * mutable_automaton()
CpObjectiveProto & operator=(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4486
::operations_research::sat::TableConstraintProto * mutable_table()
void set_allocated_floating_point_objective(::operations_research::sat::FloatObjectiveProto *floating_point_objective)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_heads()
Definition: cp_model.pb.h:8614
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:6142
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:642
void set_enforcement_literal(int index, int32_t value)
Definition: cp_model.pb.h:9476
static const CircuitConstraintProto & default_instance()
Definition: cp_model.pb.h:2544
static const CpSolverSolution * internal_default_instance()
Definition: cp_model.pb.h:6470
const ::operations_research::sat::ElementConstraintProto & element() const
void Swap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2557
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2535
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
Definition: cp_model.pb.h:7520
bool DecisionStrategyProto_DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:237
void UnsafeArenaSwap(ConstraintProto *other)
Definition: cp_model.pb.h:3865
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_tightened_variables()
CircuitConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:2578
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
Definition: cp_model.pb.h:7714
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:6621
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_end()
Definition: cp_model.pb.h:7863
void UnsafeArenaSwap(LinearExpressionProto *other)
Definition: cp_model.pb.h:674
static const DecisionStrategyProto_AffineTransformation & default_instance()
Definition: cp_model.pb.h:4980
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_coeffs()
Definition: cp_model.pb.h:7576
void UnsafeArenaSwap(CpSolverSolution *other)
Definition: cp_model.pb.h:6493
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5418
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:4974
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_solution()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:6464
CumulativeConstraintProto & operator=(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2094
::operations_research::sat::CumulativeConstraintProto * mutable_cumulative()
void set_tails(int index, int32_t value)
Definition: cp_model.pb.h:8542
static const ClassData _class_data_
Definition: cp_model.pb.h:6223
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:224
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.cc:366
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2727
void Swap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4522
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5139
LinearArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:878
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_xor()
Definition: cp_model.pb.h:9843
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2748
void set_status(::operations_research::sat::CpSolverStatus value)
LinearConstraintProto(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1142
void Swap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:1934
TableConstraintProto & operator=(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2977
void set_allocated_capacity(::operations_research::sat::LinearExpressionProto *capacity)
Definition: cp_model.pb.h:8236
::operations_research::sat::NoOverlap2DConstraintProto * mutable_no_overlap_2d()
const ::operations_research::sat::RoutesConstraintProto & routes() const
void Swap(CpSolverResponse *other)
Definition: cp_model.pb.h:6640
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1387
static const ElementConstraintProto & default_instance()
Definition: cp_model.pb.h:1384
void set_vars(int index, int32_t value)
Definition: cp_model.pb.h:7689
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:854
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
Definition: cp_model.pb.h:8661
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:4482
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
Definition: cp_model.pb.h:7529
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:4503
void set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
void add_sufficient_assumptions_for_infeasibility(int32_t value)
void set_cycle_sizes(int index, int32_t value)
DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4948
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.cc:233
::operations_research::sat::IntegerVariableProto * add_variables()
static const LinearExpressionProto * internal_default_instance()
Definition: cp_model.pb.h:651
PROTOBUF_NODISCARD ::operations_research::sat::ElementConstraintProto * release_element()
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:280
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & level_changes() const
Definition: cp_model.pb.h:8460
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.cc:88
void Swap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5622
DecisionStrategyProto_AffineTransformation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:5014
FloatObjectiveProto & operator=(FloatObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4751
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:4971
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:254
ReservoirConstraintProto & operator=(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2294
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1013
CpModelProto & operator=(const CpModelProto &from)
Definition: cp_model.pb.h:6124
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:6458
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
Definition: cp_model.pb.h:322
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_f_direct()
Definition: cp_model.pb.h:9042
BoolArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:522
TableConstraintProto(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2968
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:4500
::operations_research::sat::InverseConstraintProto * mutable_inverse()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_sufficient_assumptions_for_infeasibility()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
Definition: cp_model.pb.cc:442
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3190
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.cc:178
ConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:3873
int64_t b
void Swap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1397
PROTOBUF_NODISCARD std::string * release_solve_log()
void UnsafeArenaSwap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1787
SparsePermutationProto(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5577
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:1147
static const BoolArgumentProto & default_instance()
Definition: cp_model.pb.h:488
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4512
const std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:230
friend void swap(SparsePermutationProto &a, SparsePermutationProto &b)
Definition: cp_model.pb.h:5619
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2541
void unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
Definition: cp_model.pb.h:9780
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_y_intervals()
Definition: cp_model.pb.h:8137
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5603
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:4771
const std::string & name() const
Definition: cp_model.pb.h:9412
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2311
void UnsafeArenaSwap(CpModelProto *other)
Definition: cp_model.pb.h:6177
ReservoirConstraintProto(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2285
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3842
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1918
static const CpSolverResponse & default_instance()
Definition: cp_model.pb.h:6627
void set_domain(int index, int64_t value)
Definition: cp_model.pb.h:7598
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:3354
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2114
::operations_research::sat::DecisionStrategyProto_AffineTransformation * add_transformations()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3378
void UnsafeArenaSwap(CpSolverResponse *other)
Definition: cp_model.pb.h:6653
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_max()
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:992
const ::operations_research::sat::PartialVariableAssignment & solution_hint() const
PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto * release_end()
Definition: cp_model.pb.h:7848
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & time_exprs() const
Definition: cp_model.pb.h:8422
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1557
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & coeffs() const
Definition: cp_model.pb.h:7567
::operations_research::sat::LinearExpressionProto * mutable_target()
Definition: cp_model.pb.h:7374
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:6618
const ::operations_research::sat::BoolArgumentProto & exactly_one() const
Definition: cp_model.pb.h:9765
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & domain() const
static bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableSelectionStrategy *value)
Definition: cp_model.pb.h:5260
void CopyFrom(const IntegerVariableProto &from)
void Swap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2130
CpSolverResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:6661
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:6145
FloatObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:4808
CpSolverSolution(CpSolverSolution &&from) noexcept
Definition: cp_model.pb.h:6435
::operations_research::sat::PartialVariableAssignment * unsafe_arena_release_solution_hint()
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
Definition: cp_model.pb.h:2290
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: cp_model.pb.h:52
void unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto *table)
const ::operations_research::sat::SymmetryProto & symmetry() const
::operations_research::sat::RoutesConstraintProto * mutable_routes()
SymmetryProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:6010
void Swap(BoolArgumentProto *other)
Definition: cp_model.pb.h:501
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5788
void unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
static const std::string & DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:5290
static const DecisionStrategyProto & default_instance()
Definition: cp_model.pb.h:5148
::operations_research::sat::BoolArgumentProto * mutable_bool_or()
Definition: cp_model.pb.h:9574
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & x_intervals() const
Definition: cp_model.pb.h:8081
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5970
const ::operations_research::sat::LinearConstraintProto & linear() const
int64_t max
Definition: alldiff_cst.cc:140
DenseMatrixProto & operator=(const DenseMatrixProto &from)
Definition: cp_model.pb.h:5767
static const TableConstraintProto & default_instance()
Definition: cp_model.pb.h:3000
static const DecisionStrategyProto_AffineTransformation * internal_default_instance()
Definition: cp_model.pb.h:4983
void UnsafeArenaSwap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:5174
void unsafe_arena_set_allocated_integer_objective(::operations_research::sat::CpObjectiveProto *integer_objective)
void set_vars(int index, int32_t value)
Definition: cp_model.pb.h:8899
void Swap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4993
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:639
PROTOBUF_NODISCARD ::operations_research::sat::InverseConstraintProto * release_inverse()
static const InverseConstraintProto & default_instance()
Definition: cp_model.pb.h:3196
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:315
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & heads() const
Definition: cp_model.pb.h:8750
void set_solution_info(ArgT0 &&arg0, ArgT... args)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & coeffs() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:479
static const LinearExpressionProto & default_instance()
Definition: cp_model.pb.h:648
CpSolverSolution & operator=(CpSolverSolution &&from) noexcept
Definition: cp_model.pb.h:6444
void UnsafeArenaSwap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:1947
void set_x_intervals(int index, int32_t value)
Definition: cp_model.pb.h:8065
SymmetryProto & operator=(const SymmetryProto &from)
Definition: cp_model.pb.h:5949
void set_variables(int index, int32_t value)
void UnsafeArenaSwap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1045
const ::operations_research::sat::LinearArgumentProto & lin_max() const
void UnsafeArenaSwap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3407
PROTOBUF_NODISCARD ::operations_research::sat::LinearConstraintProto * release_linear()
SymmetryProto(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5944
static const CpModelProto & default_instance()
Definition: cp_model.pb.h:6151
void set_heads(int index, int32_t value)
Definition: cp_model.pb.h:8589
void set_name(ArgT0 &&arg0, ArgT... args)
ListOfVariablesProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:3686
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:6154
void unsafe_arena_set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
Definition: cp_model.pb.h:7331
PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto * release_at_most_one()
Definition: cp_model.pb.h:9672
LinearExpressionProto & operator=(const LinearExpressionProto &from)
Definition: cp_model.pb.h:621
::operations_research::sat::IntegerVariableProto * add_tightened_variables()
SparsePermutationProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:5643
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1010
DenseMatrixProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:5828
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & sufficient_assumptions_for_infeasibility() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
Definition: cp_model.pb.h:7224
::operations_research::sat::BoolArgumentProto * mutable_bool_and()
Definition: cp_model.pb.h:9648
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::operations_research::sat::InverseConstraintProto * unsafe_arena_release_inverse()
PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto * release_exactly_one()
Definition: cp_model.pb.h:9746
PROTOBUF_NODISCARD ::operations_research::sat::SymmetryProto * release_symmetry()
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:461
PROTOBUF_NODISCARD ::operations_research::sat::NoOverlapConstraintProto * release_no_overlap()
void unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.h:5250
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:5158
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
bool CpSolverStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus *value)
Definition: cp_model.pb.h:265
IntegerVariableProto & operator=(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:289
::operations_research::sat::LinearExpressionProto * mutable_size()
Definition: cp_model.pb.h:7968
DecisionStrategyProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:5182
::operations_research::sat::CircuitConstraintProto * unsafe_arena_release_circuit()
const ::operations_research::sat::LinearArgumentProto & int_mod() const
Definition: cp_model.pb.h:9987
void set_inner_objective_lower_bound(int64_t value)
static const SymmetryProto * internal_default_instance()
Definition: cp_model.pb.h:5979
void UnsafeArenaSwap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1200
void unsafe_arena_set_allocated_size(::operations_research::sat::LinearExpressionProto *size)
Definition: cp_model.pb.h:7925
static const ListOfVariablesProto & default_instance()
Definition: cp_model.pb.h:3652
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3649
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
Definition: cp_model.pb.h:2327
friend void swap(SymmetryProto &a, SymmetryProto &b)
Definition: cp_model.pb.h:5986
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:306
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:5276
void unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
::operations_research::sat::NoOverlap2DConstraintProto * unsafe_arena_release_no_overlap_2d()
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1022
::operations_research::sat::LinearExpressionProto * add_exprs()
Definition: cp_model.pb.h:7472
LinearExpressionProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:682
void set_assumptions(int index, int32_t value)
::operations_research::sat::LinearConstraintProto * mutable_linear()
void unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_at_most_one()
Definition: cp_model.pb.h:9695
CpObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:4543
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:202
static const AutomatonConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3384
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.cc:213
void set_sufficient_assumptions_for_infeasibility(int index, int32_t value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_enforcement_literal()
Definition: cp_model.pb.h:9501
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & demands() const
Definition: cp_model.pb.h:8844
AutomatonConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:3415
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:197
void Swap(TableConstraintProto *other)
Definition: cp_model.pb.h:3013
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_allocated_integer_objective(::operations_research::sat::CpObjectiveProto *integer_objective)
IntervalConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:1600
const ::operations_research::sat::CpObjectiveProto & integer_objective() const
IntVar *const objective_
Definition: search.cc:3017
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
void set_domain(int index, int64_t value)
Definition: cp_model.pb.h:7106
::operations_research::sat::LinearExpressionProto * mutable_start()
Definition: cp_model.pb.h:7788
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:498
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1177
PROTOBUF_NODISCARD ::operations_research::sat::PartialVariableAssignment * release_solution_hint()
::operations_research::sat::ConstraintProto * add_constraints()
::operations_research::sat::LinearArgumentProto * mutable_int_mod()
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
Definition: cp_model.pb.h:1894
void UnsafeArenaSwap(BoolArgumentProto *other)
Definition: cp_model.pb.h:514
static const RoutesConstraintProto & default_instance()
Definition: cp_model.pb.h:2754
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
Definition: cp_model.pb.cc:429
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3643
const ::operations_research::sat::LinearExpressionProto & target() const
Definition: cp_model.pb.h:7327
static const LinearConstraintProto & default_instance()
Definition: cp_model.pb.h:1174
PROTOBUF_NODISCARD ::operations_research::sat::CpObjectiveProto * release_objective()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2308
const std::string & solve_log() const
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
Definition: cp_model.pb.h:7173
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:3169
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3391
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
Definition: cp_model.pb.h:8797
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:3206
const ::operations_research::sat::CpObjectiveProto & objective() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2111
CpSolverResponse(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:6595
static const ReservoirConstraintProto & default_instance()
Definition: cp_model.pb.h:2317
friend void swap(FloatObjectiveProto &a, FloatObjectiveProto &b)
Definition: cp_model.pb.h:4784
void unsafe_arena_set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5401
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2108
PROTOBUF_NODISCARD ::operations_research::sat::CumulativeConstraintProto * release_cumulative()
void set_transition_tail(int index, int64_t value)
Definition: cp_model.pb.h:9182
void set_values(int index, int64_t value)
Definition: cp_model.pb.h:8946
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & f_direct() const
Definition: cp_model.pb.h:9033
int64_t capacity
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_start()
Definition: cp_model.pb.h:7773
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2745
PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto * release_start()
Definition: cp_model.pb.h:7758
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1168
PROTOBUF_NODISCARD ::operations_research::sat::TableConstraintProto * release_table()
void set_values(int index, int64_t value)
static const SparsePermutationProto * internal_default_instance()
Definition: cp_model.pb.h:5612
::operations_research::sat::CpObjectiveProto * mutable_integer_objective()
::operations_research::sat::SymmetryProto * unsafe_arena_release_symmetry()
IntervalConstraintProto(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1534
int index
Definition: pack.cc:509
void UnsafeArenaSwap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5820
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.cc:105
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
Definition: cp_model.pb.h:7458
::operations_research::sat::FloatObjectiveProto * mutable_floating_point_objective()
ElementConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:1418
::operations_research::sat::IntervalConstraintProto * mutable_interval()
::operations_research::sat::LinearExpressionProto * add_time_exprs()
Definition: cp_model.pb.h:8416
CircuitConstraintProto(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2512
void unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
const ::operations_research::sat::InverseConstraintProto & inverse() const
BoolArgumentProto & operator=(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:465
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & values() const
Definition: cp_model.pb.h:8962
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_time_exprs()
Definition: cp_model.pb.h:8402
PROTOBUF_NODISCARD ::operations_research::sat::RoutesConstraintProto * release_routes()
DenseMatrixProto & operator=(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5771
void Swap(LinearExpressionProto *other)
Definition: cp_model.pb.h:661
const std::string & name() const
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:1931
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1924
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_assumptions()
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:6630
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:226
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2751
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
void UnsafeArenaSwap(TableConstraintProto *other)
Definition: cp_model.pb.h:3026
void set_tails(int index, int32_t value)
Definition: cp_model.pb.h:8687
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_domain()
Definition: cp_model.pb.h:7131
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:1357
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > * mutable_orbitopes()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_demands()
Definition: cp_model.pb.h:8853
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1165
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
void set_allocated_end(::operations_research::sat::LinearExpressionProto *end)
Definition: cp_model.pb.h:7883
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5967
::operations_research::sat::LinearExpressionProto * mutable_end()
Definition: cp_model.pb.h:7878
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_coeffs()
Definition: cp_model.pb.h:7280
PROTOBUF_NODISCARD std::string * release_name()
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:658
void set_f_direct(int index, int32_t value)
Definition: cp_model.pb.h:9017
ListOfVariablesProto & operator=(const ListOfVariablesProto &from)
Definition: cp_model.pb.h:3625
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3193
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_demands()
Definition: cp_model.pb.h:8318
void set_literals(int index, int32_t value)
Definition: cp_model.pb.h:8636
IntegerVariableProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:346
static const AllDifferentConstraintProto & default_instance()
Definition: cp_model.pb.h:1019
void Swap(LinearArgumentProto *other)
Definition: cp_model.pb.h:857
NoOverlapConstraintProto(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1729
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:258
::operations_research::sat::ListOfVariablesProto * mutable_dummy_constraint()
const ::operations_research::sat::LinearExpressionProto & end() const
Definition: cp_model.pb.h:7831
CumulativeConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:2151
PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto * release_int_prod()
const std::vector< IntVar * > vars_
Definition: alldiff_cst.cc:44
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1915
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.cc:314
::operations_research::sat::LinearExpressionProto * mutable_capacity()
Definition: cp_model.pb.h:8231
DecisionStrategyProto_AffineTransformation & operator=(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4957
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_exactly_one()
Definition: cp_model.pb.h:9769
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_support()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
Definition: cp_model.pb.h:7233
::operations_research::sat::CpSolverStatus status() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5600
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2547
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:4765
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_
Definition: cp_model.pb.cc:299
void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:5006
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
Definition: cp_model.pb.h:8806
void unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > & transformations() const
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:3010
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FloatObjectiveProtoDefaultTypeInternal _FloatObjectiveProto_default_instance_
Definition: cp_model.pb.cc:352
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1755
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_transition_label()
Definition: cp_model.pb.h:9301
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2991
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2764
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.cc:399
friend void swap(CpModelProto &a, CpModelProto &b)
Definition: cp_model.pb.h:6161
void UnsafeArenaSwap(FloatObjectiveProto *other)
Definition: cp_model.pb.h:4800
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:285
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1752
void UnsafeArenaSwap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1592
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1378
::operations_research::sat::CpObjectiveProto * unsafe_arena_release_integer_objective()
CpObjectiveProto(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4477
::operations_research::sat::DenseMatrixProto * add_orbitopes()
void set_coeffs(int index, int64_t value)
Definition: cp_model.pb.h:7255
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
CpSolverSolution * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:6501
PROTOBUF_NODISCARD ::operations_research::sat::AllDifferentConstraintProto * release_all_diff()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.cc:286
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.cc:196
void Swap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1579
void set_transition_head(int index, int64_t value)
Definition: cp_model.pb.h:9229
InverseConstraintProto(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3164
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & variables() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
::operations_research::sat::LinearArgumentProto * mutable_int_div()
Definition: cp_model.pb.h:9944
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_values()
Definition: cp_model.pb.h:8971
static const AutomatonConstraintProto & default_instance()
Definition: cp_model.pb.h:3381
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
Definition: cp_model.pb.cc:34
friend void swap(AllDifferentConstraintProto &a, AllDifferentConstraintProto &b)
Definition: cp_model.pb.h:1029
const ::operations_research::sat::CircuitConstraintProto & circuit() const
NoOverlapConstraintProto & operator=(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1738
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_coeffs()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1016
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1569
void unsafe_arena_set_allocated_floating_point_objective(::operations_research::sat::FloatObjectiveProto *floating_point_objective)
NoOverlap2DConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:1955
void set_name(ArgT0 &&arg0, ArgT... args)
DenseMatrixProto(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5762
void set_final_states(int index, int64_t value)
Definition: cp_model.pb.h:9135
RoutesConstraintProto & operator=(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2731
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & transition_tail() const
Definition: cp_model.pb.h:9198
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_and()
Definition: cp_model.pb.h:9621
void Swap(SymmetryProto *other)
Definition: cp_model.pb.h:5989
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
void set_solve_log(ArgT0 &&arg0, ArgT... args)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_values()
void Swap(IntegerVariableProto *other)
Definition: cp_model.pb.h:325
static const CumulativeConstraintProto & default_instance()
Definition: cp_model.pb.h:2117
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_int_prod()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
const std::string & solution_info() const
AllDifferentConstraintProto & operator=(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:996
PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto * release_bool_xor()
Definition: cp_model.pb.h:9820
PROTOBUF_NODISCARD std::string * release_name()
Definition: cp_model.pb.h:9439
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:485
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:6637
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:198
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_tails()
Definition: cp_model.pb.h:8567
void set_support(int index, int32_t value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.cc:76
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
Definition: cp_model.pb.h:5265
static const FloatObjectiveProto & default_instance()
Definition: cp_model.pb.h:4774
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_active_literals()
Definition: cp_model.pb.h:8516
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:3849
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5421
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
Definition: cp_model.pb.h:7434
void Swap(ListOfVariablesProto *other)
Definition: cp_model.pb.h:3665
void Swap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2767
void set_vars(int index, int32_t value)
Definition: cp_model.pb.h:7208
void unsafe_arena_set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & active_literals() const
Definition: cp_model.pb.h:8507
void set_heads(int index, int32_t value)
Definition: cp_model.pb.h:8734
static const ConstraintProto & default_instance()
Definition: cp_model.pb.h:3812
PROTOBUF_NODISCARD std::string * release_name()
Definition: cp_model.pb.h:7069
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3803
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
Definition: cp_model.pb.h:7705
::operations_research::sat::FloatObjectiveProto * unsafe_arena_release_floating_point_objective()
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
Definition: cp_model.pb.h:1734
AllDifferentConstraintProto(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:987
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_vars()
Definition: cp_model.pb.h:9348
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2994
void set_name(ArgT0 &&arg0, ArgT... args)
void set_vars(int index, int32_t value)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_capacity()
Definition: cp_model.pb.h:8216
void set_allocated_solve_log(std::string *solve_log)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.cc:264
void unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
Definition: cp_model.pb.h:9632
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_target()
Definition: cp_model.pb.h:7359
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:4768
::operations_research::sat::CumulativeConstraintProto * unsafe_arena_release_cumulative()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & f_inverse() const
Definition: cp_model.pb.h:9080
void unsafe_arena_set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto *dummy_constraint)
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:2090
void Swap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3394
void Swap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2330
::operations_research::sat::AutomatonConstraintProto * unsafe_arena_release_automaton()
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
Definition: cp_model.pb.h:9839
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1375
NoOverlapConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:1795
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DomainReductionStrategy_descriptor()
Definition: cp_model.pb.h:5286
void unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
LinearConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:1208
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:5434
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3646
static const NoOverlapConstraintProto & default_instance()
Definition: cp_model.pb.h:1761
void set_literals(int index, int32_t value)
Definition: cp_model.pb.h:7157
void set_allocated_start(::operations_research::sat::LinearExpressionProto *start)
Definition: cp_model.pb.h:7793
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2538
PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto * release_int_div()
Definition: cp_model.pb.h:9894
PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto * release_target()
Definition: cp_model.pb.h:7344
void set_entries(int index, int32_t value)
::operations_research::sat::ElementConstraintProto * unsafe_arena_release_element()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5973
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:303
DecisionStrategyProto & operator=(const DecisionStrategyProto &from)
Definition: cp_model.pb.h:5121
static const SparsePermutationProto & default_instance()
Definition: cp_model.pb.h:5609
void unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
Definition: cp_model.pb.h:9706
static bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DomainReductionStrategy *value)
Definition: cp_model.pb.h:5296
static const NoOverlap2DConstraintProto & default_instance()
Definition: cp_model.pb.h:1921
static const TableConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3003
CircuitConstraintProto & operator=(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2521
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.cc:147
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:2554
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5606
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & tightened_variables() const
ReservoirConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:2351
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2120
Collection of objects used to extend the Constraint Solver library.
CumulativeConstraintProto(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2085
void set_transition_label(int index, int64_t value)
Definition: cp_model.pb.h:9276
CpModelProto & operator=(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:6128
void UnsafeArenaSwap(SymmetryProto *other)
Definition: cp_model.pb.h:6002
::operations_research::sat::CpObjectiveProto * mutable_objective()
void Swap(FloatObjectiveProto *other)
Definition: cp_model.pb.h:4787
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & support() const
void unsafe_arena_set_allocated_int_div(::operations_research::sat::LinearArgumentProto *int_div)
Definition: cp_model.pb.h:9928
PROTOBUF_NODISCARD std::string * release_solution_info()
ListOfVariablesProto(ListOfVariablesProto &&from) noexcept
Definition: cp_model.pb.h:3620
void Swap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1032
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:2517
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
Definition: cp_model.pb.cc:47
CpSolverResponse & operator=(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:6604
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_tails()
Definition: cp_model.pb.h:8712
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:2973
const int64_t offset_
Definition: interval.cc:2108
const ::operations_research::sat::IntervalConstraintProto & interval() const
RoutesConstraintProto(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2722
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_int_mod()
Definition: cp_model.pb.h:9991
void set_allocated_size(::operations_research::sat::LinearExpressionProto *size)
Definition: cp_model.pb.h:7973
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:835
void set_coeffs(int index, double value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
void Swap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3209
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.cc:120
PROTOBUF_NODISCARD ::operations_research::sat::NoOverlap2DConstraintProto * release_no_overlap_2d()
void set_solution(int index, int64_t value)
SparsePermutationProto & operator=(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5586
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & transition_head() const
Definition: cp_model.pb.h:9245
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:196
::operations_research::sat::PartialVariableAssignment * mutable_solution_hint()
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:225
friend void swap(ListOfVariablesProto &a, ListOfVariablesProto &b)
Definition: cp_model.pb.h:3662
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:6461
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_final_states()
Definition: cp_model.pb.h:9160
::operations_research::sat::ListOfVariablesProto * unsafe_arena_release_dummy_constraint()
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_size()
Definition: cp_model.pb.h:7953
BoolArgumentProto(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:456
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:4506
void unsafe_arena_set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
void set_vars(int index, int32_t value)
Definition: cp_model.pb.h:9374
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverSolutionDefaultTypeInternal _CpSolverSolution_default_instance_
Definition: cp_model.pb.cc:476
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & heads() const
Definition: cp_model.pb.h:8605
::operations_research::sat::LinearArgumentProto * mutable_lin_max()
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > * mutable_search_strategy()
static const RoutesConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2757
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1560
void set_y_intervals(int index, int32_t value)
Definition: cp_model.pb.h:8112
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_coeffs()
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:3785
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:253
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
Definition: cp_model.pb.h:8652
void Swap(CpModelProto *other)
Definition: cp_model.pb.h:6164
void UnsafeArenaSwap(ListOfVariablesProto *other)
Definition: cp_model.pb.h:3678
::operations_research::sat::ReservoirConstraintProto * mutable_reservoir()
void UnsafeArenaSwap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4535
void set_f_inverse(int index, int32_t value)
Definition: cp_model.pb.h:9064
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1381
static const CpObjectiveProto & default_instance()
Definition: cp_model.pb.h:4509
static const DenseMatrixProto & default_instance()
Definition: cp_model.pb.h:5794
void set_coeffs(int index, int64_t value)
const bool maximize_
Definition: search.cc:2559
AllDifferentConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:1053
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:4977
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_transition_tail()
Definition: cp_model.pb.h:9207
friend void swap(CpSolverSolution &a, CpSolverSolution &b)
Definition: cp_model.pb.h:6477
PROTOBUF_NODISCARD ::operations_research::sat::LinearExpressionProto * release_size()
Definition: cp_model.pb.h:7938
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_values()
PROTOBUF_NODISCARD ::operations_research::sat::CpObjectiveProto * release_integer_objective()
void set_demands(int index, int32_t value)
Definition: cp_model.pb.h:8828
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & values() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & enforcement_literal() const
Definition: cp_model.pb.h:9492
void Swap(ConstraintProto *other)
Definition: cp_model.pb.h:3852
CpSolverSolution & operator=(const CpSolverSolution &from)
Definition: cp_model.pb.h:6440
PROTOBUF_NODISCARD ::operations_research::sat::CircuitConstraintProto * release_circuit()
void unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
const ::operations_research::sat::ListOfVariablesProto & dummy_constraint() const
LinearArgumentProto(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:812
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_variables()
void set_coeffs(int index, int64_t value)
Definition: cp_model.pb.h:7551
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:4953
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
Definition: cp_model.pb.cc:463
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & cycle_sizes() const
const ::operations_research::sat::LinearArgumentProto & int_div() const
Definition: cp_model.pb.h:9913
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & values() const
ElementConstraintProto & operator=(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1361
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:6624
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & tails() const
Definition: cp_model.pb.h:8703
::operations_research::sat::SymmetryProto * mutable_symmetry()
InverseConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:3230
::operations_research::sat::BoolArgumentProto * mutable_bool_xor()
Definition: cp_model.pb.h:9870
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1758
NoOverlap2DConstraintProto(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1889
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > & permutations() const
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1576
void Swap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1774
void Swap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5807
::operations_research::sat::TableConstraintProto * unsafe_arena_release_table()
void unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
Definition: cp_model.pb.h:9558
void set_active_literals(int index, int32_t value)
Definition: cp_model.pb.h:8491
AutomatonConstraintProto & operator=(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3358
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & entries() const
PROTOBUF_NODISCARD ::operations_research::sat::LinearArgumentProto * release_lin_max()
void set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
bool CpSolverStatus_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void UnsafeArenaSwap(LinearArgumentProto *other)
Definition: cp_model.pb.h:870
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1563
LinearConstraintProto & operator=(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1151
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5415
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_intervals()
Definition: cp_model.pb.h:8298
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.cc:512
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:4519
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3375
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
Definition: cp_model.pb.cc:414
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:491
void set_vars(int index, int32_t value)
int64_t value
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > & constraints() const
::operations_research::sat::RoutesConstraintProto * unsafe_arena_release_routes()
NoOverlap2DConstraintProto & operator=(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1898
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & solution() const
IntervalVar * interval
Definition: resource.cc:100
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
Definition: cp_model.pb.h:9390
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & intervals() const
Definition: cp_model.pb.h:8289
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > * mutable_transformations()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > & orbitopes() const
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
Definition: cp_model.pb.h:1771
LinearExpressionProto(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:616
void UnsafeArenaSwap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5450
static const PartialVariableAssignment & default_instance()
Definition: cp_model.pb.h:5424
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & coeffs() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
Definition: cp_model.pb.h:7478
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3806
void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
ListOfVariablesProto & operator=(ListOfVariablesProto &&from) noexcept
Definition: cp_model.pb.h:3629
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & demands() const
Definition: cp_model.pb.h:8338
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_cycle_sizes()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2314
void Swap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1187
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.cc:63
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & vars() const
Definition: cp_model.pb.h:8915
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2997
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
Definition: cp_model.pb.h:7182
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_domain()
::operations_research::sat::CpObjectiveProto * unsafe_arena_release_objective()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::CpSolverSolution > & additional_solutions() const
::operations_research::sat::BoolArgumentProto * mutable_at_most_one()
Definition: cp_model.pb.h:9722
const ::operations_research::sat::LinearArgumentProto & int_prod() const
TableConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition: cp_model.pb.h:3034
int64_t a
PROTOBUF_NODISCARD ::operations_research::sat::BoolArgumentProto * release_bool_and()
Definition: cp_model.pb.h:9598
static const ListOfVariablesProto * internal_default_instance()
Definition: cp_model.pb.h:3655
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:841
void set_intervals(int index, int32_t value)
Definition: cp_model.pb.h:8273