OR-Tools  9.1
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 < 3017000
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 3017003 < 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[29]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
54  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
55 };
56 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto;
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 CumulativeConstraintProto;
84 struct CumulativeConstraintProtoDefaultTypeInternal;
85 extern CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_;
86 class DecisionStrategyProto;
87 struct DecisionStrategyProtoDefaultTypeInternal;
88 extern DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_;
89 class DecisionStrategyProto_AffineTransformation;
90 struct DecisionStrategyProto_AffineTransformationDefaultTypeInternal;
91 extern DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_;
92 class DenseMatrixProto;
93 struct DenseMatrixProtoDefaultTypeInternal;
94 extern DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_;
95 class ElementConstraintProto;
96 struct ElementConstraintProtoDefaultTypeInternal;
97 extern ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_;
98 class IntegerArgumentProto;
99 struct IntegerArgumentProtoDefaultTypeInternal;
100 extern IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_;
101 class IntegerVariableProto;
102 struct IntegerVariableProtoDefaultTypeInternal;
103 extern IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_;
104 class IntervalConstraintProto;
105 struct IntervalConstraintProtoDefaultTypeInternal;
106 extern IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_;
107 class InverseConstraintProto;
108 struct InverseConstraintProtoDefaultTypeInternal;
109 extern InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_;
110 class LinearArgumentProto;
111 struct LinearArgumentProtoDefaultTypeInternal;
112 extern LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_;
113 class LinearConstraintProto;
114 struct LinearConstraintProtoDefaultTypeInternal;
115 extern LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_;
116 class LinearExpressionProto;
117 struct LinearExpressionProtoDefaultTypeInternal;
118 extern LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_;
119 class ListOfVariablesProto;
120 struct ListOfVariablesProtoDefaultTypeInternal;
121 extern ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_;
122 class NoOverlap2DConstraintProto;
123 struct NoOverlap2DConstraintProtoDefaultTypeInternal;
124 extern NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_;
125 class NoOverlapConstraintProto;
126 struct NoOverlapConstraintProtoDefaultTypeInternal;
127 extern NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_;
128 class PartialVariableAssignment;
129 struct PartialVariableAssignmentDefaultTypeInternal;
130 extern PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_;
131 class ReservoirConstraintProto;
132 struct ReservoirConstraintProtoDefaultTypeInternal;
133 extern ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_;
134 class RoutesConstraintProto;
135 struct RoutesConstraintProtoDefaultTypeInternal;
136 extern RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_;
137 class SparsePermutationProto;
138 struct SparsePermutationProtoDefaultTypeInternal;
139 extern SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_;
140 class SymmetryProto;
141 struct SymmetryProtoDefaultTypeInternal;
142 extern SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_;
143 class TableConstraintProto;
144 struct TableConstraintProtoDefaultTypeInternal;
145 extern TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_;
146 } // namespace sat
147 } // namespace operations_research
148 PROTOBUF_NAMESPACE_OPEN
149 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
150 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
151 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
152 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
153 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
154 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
155 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
156 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
157 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
158 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
159 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
160 template<> ::operations_research::sat::DenseMatrixProto* Arena::CreateMaybeMessage<::operations_research::sat::DenseMatrixProto>(Arena*);
161 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
162 template<> ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerArgumentProto>(Arena*);
163 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
164 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
165 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
166 template<> ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearArgumentProto>(Arena*);
167 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
168 template<> ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(Arena*);
169 template<> ::operations_research::sat::ListOfVariablesProto* Arena::CreateMaybeMessage<::operations_research::sat::ListOfVariablesProto>(Arena*);
170 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
171 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
172 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
173 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
174 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
175 template<> ::operations_research::sat::SparsePermutationProto* Arena::CreateMaybeMessage<::operations_research::sat::SparsePermutationProto>(Arena*);
176 template<> ::operations_research::sat::SymmetryProto* Arena::CreateMaybeMessage<::operations_research::sat::SymmetryProto>(Arena*);
177 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
178 PROTOBUF_NAMESPACE_CLOSE
179 namespace operations_research {
180 namespace sat {
181 
190 };
195 
196 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
197 template<typename T>
198 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
201  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
202  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
204 }
206  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy* value) {
207  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
209 }
218 };
223 
224 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
225 template<typename T>
226 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
229  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
230  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
232 }
234  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy* value) {
235  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
237 }
238 enum CpSolverStatus : int {
239  UNKNOWN = 0,
241  FEASIBLE = 2,
243  OPTIMAL = 4,
246 };
247 bool CpSolverStatus_IsValid(int value);
251 
252 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
253 template<typename T>
254 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
255  static_assert(::std::is_same<T, CpSolverStatus>::value ||
257  "Incorrect type passed to function CpSolverStatus_Name.");
258  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
259  CpSolverStatus_descriptor(), enum_t_value);
260 }
262  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus* value) {
263  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
265 }
266 // ===================================================================
267 
268 class IntegerVariableProto final :
269  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
270  public:
272  ~IntegerVariableProto() override;
273  explicit constexpr IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
274 
278  *this = ::std::move(from);
279  }
280 
282  CopyFrom(from);
283  return *this;
284  }
286  if (this == &from) return *this;
287  if (GetOwningArena() == from.GetOwningArena()) {
288  InternalSwap(&from);
289  } else {
290  CopyFrom(from);
291  }
292  return *this;
293  }
294 
295  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
296  return GetDescriptor();
297  }
298  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
299  return default_instance().GetMetadata().descriptor;
300  }
301  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
302  return default_instance().GetMetadata().reflection;
303  }
305  return *internal_default_instance();
306  }
308  return reinterpret_cast<const IntegerVariableProto*>(
310  }
311  static constexpr int kIndexInFileMessages =
312  0;
313 
315  a.Swap(&b);
316  }
317  inline void Swap(IntegerVariableProto* other) {
318  if (other == this) return;
319  if (GetOwningArena() == other->GetOwningArena()) {
320  InternalSwap(other);
321  } else {
322  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
323  }
324  }
326  if (other == this) return;
327  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
328  InternalSwap(other);
329  }
330 
331  // implements Message ----------------------------------------------
332 
333  inline IntegerVariableProto* New() const final {
334  return new IntegerVariableProto();
335  }
336 
337  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
338  return CreateMaybeMessage<IntegerVariableProto>(arena);
339  }
340  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
341  void CopyFrom(const IntegerVariableProto& from);
342  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
343  void MergeFrom(const IntegerVariableProto& from);
344  private:
345  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
346  public:
347  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
348  bool IsInitialized() const final;
349 
350  size_t ByteSizeLong() const final;
351  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
352  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
353  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
354  int GetCachedSize() const final { return _cached_size_.Get(); }
355 
356  private:
357  void SharedCtor();
358  void SharedDtor();
359  void SetCachedSize(int size) const final;
360  void InternalSwap(IntegerVariableProto* other);
361  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
362  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
363  return "operations_research.sat.IntegerVariableProto";
364  }
365  protected:
366  explicit IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
367  bool is_message_owned = false);
368  private:
369  static void ArenaDtor(void* object);
370  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
371  public:
372 
373  static const ClassData _class_data_;
374  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
375 
376  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
377 
378  // nested types ----------------------------------------------------
379 
380  // accessors -------------------------------------------------------
381 
382  enum : int {
385  };
386  // repeated int64 domain = 2;
387  int domain_size() const;
388  private:
389  int _internal_domain_size() const;
390  public:
391  void clear_domain();
392  private:
393  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
394  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
395  _internal_domain() const;
396  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
397  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
398  _internal_mutable_domain();
399  public:
400  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
401  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
402  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
403  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
404  domain() const;
405  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
406  mutable_domain();
407 
408  // string name = 1;
409  void clear_name();
410  const std::string& name() const;
411  template <typename ArgT0 = const std::string&, typename... ArgT>
412  void set_name(ArgT0&& arg0, ArgT... args);
413  std::string* mutable_name();
414  PROTOBUF_MUST_USE_RESULT std::string* release_name();
415  void set_allocated_name(std::string* name);
416  private:
417  const std::string& _internal_name() const;
418  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
419  std::string* _internal_mutable_name();
420  public:
421 
422  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
423  private:
424  class _Internal;
425 
426  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
427  typedef void InternalArenaConstructable_;
428  typedef void DestructorSkippable_;
429  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
430  mutable std::atomic<int> _domain_cached_byte_size_;
431  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
432  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
433  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
434 };
435 // -------------------------------------------------------------------
436 
437 class BoolArgumentProto final :
438  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
439  public:
440  inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
441  ~BoolArgumentProto() override;
442  explicit constexpr BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
443 
446  : BoolArgumentProto() {
447  *this = ::std::move(from);
448  }
449 
451  CopyFrom(from);
452  return *this;
453  }
454  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
455  if (this == &from) return *this;
456  if (GetOwningArena() == from.GetOwningArena()) {
457  InternalSwap(&from);
458  } else {
459  CopyFrom(from);
460  }
461  return *this;
462  }
463 
464  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
465  return GetDescriptor();
466  }
467  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
468  return default_instance().GetMetadata().descriptor;
469  }
470  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
471  return default_instance().GetMetadata().reflection;
472  }
474  return *internal_default_instance();
475  }
477  return reinterpret_cast<const BoolArgumentProto*>(
479  }
480  static constexpr int kIndexInFileMessages =
481  1;
482 
484  a.Swap(&b);
485  }
486  inline void Swap(BoolArgumentProto* other) {
487  if (other == this) return;
488  if (GetOwningArena() == other->GetOwningArena()) {
489  InternalSwap(other);
490  } else {
491  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
492  }
493  }
495  if (other == this) return;
496  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
497  InternalSwap(other);
498  }
499 
500  // implements Message ----------------------------------------------
501 
502  inline BoolArgumentProto* New() const final {
503  return new BoolArgumentProto();
504  }
505 
506  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
507  return CreateMaybeMessage<BoolArgumentProto>(arena);
508  }
509  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
510  void CopyFrom(const BoolArgumentProto& from);
511  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
512  void MergeFrom(const BoolArgumentProto& from);
513  private:
514  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
515  public:
516  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
517  bool IsInitialized() const final;
518 
519  size_t ByteSizeLong() const final;
520  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
521  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
522  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
523  int GetCachedSize() const final { return _cached_size_.Get(); }
524 
525  private:
526  void SharedCtor();
527  void SharedDtor();
528  void SetCachedSize(int size) const final;
529  void InternalSwap(BoolArgumentProto* other);
530  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
531  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
532  return "operations_research.sat.BoolArgumentProto";
533  }
534  protected:
535  explicit BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
536  bool is_message_owned = false);
537  private:
538  static void ArenaDtor(void* object);
539  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
540  public:
541 
542  static const ClassData _class_data_;
543  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
544 
545  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
546 
547  // nested types ----------------------------------------------------
548 
549  // accessors -------------------------------------------------------
550 
551  enum : int {
553  };
554  // repeated int32 literals = 1;
555  int literals_size() const;
556  private:
557  int _internal_literals_size() const;
558  public:
559  void clear_literals();
560  private:
561  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
562  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
563  _internal_literals() const;
564  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
565  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
566  _internal_mutable_literals();
567  public:
568  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
569  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
570  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
571  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
572  literals() const;
573  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
575 
576  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
577  private:
578  class _Internal;
579 
580  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
581  typedef void InternalArenaConstructable_;
582  typedef void DestructorSkippable_;
583  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
584  mutable std::atomic<int> _literals_cached_byte_size_;
585  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
586  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
587 };
588 // -------------------------------------------------------------------
589 
590 class IntegerArgumentProto final :
591  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerArgumentProto) */ {
592  public:
594  ~IntegerArgumentProto() override;
595  explicit constexpr IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
596 
600  *this = ::std::move(from);
601  }
602 
604  CopyFrom(from);
605  return *this;
606  }
608  if (this == &from) return *this;
609  if (GetOwningArena() == from.GetOwningArena()) {
610  InternalSwap(&from);
611  } else {
612  CopyFrom(from);
613  }
614  return *this;
615  }
616 
617  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
618  return GetDescriptor();
619  }
620  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
621  return default_instance().GetMetadata().descriptor;
622  }
623  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
624  return default_instance().GetMetadata().reflection;
625  }
627  return *internal_default_instance();
628  }
630  return reinterpret_cast<const IntegerArgumentProto*>(
632  }
633  static constexpr int kIndexInFileMessages =
634  2;
635 
637  a.Swap(&b);
638  }
639  inline void Swap(IntegerArgumentProto* other) {
640  if (other == this) return;
641  if (GetOwningArena() == other->GetOwningArena()) {
642  InternalSwap(other);
643  } else {
644  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
645  }
646  }
648  if (other == this) return;
649  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
650  InternalSwap(other);
651  }
652 
653  // implements Message ----------------------------------------------
654 
655  inline IntegerArgumentProto* New() const final {
656  return new IntegerArgumentProto();
657  }
658 
659  IntegerArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
660  return CreateMaybeMessage<IntegerArgumentProto>(arena);
661  }
662  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
663  void CopyFrom(const IntegerArgumentProto& from);
664  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
665  void MergeFrom(const IntegerArgumentProto& from);
666  private:
667  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
668  public:
669  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
670  bool IsInitialized() const final;
671 
672  size_t ByteSizeLong() const final;
673  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
674  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
675  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
676  int GetCachedSize() const final { return _cached_size_.Get(); }
677 
678  private:
679  void SharedCtor();
680  void SharedDtor();
681  void SetCachedSize(int size) const final;
682  void InternalSwap(IntegerArgumentProto* other);
683  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
684  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
685  return "operations_research.sat.IntegerArgumentProto";
686  }
687  protected:
688  explicit IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
689  bool is_message_owned = false);
690  private:
691  static void ArenaDtor(void* object);
692  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
693  public:
694 
695  static const ClassData _class_data_;
696  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
697 
698  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
699 
700  // nested types ----------------------------------------------------
701 
702  // accessors -------------------------------------------------------
703 
704  enum : int {
707  };
708  // repeated int32 vars = 2;
709  int vars_size() const;
710  private:
711  int _internal_vars_size() const;
712  public:
713  void clear_vars();
714  private:
715  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
716  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
717  _internal_vars() const;
718  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
719  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
720  _internal_mutable_vars();
721  public:
722  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
723  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
724  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
725  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
726  vars() const;
727  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
728  mutable_vars();
729 
730  // int32 target = 1;
731  void clear_target();
732  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
733  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
734  private:
735  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
736  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
737  public:
738 
739  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerArgumentProto)
740  private:
741  class _Internal;
742 
743  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
744  typedef void InternalArenaConstructable_;
745  typedef void DestructorSkippable_;
746  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
747  mutable std::atomic<int> _vars_cached_byte_size_;
748  ::PROTOBUF_NAMESPACE_ID::int32 target_;
749  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
750  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
751 };
752 // -------------------------------------------------------------------
753 
755  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
756  public:
758  ~LinearExpressionProto() override;
759  explicit constexpr LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
760 
764  *this = ::std::move(from);
765  }
766 
768  CopyFrom(from);
769  return *this;
770  }
772  if (this == &from) return *this;
773  if (GetOwningArena() == from.GetOwningArena()) {
774  InternalSwap(&from);
775  } else {
776  CopyFrom(from);
777  }
778  return *this;
779  }
780 
781  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
782  return GetDescriptor();
783  }
784  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
785  return default_instance().GetMetadata().descriptor;
786  }
787  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
788  return default_instance().GetMetadata().reflection;
789  }
791  return *internal_default_instance();
792  }
794  return reinterpret_cast<const LinearExpressionProto*>(
796  }
797  static constexpr int kIndexInFileMessages =
798  3;
799 
801  a.Swap(&b);
802  }
803  inline void Swap(LinearExpressionProto* other) {
804  if (other == this) return;
805  if (GetOwningArena() == other->GetOwningArena()) {
806  InternalSwap(other);
807  } else {
808  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
809  }
810  }
812  if (other == this) return;
813  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
814  InternalSwap(other);
815  }
816 
817  // implements Message ----------------------------------------------
818 
819  inline LinearExpressionProto* New() const final {
820  return new LinearExpressionProto();
821  }
822 
823  LinearExpressionProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
824  return CreateMaybeMessage<LinearExpressionProto>(arena);
825  }
826  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
827  void CopyFrom(const LinearExpressionProto& from);
828  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
829  void MergeFrom(const LinearExpressionProto& from);
830  private:
831  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
832  public:
833  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
834  bool IsInitialized() const final;
835 
836  size_t ByteSizeLong() const final;
837  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
838  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
839  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
840  int GetCachedSize() const final { return _cached_size_.Get(); }
841 
842  private:
843  void SharedCtor();
844  void SharedDtor();
845  void SetCachedSize(int size) const final;
846  void InternalSwap(LinearExpressionProto* other);
847  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
848  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
849  return "operations_research.sat.LinearExpressionProto";
850  }
851  protected:
852  explicit LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
853  bool is_message_owned = false);
854  private:
855  static void ArenaDtor(void* object);
856  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
857  public:
858 
859  static const ClassData _class_data_;
860  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
861 
862  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
863 
864  // nested types ----------------------------------------------------
865 
866  // accessors -------------------------------------------------------
867 
868  enum : int {
872  };
873  // repeated int32 vars = 1;
874  int vars_size() const;
875  private:
876  int _internal_vars_size() const;
877  public:
878  void clear_vars();
879  private:
880  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
881  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
882  _internal_vars() const;
883  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
884  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
885  _internal_mutable_vars();
886  public:
887  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
888  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
889  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
890  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
891  vars() const;
892  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
893  mutable_vars();
894 
895  // repeated int64 coeffs = 2;
896  int coeffs_size() const;
897  private:
898  int _internal_coeffs_size() const;
899  public:
900  void clear_coeffs();
901  private:
902  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
903  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
904  _internal_coeffs() const;
905  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
906  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
907  _internal_mutable_coeffs();
908  public:
909  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
910  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
911  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
912  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
913  coeffs() const;
914  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
915  mutable_coeffs();
916 
917  // int64 offset = 3;
918  void clear_offset();
919  ::PROTOBUF_NAMESPACE_ID::int64 offset() const;
920  void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
921  private:
922  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
923  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
924  public:
925 
926  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
927  private:
928  class _Internal;
929 
930  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
931  typedef void InternalArenaConstructable_;
932  typedef void DestructorSkippable_;
933  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
934  mutable std::atomic<int> _vars_cached_byte_size_;
935  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
936  mutable std::atomic<int> _coeffs_cached_byte_size_;
937  ::PROTOBUF_NAMESPACE_ID::int64 offset_;
938  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
939  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
940 };
941 // -------------------------------------------------------------------
942 
943 class LinearArgumentProto final :
944  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
945  public:
947  ~LinearArgumentProto() override;
948  explicit constexpr LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
949 
952  : LinearArgumentProto() {
953  *this = ::std::move(from);
954  }
955 
957  CopyFrom(from);
958  return *this;
959  }
961  if (this == &from) return *this;
962  if (GetOwningArena() == from.GetOwningArena()) {
963  InternalSwap(&from);
964  } else {
965  CopyFrom(from);
966  }
967  return *this;
968  }
969 
970  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
971  return GetDescriptor();
972  }
973  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
974  return default_instance().GetMetadata().descriptor;
975  }
976  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
977  return default_instance().GetMetadata().reflection;
978  }
980  return *internal_default_instance();
981  }
983  return reinterpret_cast<const LinearArgumentProto*>(
985  }
986  static constexpr int kIndexInFileMessages =
987  4;
988 
990  a.Swap(&b);
991  }
992  inline void Swap(LinearArgumentProto* other) {
993  if (other == this) return;
994  if (GetOwningArena() == other->GetOwningArena()) {
995  InternalSwap(other);
996  } else {
997  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
998  }
999  }
1001  if (other == this) return;
1002  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1003  InternalSwap(other);
1004  }
1005 
1006  // implements Message ----------------------------------------------
1007 
1008  inline LinearArgumentProto* New() const final {
1009  return new LinearArgumentProto();
1010  }
1011 
1012  LinearArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1013  return CreateMaybeMessage<LinearArgumentProto>(arena);
1014  }
1015  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1016  void CopyFrom(const LinearArgumentProto& from);
1017  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1018  void MergeFrom(const LinearArgumentProto& from);
1019  private:
1020  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
1021  public:
1022  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1023  bool IsInitialized() const final;
1024 
1025  size_t ByteSizeLong() const final;
1026  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1027  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1028  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1029  int GetCachedSize() const final { return _cached_size_.Get(); }
1030 
1031  private:
1032  void SharedCtor();
1033  void SharedDtor();
1034  void SetCachedSize(int size) const final;
1035  void InternalSwap(LinearArgumentProto* other);
1036  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1037  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1038  return "operations_research.sat.LinearArgumentProto";
1039  }
1040  protected:
1041  explicit LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1042  bool is_message_owned = false);
1043  private:
1044  static void ArenaDtor(void* object);
1045  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1046  public:
1047 
1048  static const ClassData _class_data_;
1049  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1050 
1051  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1052 
1053  // nested types ----------------------------------------------------
1054 
1055  // accessors -------------------------------------------------------
1056 
1057  enum : int {
1060  };
1061  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1062  int exprs_size() const;
1063  private:
1064  int _internal_exprs_size() const;
1065  public:
1066  void clear_exprs();
1068  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
1069  mutable_exprs();
1070  private:
1071  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
1073  public:
1074  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
1076  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
1077  exprs() const;
1078 
1079  // .operations_research.sat.LinearExpressionProto target = 1;
1080  bool has_target() const;
1081  private:
1082  bool _internal_has_target() const;
1083  public:
1084  void clear_target();
1085  const ::operations_research::sat::LinearExpressionProto& target() const;
1086  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto* release_target();
1089  private:
1090  const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
1091  ::operations_research::sat::LinearExpressionProto* _internal_mutable_target();
1092  public:
1096 
1097  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
1098  private:
1099  class _Internal;
1100 
1101  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1102  typedef void InternalArenaConstructable_;
1103  typedef void DestructorSkippable_;
1104  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
1106  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1107  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1108 };
1109 // -------------------------------------------------------------------
1110 
1112  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
1113  public:
1115  ~AllDifferentConstraintProto() override;
1116  explicit constexpr AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1117 
1121  *this = ::std::move(from);
1122  }
1123 
1125  CopyFrom(from);
1126  return *this;
1127  }
1129  if (this == &from) return *this;
1130  if (GetOwningArena() == from.GetOwningArena()) {
1131  InternalSwap(&from);
1132  } else {
1133  CopyFrom(from);
1134  }
1135  return *this;
1136  }
1137 
1138  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1139  return GetDescriptor();
1140  }
1141  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1142  return default_instance().GetMetadata().descriptor;
1143  }
1144  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1145  return default_instance().GetMetadata().reflection;
1146  }
1148  return *internal_default_instance();
1149  }
1151  return reinterpret_cast<const AllDifferentConstraintProto*>(
1153  }
1154  static constexpr int kIndexInFileMessages =
1155  5;
1156 
1158  a.Swap(&b);
1159  }
1160  inline void Swap(AllDifferentConstraintProto* other) {
1161  if (other == this) return;
1162  if (GetOwningArena() == other->GetOwningArena()) {
1163  InternalSwap(other);
1164  } else {
1165  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1166  }
1167  }
1169  if (other == this) return;
1170  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1171  InternalSwap(other);
1172  }
1173 
1174  // implements Message ----------------------------------------------
1175 
1176  inline AllDifferentConstraintProto* New() const final {
1177  return new AllDifferentConstraintProto();
1178  }
1179 
1180  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1181  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
1182  }
1183  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1184  void CopyFrom(const AllDifferentConstraintProto& from);
1185  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1186  void MergeFrom(const AllDifferentConstraintProto& from);
1187  private:
1188  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
1189  public:
1190  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1191  bool IsInitialized() const final;
1192 
1193  size_t ByteSizeLong() const final;
1194  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1195  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1196  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1197  int GetCachedSize() const final { return _cached_size_.Get(); }
1198 
1199  private:
1200  void SharedCtor();
1201  void SharedDtor();
1202  void SetCachedSize(int size) const final;
1203  void InternalSwap(AllDifferentConstraintProto* other);
1204  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1205  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1206  return "operations_research.sat.AllDifferentConstraintProto";
1207  }
1208  protected:
1209  explicit AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1210  bool is_message_owned = false);
1211  private:
1212  static void ArenaDtor(void* object);
1213  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1214  public:
1215 
1216  static const ClassData _class_data_;
1217  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1218 
1219  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1220 
1221  // nested types ----------------------------------------------------
1222 
1223  // accessors -------------------------------------------------------
1224 
1225  enum : int {
1227  };
1228  // repeated int32 vars = 1;
1229  int vars_size() const;
1230  private:
1231  int _internal_vars_size() const;
1232  public:
1233  void clear_vars();
1234  private:
1235  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1236  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1237  _internal_vars() const;
1238  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1239  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1240  _internal_mutable_vars();
1241  public:
1242  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1243  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1244  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1245  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1246  vars() const;
1247  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1248  mutable_vars();
1249 
1250  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
1251  private:
1252  class _Internal;
1253 
1254  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1255  typedef void InternalArenaConstructable_;
1256  typedef void DestructorSkippable_;
1257  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1258  mutable std::atomic<int> _vars_cached_byte_size_;
1259  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1260  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1261 };
1262 // -------------------------------------------------------------------
1263 
1265  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1266  public:
1268  ~LinearConstraintProto() override;
1269  explicit constexpr LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1270 
1273  : LinearConstraintProto() {
1274  *this = ::std::move(from);
1275  }
1276 
1278  CopyFrom(from);
1279  return *this;
1280  }
1282  if (this == &from) return *this;
1283  if (GetOwningArena() == from.GetOwningArena()) {
1284  InternalSwap(&from);
1285  } else {
1286  CopyFrom(from);
1287  }
1288  return *this;
1289  }
1290 
1291  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1292  return GetDescriptor();
1293  }
1294  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1295  return default_instance().GetMetadata().descriptor;
1296  }
1297  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1298  return default_instance().GetMetadata().reflection;
1299  }
1301  return *internal_default_instance();
1302  }
1304  return reinterpret_cast<const LinearConstraintProto*>(
1306  }
1307  static constexpr int kIndexInFileMessages =
1308  6;
1309 
1311  a.Swap(&b);
1312  }
1313  inline void Swap(LinearConstraintProto* other) {
1314  if (other == this) return;
1315  if (GetOwningArena() == other->GetOwningArena()) {
1316  InternalSwap(other);
1317  } else {
1318  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1319  }
1320  }
1322  if (other == this) return;
1323  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1324  InternalSwap(other);
1325  }
1326 
1327  // implements Message ----------------------------------------------
1328 
1329  inline LinearConstraintProto* New() const final {
1330  return new LinearConstraintProto();
1331  }
1332 
1333  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1334  return CreateMaybeMessage<LinearConstraintProto>(arena);
1335  }
1336  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1337  void CopyFrom(const LinearConstraintProto& from);
1338  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1339  void MergeFrom(const LinearConstraintProto& from);
1340  private:
1341  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
1342  public:
1343  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1344  bool IsInitialized() const final;
1345 
1346  size_t ByteSizeLong() const final;
1347  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1348  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1349  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1350  int GetCachedSize() const final { return _cached_size_.Get(); }
1351 
1352  private:
1353  void SharedCtor();
1354  void SharedDtor();
1355  void SetCachedSize(int size) const final;
1356  void InternalSwap(LinearConstraintProto* other);
1357  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1358  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1359  return "operations_research.sat.LinearConstraintProto";
1360  }
1361  protected:
1362  explicit LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1363  bool is_message_owned = false);
1364  private:
1365  static void ArenaDtor(void* object);
1366  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1367  public:
1368 
1369  static const ClassData _class_data_;
1370  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1371 
1372  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1373 
1374  // nested types ----------------------------------------------------
1375 
1376  // accessors -------------------------------------------------------
1377 
1378  enum : int {
1382  };
1383  // repeated int32 vars = 1;
1384  int vars_size() const;
1385  private:
1386  int _internal_vars_size() const;
1387  public:
1388  void clear_vars();
1389  private:
1390  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1391  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1392  _internal_vars() const;
1393  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1394  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1395  _internal_mutable_vars();
1396  public:
1397  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1398  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1399  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1400  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1401  vars() const;
1402  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1403  mutable_vars();
1404 
1405  // repeated int64 coeffs = 2;
1406  int coeffs_size() const;
1407  private:
1408  int _internal_coeffs_size() const;
1409  public:
1410  void clear_coeffs();
1411  private:
1412  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
1413  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1414  _internal_coeffs() const;
1415  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1416  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1417  _internal_mutable_coeffs();
1418  public:
1419  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
1420  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
1421  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1422  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1423  coeffs() const;
1424  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1425  mutable_coeffs();
1426 
1427  // repeated int64 domain = 3;
1428  int domain_size() const;
1429  private:
1430  int _internal_domain_size() const;
1431  public:
1432  void clear_domain();
1433  private:
1434  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
1435  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1436  _internal_domain() const;
1437  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1438  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1439  _internal_mutable_domain();
1440  public:
1441  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
1442  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
1443  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1444  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1445  domain() const;
1446  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1447  mutable_domain();
1448 
1449  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1450  private:
1451  class _Internal;
1452 
1453  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1454  typedef void InternalArenaConstructable_;
1455  typedef void DestructorSkippable_;
1456  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1457  mutable std::atomic<int> _vars_cached_byte_size_;
1458  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
1459  mutable std::atomic<int> _coeffs_cached_byte_size_;
1460  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
1461  mutable std::atomic<int> _domain_cached_byte_size_;
1462  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1463  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1464 };
1465 // -------------------------------------------------------------------
1466 
1468  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
1469  public:
1471  ~ElementConstraintProto() override;
1472  explicit constexpr ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1473 
1477  *this = ::std::move(from);
1478  }
1479 
1481  CopyFrom(from);
1482  return *this;
1483  }
1485  if (this == &from) return *this;
1486  if (GetOwningArena() == from.GetOwningArena()) {
1487  InternalSwap(&from);
1488  } else {
1489  CopyFrom(from);
1490  }
1491  return *this;
1492  }
1493 
1494  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1495  return GetDescriptor();
1496  }
1497  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1498  return default_instance().GetMetadata().descriptor;
1499  }
1500  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1501  return default_instance().GetMetadata().reflection;
1502  }
1504  return *internal_default_instance();
1505  }
1507  return reinterpret_cast<const ElementConstraintProto*>(
1509  }
1510  static constexpr int kIndexInFileMessages =
1511  7;
1512 
1514  a.Swap(&b);
1515  }
1516  inline void Swap(ElementConstraintProto* other) {
1517  if (other == this) return;
1518  if (GetOwningArena() == other->GetOwningArena()) {
1519  InternalSwap(other);
1520  } else {
1521  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1522  }
1523  }
1525  if (other == this) return;
1526  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1527  InternalSwap(other);
1528  }
1529 
1530  // implements Message ----------------------------------------------
1531 
1532  inline ElementConstraintProto* New() const final {
1533  return new ElementConstraintProto();
1534  }
1535 
1536  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1537  return CreateMaybeMessage<ElementConstraintProto>(arena);
1538  }
1539  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1540  void CopyFrom(const ElementConstraintProto& from);
1541  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1542  void MergeFrom(const ElementConstraintProto& from);
1543  private:
1544  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
1545  public:
1546  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1547  bool IsInitialized() const final;
1548 
1549  size_t ByteSizeLong() const final;
1550  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1551  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1552  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1553  int GetCachedSize() const final { return _cached_size_.Get(); }
1554 
1555  private:
1556  void SharedCtor();
1557  void SharedDtor();
1558  void SetCachedSize(int size) const final;
1559  void InternalSwap(ElementConstraintProto* other);
1560  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1561  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1562  return "operations_research.sat.ElementConstraintProto";
1563  }
1564  protected:
1565  explicit ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1566  bool is_message_owned = false);
1567  private:
1568  static void ArenaDtor(void* object);
1569  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1570  public:
1571 
1572  static const ClassData _class_data_;
1573  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1574 
1575  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1576 
1577  // nested types ----------------------------------------------------
1578 
1579  // accessors -------------------------------------------------------
1580 
1581  enum : int {
1585  };
1586  // repeated int32 vars = 3;
1587  int vars_size() const;
1588  private:
1589  int _internal_vars_size() const;
1590  public:
1591  void clear_vars();
1592  private:
1593  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1594  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1595  _internal_vars() const;
1596  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1597  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1598  _internal_mutable_vars();
1599  public:
1600  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1601  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1602  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1603  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1604  vars() const;
1605  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1606  mutable_vars();
1607 
1608  // int32 index = 1;
1609  void clear_index();
1610  ::PROTOBUF_NAMESPACE_ID::int32 index() const;
1611  void set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1612  private:
1613  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
1614  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1615  public:
1616 
1617  // int32 target = 2;
1618  void clear_target();
1619  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
1620  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1621  private:
1622  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
1623  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1624  public:
1625 
1626  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1627  private:
1628  class _Internal;
1629 
1630  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1631  typedef void InternalArenaConstructable_;
1632  typedef void DestructorSkippable_;
1633  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1634  mutable std::atomic<int> _vars_cached_byte_size_;
1635  ::PROTOBUF_NAMESPACE_ID::int32 index_;
1636  ::PROTOBUF_NAMESPACE_ID::int32 target_;
1637  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1638  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1639 };
1640 // -------------------------------------------------------------------
1641 
1643  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1644  public:
1646  ~IntervalConstraintProto() override;
1647  explicit constexpr IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1648 
1652  *this = ::std::move(from);
1653  }
1654 
1656  CopyFrom(from);
1657  return *this;
1658  }
1660  if (this == &from) return *this;
1661  if (GetOwningArena() == from.GetOwningArena()) {
1662  InternalSwap(&from);
1663  } else {
1664  CopyFrom(from);
1665  }
1666  return *this;
1667  }
1668 
1669  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1670  return GetDescriptor();
1671  }
1672  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1673  return default_instance().GetMetadata().descriptor;
1674  }
1675  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1676  return default_instance().GetMetadata().reflection;
1677  }
1679  return *internal_default_instance();
1680  }
1682  return reinterpret_cast<const IntervalConstraintProto*>(
1684  }
1685  static constexpr int kIndexInFileMessages =
1686  8;
1687 
1689  a.Swap(&b);
1690  }
1691  inline void Swap(IntervalConstraintProto* other) {
1692  if (other == this) return;
1693  if (GetOwningArena() == other->GetOwningArena()) {
1694  InternalSwap(other);
1695  } else {
1696  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1697  }
1698  }
1700  if (other == this) return;
1701  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1702  InternalSwap(other);
1703  }
1704 
1705  // implements Message ----------------------------------------------
1706 
1707  inline IntervalConstraintProto* New() const final {
1708  return new IntervalConstraintProto();
1709  }
1710 
1711  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1712  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1713  }
1714  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1715  void CopyFrom(const IntervalConstraintProto& from);
1716  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1717  void MergeFrom(const IntervalConstraintProto& from);
1718  private:
1719  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
1720  public:
1721  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1722  bool IsInitialized() const final;
1723 
1724  size_t ByteSizeLong() const final;
1725  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1726  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1727  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1728  int GetCachedSize() const final { return _cached_size_.Get(); }
1729 
1730  private:
1731  void SharedCtor();
1732  void SharedDtor();
1733  void SetCachedSize(int size) const final;
1734  void InternalSwap(IntervalConstraintProto* other);
1735  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1736  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1737  return "operations_research.sat.IntervalConstraintProto";
1738  }
1739  protected:
1740  explicit IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1741  bool is_message_owned = false);
1742  private:
1743  static void ArenaDtor(void* object);
1744  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1745  public:
1746 
1747  static const ClassData _class_data_;
1748  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1749 
1750  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1751 
1752  // nested types ----------------------------------------------------
1753 
1754  // accessors -------------------------------------------------------
1755 
1756  enum : int {
1763  };
1764  // .operations_research.sat.LinearExpressionProto start_view = 4;
1765  bool has_start_view() const;
1766  private:
1767  bool _internal_has_start_view() const;
1768  public:
1769  void clear_start_view();
1770  const ::operations_research::sat::LinearExpressionProto& start_view() const;
1771  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto* release_start_view();
1774  private:
1775  const ::operations_research::sat::LinearExpressionProto& _internal_start_view() const;
1776  ::operations_research::sat::LinearExpressionProto* _internal_mutable_start_view();
1777  public:
1781 
1782  // .operations_research.sat.LinearExpressionProto end_view = 5;
1783  bool has_end_view() const;
1784  private:
1785  bool _internal_has_end_view() const;
1786  public:
1787  void clear_end_view();
1788  const ::operations_research::sat::LinearExpressionProto& end_view() const;
1789  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto* release_end_view();
1792  private:
1793  const ::operations_research::sat::LinearExpressionProto& _internal_end_view() const;
1794  ::operations_research::sat::LinearExpressionProto* _internal_mutable_end_view();
1795  public:
1799 
1800  // .operations_research.sat.LinearExpressionProto size_view = 6;
1801  bool has_size_view() const;
1802  private:
1803  bool _internal_has_size_view() const;
1804  public:
1805  void clear_size_view();
1806  const ::operations_research::sat::LinearExpressionProto& size_view() const;
1807  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto* release_size_view();
1810  private:
1811  const ::operations_research::sat::LinearExpressionProto& _internal_size_view() const;
1812  ::operations_research::sat::LinearExpressionProto* _internal_mutable_size_view();
1813  public:
1817 
1818  // int32 start = 1;
1819  void clear_start();
1820  ::PROTOBUF_NAMESPACE_ID::int32 start() const;
1821  void set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1822  private:
1823  ::PROTOBUF_NAMESPACE_ID::int32 _internal_start() const;
1824  void _internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1825  public:
1826 
1827  // int32 end = 2;
1828  void clear_end();
1829  ::PROTOBUF_NAMESPACE_ID::int32 end() const;
1830  void set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1831  private:
1832  ::PROTOBUF_NAMESPACE_ID::int32 _internal_end() const;
1833  void _internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1834  public:
1835 
1836  // int32 size = 3;
1837  void clear_size();
1838  ::PROTOBUF_NAMESPACE_ID::int32 size() const;
1839  void set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1840  private:
1841  ::PROTOBUF_NAMESPACE_ID::int32 _internal_size() const;
1842  void _internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1843  public:
1844 
1845  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1846  private:
1847  class _Internal;
1848 
1849  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1850  typedef void InternalArenaConstructable_;
1851  typedef void DestructorSkippable_;
1855  ::PROTOBUF_NAMESPACE_ID::int32 start_;
1856  ::PROTOBUF_NAMESPACE_ID::int32 end_;
1857  ::PROTOBUF_NAMESPACE_ID::int32 size_;
1858  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1859  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1860 };
1861 // -------------------------------------------------------------------
1862 
1864  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1865  public:
1867  ~NoOverlapConstraintProto() override;
1868  explicit constexpr NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1869 
1873  *this = ::std::move(from);
1874  }
1875 
1877  CopyFrom(from);
1878  return *this;
1879  }
1881  if (this == &from) return *this;
1882  if (GetOwningArena() == from.GetOwningArena()) {
1883  InternalSwap(&from);
1884  } else {
1885  CopyFrom(from);
1886  }
1887  return *this;
1888  }
1889 
1890  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1891  return GetDescriptor();
1892  }
1893  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1894  return default_instance().GetMetadata().descriptor;
1895  }
1896  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1897  return default_instance().GetMetadata().reflection;
1898  }
1900  return *internal_default_instance();
1901  }
1903  return reinterpret_cast<const NoOverlapConstraintProto*>(
1905  }
1906  static constexpr int kIndexInFileMessages =
1907  9;
1908 
1910  a.Swap(&b);
1911  }
1912  inline void Swap(NoOverlapConstraintProto* other) {
1913  if (other == this) return;
1914  if (GetOwningArena() == other->GetOwningArena()) {
1915  InternalSwap(other);
1916  } else {
1917  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1918  }
1919  }
1921  if (other == this) return;
1922  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1923  InternalSwap(other);
1924  }
1925 
1926  // implements Message ----------------------------------------------
1927 
1928  inline NoOverlapConstraintProto* New() const final {
1929  return new NoOverlapConstraintProto();
1930  }
1931 
1932  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1933  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1934  }
1935  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1936  void CopyFrom(const NoOverlapConstraintProto& from);
1937  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1938  void MergeFrom(const NoOverlapConstraintProto& from);
1939  private:
1940  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
1941  public:
1942  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1943  bool IsInitialized() const final;
1944 
1945  size_t ByteSizeLong() const final;
1946  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1947  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1948  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1949  int GetCachedSize() const final { return _cached_size_.Get(); }
1950 
1951  private:
1952  void SharedCtor();
1953  void SharedDtor();
1954  void SetCachedSize(int size) const final;
1955  void InternalSwap(NoOverlapConstraintProto* other);
1956  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1957  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1958  return "operations_research.sat.NoOverlapConstraintProto";
1959  }
1960  protected:
1961  explicit NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1962  bool is_message_owned = false);
1963  private:
1964  static void ArenaDtor(void* object);
1965  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1966  public:
1967 
1968  static const ClassData _class_data_;
1969  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1970 
1971  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1972 
1973  // nested types ----------------------------------------------------
1974 
1975  // accessors -------------------------------------------------------
1976 
1977  enum : int {
1979  };
1980  // repeated int32 intervals = 1;
1981  int intervals_size() const;
1982  private:
1983  int _internal_intervals_size() const;
1984  public:
1985  void clear_intervals();
1986  private:
1987  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
1988  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1989  _internal_intervals() const;
1990  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1991  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1992  _internal_mutable_intervals();
1993  public:
1994  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
1995  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1996  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1997  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1998  intervals() const;
1999  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2001 
2002  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
2003  private:
2004  class _Internal;
2005 
2006  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2007  typedef void InternalArenaConstructable_;
2008  typedef void DestructorSkippable_;
2009  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
2010  mutable std::atomic<int> _intervals_cached_byte_size_;
2011  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2012  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2013 };
2014 // -------------------------------------------------------------------
2015 
2017  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
2018  public:
2020  ~NoOverlap2DConstraintProto() override;
2021  explicit constexpr NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2022 
2026  *this = ::std::move(from);
2027  }
2028 
2030  CopyFrom(from);
2031  return *this;
2032  }
2034  if (this == &from) return *this;
2035  if (GetOwningArena() == from.GetOwningArena()) {
2036  InternalSwap(&from);
2037  } else {
2038  CopyFrom(from);
2039  }
2040  return *this;
2041  }
2042 
2043  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2044  return GetDescriptor();
2045  }
2046  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2047  return default_instance().GetMetadata().descriptor;
2048  }
2049  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2050  return default_instance().GetMetadata().reflection;
2051  }
2053  return *internal_default_instance();
2054  }
2056  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
2058  }
2059  static constexpr int kIndexInFileMessages =
2060  10;
2061 
2063  a.Swap(&b);
2064  }
2065  inline void Swap(NoOverlap2DConstraintProto* other) {
2066  if (other == this) return;
2067  if (GetOwningArena() == other->GetOwningArena()) {
2068  InternalSwap(other);
2069  } else {
2070  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2071  }
2072  }
2074  if (other == this) return;
2075  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2076  InternalSwap(other);
2077  }
2078 
2079  // implements Message ----------------------------------------------
2080 
2081  inline NoOverlap2DConstraintProto* New() const final {
2082  return new NoOverlap2DConstraintProto();
2083  }
2084 
2085  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2086  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
2087  }
2088  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2089  void CopyFrom(const NoOverlap2DConstraintProto& from);
2090  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2091  void MergeFrom(const NoOverlap2DConstraintProto& from);
2092  private:
2093  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
2094  public:
2095  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2096  bool IsInitialized() const final;
2097 
2098  size_t ByteSizeLong() const final;
2099  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2100  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2101  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2102  int GetCachedSize() const final { return _cached_size_.Get(); }
2103 
2104  private:
2105  void SharedCtor();
2106  void SharedDtor();
2107  void SetCachedSize(int size) const final;
2108  void InternalSwap(NoOverlap2DConstraintProto* other);
2109  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2110  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2111  return "operations_research.sat.NoOverlap2DConstraintProto";
2112  }
2113  protected:
2114  explicit NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2115  bool is_message_owned = false);
2116  private:
2117  static void ArenaDtor(void* object);
2118  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2119  public:
2120 
2121  static const ClassData _class_data_;
2122  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2123 
2124  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2125 
2126  // nested types ----------------------------------------------------
2127 
2128  // accessors -------------------------------------------------------
2129 
2130  enum : int {
2134  };
2135  // repeated int32 x_intervals = 1;
2136  int x_intervals_size() const;
2137  private:
2138  int _internal_x_intervals_size() const;
2139  public:
2140  void clear_x_intervals();
2141  private:
2142  ::PROTOBUF_NAMESPACE_ID::int32 _internal_x_intervals(int index) const;
2143  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2144  _internal_x_intervals() const;
2145  void _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2146  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2147  _internal_mutable_x_intervals();
2148  public:
2149  ::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const;
2150  void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2151  void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2152  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2153  x_intervals() const;
2154  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2156 
2157  // repeated int32 y_intervals = 2;
2158  int y_intervals_size() const;
2159  private:
2160  int _internal_y_intervals_size() const;
2161  public:
2162  void clear_y_intervals();
2163  private:
2164  ::PROTOBUF_NAMESPACE_ID::int32 _internal_y_intervals(int index) const;
2165  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2166  _internal_y_intervals() const;
2167  void _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2168  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2169  _internal_mutable_y_intervals();
2170  public:
2171  ::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const;
2172  void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2173  void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2174  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2175  y_intervals() const;
2176  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2178 
2179  // bool boxes_with_null_area_can_overlap = 3;
2181  bool boxes_with_null_area_can_overlap() const;
2183  private:
2184  bool _internal_boxes_with_null_area_can_overlap() const;
2185  void _internal_set_boxes_with_null_area_can_overlap(bool value);
2186  public:
2187 
2188  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
2189  private:
2190  class _Internal;
2191 
2192  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2193  typedef void InternalArenaConstructable_;
2194  typedef void DestructorSkippable_;
2195  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > x_intervals_;
2196  mutable std::atomic<int> _x_intervals_cached_byte_size_;
2197  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > y_intervals_;
2198  mutable std::atomic<int> _y_intervals_cached_byte_size_;
2199  bool boxes_with_null_area_can_overlap_;
2200  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2201  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2202 };
2203 // -------------------------------------------------------------------
2204 
2206  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
2207  public:
2209  ~CumulativeConstraintProto() override;
2210  explicit constexpr CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2211 
2215  *this = ::std::move(from);
2216  }
2217 
2219  CopyFrom(from);
2220  return *this;
2221  }
2223  if (this == &from) return *this;
2224  if (GetOwningArena() == from.GetOwningArena()) {
2225  InternalSwap(&from);
2226  } else {
2227  CopyFrom(from);
2228  }
2229  return *this;
2230  }
2231 
2232  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2233  return GetDescriptor();
2234  }
2235  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2236  return default_instance().GetMetadata().descriptor;
2237  }
2238  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2239  return default_instance().GetMetadata().reflection;
2240  }
2242  return *internal_default_instance();
2243  }
2245  return reinterpret_cast<const CumulativeConstraintProto*>(
2247  }
2248  static constexpr int kIndexInFileMessages =
2249  11;
2250 
2252  a.Swap(&b);
2253  }
2254  inline void Swap(CumulativeConstraintProto* other) {
2255  if (other == this) return;
2256  if (GetOwningArena() == other->GetOwningArena()) {
2257  InternalSwap(other);
2258  } else {
2259  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2260  }
2261  }
2263  if (other == this) return;
2264  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2265  InternalSwap(other);
2266  }
2267 
2268  // implements Message ----------------------------------------------
2269 
2270  inline CumulativeConstraintProto* New() const final {
2271  return new CumulativeConstraintProto();
2272  }
2273 
2274  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2275  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
2276  }
2277  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2278  void CopyFrom(const CumulativeConstraintProto& from);
2279  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2280  void MergeFrom(const CumulativeConstraintProto& from);
2281  private:
2282  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
2283  public:
2284  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2285  bool IsInitialized() const final;
2286 
2287  size_t ByteSizeLong() const final;
2288  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2289  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2290  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2291  int GetCachedSize() const final { return _cached_size_.Get(); }
2292 
2293  private:
2294  void SharedCtor();
2295  void SharedDtor();
2296  void SetCachedSize(int size) const final;
2297  void InternalSwap(CumulativeConstraintProto* other);
2298  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2299  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2300  return "operations_research.sat.CumulativeConstraintProto";
2301  }
2302  protected:
2303  explicit CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2304  bool is_message_owned = false);
2305  private:
2306  static void ArenaDtor(void* object);
2307  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2308  public:
2309 
2310  static const ClassData _class_data_;
2311  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2312 
2313  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2314 
2315  // nested types ----------------------------------------------------
2316 
2317  // accessors -------------------------------------------------------
2318 
2319  enum : int {
2324  };
2325  // repeated int32 intervals = 2;
2326  int intervals_size() const;
2327  private:
2328  int _internal_intervals_size() const;
2329  public:
2330  void clear_intervals();
2331  private:
2332  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
2333  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2334  _internal_intervals() const;
2335  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2336  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2337  _internal_mutable_intervals();
2338  public:
2339  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
2340  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2341  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2342  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2343  intervals() const;
2344  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2346 
2347  // repeated int32 demands = 3;
2348  int demands_size() const;
2349  private:
2350  int _internal_demands_size() const;
2351  public:
2352  void clear_demands();
2353  private:
2354  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2355  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2356  _internal_demands() const;
2357  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2358  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2359  _internal_mutable_demands();
2360  public:
2361  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
2362  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2363  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2364  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2365  demands() const;
2366  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2367  mutable_demands();
2368 
2369  // repeated .operations_research.sat.LinearExpressionProto energies = 4;
2370  int energies_size() const;
2371  private:
2372  int _internal_energies_size() const;
2373  public:
2374  void clear_energies();
2376  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
2377  mutable_energies();
2378  private:
2379  const ::operations_research::sat::LinearExpressionProto& _internal_energies(int index) const;
2380  ::operations_research::sat::LinearExpressionProto* _internal_add_energies();
2381  public:
2382  const ::operations_research::sat::LinearExpressionProto& energies(int index) const;
2384  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
2385  energies() const;
2386 
2387  // int32 capacity = 1;
2388  void clear_capacity();
2389  ::PROTOBUF_NAMESPACE_ID::int32 capacity() const;
2390  void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2391  private:
2392  ::PROTOBUF_NAMESPACE_ID::int32 _internal_capacity() const;
2393  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2394  public:
2395 
2396  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
2397  private:
2398  class _Internal;
2399 
2400  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2401  typedef void InternalArenaConstructable_;
2402  typedef void DestructorSkippable_;
2403  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
2404  mutable std::atomic<int> _intervals_cached_byte_size_;
2405  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2406  mutable std::atomic<int> _demands_cached_byte_size_;
2407  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > energies_;
2408  ::PROTOBUF_NAMESPACE_ID::int32 capacity_;
2409  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2410  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2411 };
2412 // -------------------------------------------------------------------
2413 
2415  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
2416  public:
2418  ~ReservoirConstraintProto() override;
2419  explicit constexpr ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2420 
2424  *this = ::std::move(from);
2425  }
2426 
2428  CopyFrom(from);
2429  return *this;
2430  }
2432  if (this == &from) return *this;
2433  if (GetOwningArena() == from.GetOwningArena()) {
2434  InternalSwap(&from);
2435  } else {
2436  CopyFrom(from);
2437  }
2438  return *this;
2439  }
2440 
2441  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2442  return GetDescriptor();
2443  }
2444  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2445  return default_instance().GetMetadata().descriptor;
2446  }
2447  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2448  return default_instance().GetMetadata().reflection;
2449  }
2451  return *internal_default_instance();
2452  }
2454  return reinterpret_cast<const ReservoirConstraintProto*>(
2456  }
2457  static constexpr int kIndexInFileMessages =
2458  12;
2459 
2461  a.Swap(&b);
2462  }
2463  inline void Swap(ReservoirConstraintProto* other) {
2464  if (other == this) return;
2465  if (GetOwningArena() == other->GetOwningArena()) {
2466  InternalSwap(other);
2467  } else {
2468  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2469  }
2470  }
2472  if (other == this) return;
2473  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2474  InternalSwap(other);
2475  }
2476 
2477  // implements Message ----------------------------------------------
2478 
2479  inline ReservoirConstraintProto* New() const final {
2480  return new ReservoirConstraintProto();
2481  }
2482 
2483  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2484  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
2485  }
2486  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2487  void CopyFrom(const ReservoirConstraintProto& from);
2488  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2489  void MergeFrom(const ReservoirConstraintProto& from);
2490  private:
2491  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
2492  public:
2493  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2494  bool IsInitialized() const final;
2495 
2496  size_t ByteSizeLong() const final;
2497  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2498  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2499  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2500  int GetCachedSize() const final { return _cached_size_.Get(); }
2501 
2502  private:
2503  void SharedCtor();
2504  void SharedDtor();
2505  void SetCachedSize(int size) const final;
2506  void InternalSwap(ReservoirConstraintProto* other);
2507  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2508  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2509  return "operations_research.sat.ReservoirConstraintProto";
2510  }
2511  protected:
2512  explicit ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2513  bool is_message_owned = false);
2514  private:
2515  static void ArenaDtor(void* object);
2516  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2517  public:
2518 
2519  static const ClassData _class_data_;
2520  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2521 
2522  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2523 
2524  // nested types ----------------------------------------------------
2525 
2526  // accessors -------------------------------------------------------
2527 
2528  enum : int {
2534  };
2535  // repeated int32 times = 3;
2536  int times_size() const;
2537  private:
2538  int _internal_times_size() const;
2539  public:
2540  void clear_times();
2541  private:
2542  ::PROTOBUF_NAMESPACE_ID::int32 _internal_times(int index) const;
2543  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2544  _internal_times() const;
2545  void _internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2546  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2547  _internal_mutable_times();
2548  public:
2549  ::PROTOBUF_NAMESPACE_ID::int32 times(int index) const;
2550  void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2551  void add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2552  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2553  times() const;
2554  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2555  mutable_times();
2556 
2557  // repeated int64 demands = 4;
2558  int demands_size() const;
2559  private:
2560  int _internal_demands_size() const;
2561  public:
2562  void clear_demands();
2563  private:
2564  ::PROTOBUF_NAMESPACE_ID::int64 _internal_demands(int index) const;
2565  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2566  _internal_demands() const;
2567  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2568  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2569  _internal_mutable_demands();
2570  public:
2571  ::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const;
2572  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2573  void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2574  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2575  demands() const;
2576  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2577  mutable_demands();
2578 
2579  // repeated int32 actives = 5;
2580  int actives_size() const;
2581  private:
2582  int _internal_actives_size() const;
2583  public:
2584  void clear_actives();
2585  private:
2586  ::PROTOBUF_NAMESPACE_ID::int32 _internal_actives(int index) const;
2587  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2588  _internal_actives() const;
2589  void _internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2590  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2591  _internal_mutable_actives();
2592  public:
2593  ::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const;
2594  void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2595  void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2596  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2597  actives() const;
2598  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2599  mutable_actives();
2600 
2601  // int64 min_level = 1;
2602  void clear_min_level();
2603  ::PROTOBUF_NAMESPACE_ID::int64 min_level() const;
2604  void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2605  private:
2606  ::PROTOBUF_NAMESPACE_ID::int64 _internal_min_level() const;
2607  void _internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2608  public:
2609 
2610  // int64 max_level = 2;
2611  void clear_max_level();
2612  ::PROTOBUF_NAMESPACE_ID::int64 max_level() const;
2613  void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2614  private:
2615  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_level() const;
2616  void _internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2617  public:
2618 
2619  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
2620  private:
2621  class _Internal;
2622 
2623  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2624  typedef void InternalArenaConstructable_;
2625  typedef void DestructorSkippable_;
2626  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > times_;
2627  mutable std::atomic<int> _times_cached_byte_size_;
2628  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > demands_;
2629  mutable std::atomic<int> _demands_cached_byte_size_;
2630  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > actives_;
2631  mutable std::atomic<int> _actives_cached_byte_size_;
2632  ::PROTOBUF_NAMESPACE_ID::int64 min_level_;
2633  ::PROTOBUF_NAMESPACE_ID::int64 max_level_;
2634  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2635  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2636 };
2637 // -------------------------------------------------------------------
2638 
2640  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
2641  public:
2643  ~CircuitConstraintProto() override;
2644  explicit constexpr CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2645 
2649  *this = ::std::move(from);
2650  }
2651 
2653  CopyFrom(from);
2654  return *this;
2655  }
2657  if (this == &from) return *this;
2658  if (GetOwningArena() == from.GetOwningArena()) {
2659  InternalSwap(&from);
2660  } else {
2661  CopyFrom(from);
2662  }
2663  return *this;
2664  }
2665 
2666  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2667  return GetDescriptor();
2668  }
2669  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2670  return default_instance().GetMetadata().descriptor;
2671  }
2672  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2673  return default_instance().GetMetadata().reflection;
2674  }
2676  return *internal_default_instance();
2677  }
2679  return reinterpret_cast<const CircuitConstraintProto*>(
2681  }
2682  static constexpr int kIndexInFileMessages =
2683  13;
2684 
2686  a.Swap(&b);
2687  }
2688  inline void Swap(CircuitConstraintProto* other) {
2689  if (other == this) return;
2690  if (GetOwningArena() == other->GetOwningArena()) {
2691  InternalSwap(other);
2692  } else {
2693  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2694  }
2695  }
2697  if (other == this) return;
2698  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2699  InternalSwap(other);
2700  }
2701 
2702  // implements Message ----------------------------------------------
2703 
2704  inline CircuitConstraintProto* New() const final {
2705  return new CircuitConstraintProto();
2706  }
2707 
2708  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2709  return CreateMaybeMessage<CircuitConstraintProto>(arena);
2710  }
2711  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2712  void CopyFrom(const CircuitConstraintProto& from);
2713  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2714  void MergeFrom(const CircuitConstraintProto& from);
2715  private:
2716  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
2717  public:
2718  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2719  bool IsInitialized() const final;
2720 
2721  size_t ByteSizeLong() const final;
2722  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2723  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2724  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2725  int GetCachedSize() const final { return _cached_size_.Get(); }
2726 
2727  private:
2728  void SharedCtor();
2729  void SharedDtor();
2730  void SetCachedSize(int size) const final;
2731  void InternalSwap(CircuitConstraintProto* other);
2732  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2733  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2734  return "operations_research.sat.CircuitConstraintProto";
2735  }
2736  protected:
2737  explicit CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2738  bool is_message_owned = false);
2739  private:
2740  static void ArenaDtor(void* object);
2741  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2742  public:
2743 
2744  static const ClassData _class_data_;
2745  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2746 
2747  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2748 
2749  // nested types ----------------------------------------------------
2750 
2751  // accessors -------------------------------------------------------
2752 
2753  enum : int {
2757  };
2758  // repeated int32 tails = 3;
2759  int tails_size() const;
2760  private:
2761  int _internal_tails_size() const;
2762  public:
2763  void clear_tails();
2764  private:
2765  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2766  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2767  _internal_tails() const;
2768  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2769  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2770  _internal_mutable_tails();
2771  public:
2772  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
2773  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2774  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2775  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2776  tails() const;
2777  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2778  mutable_tails();
2779 
2780  // repeated int32 heads = 4;
2781  int heads_size() const;
2782  private:
2783  int _internal_heads_size() const;
2784  public:
2785  void clear_heads();
2786  private:
2787  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2788  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2789  _internal_heads() const;
2790  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2791  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2792  _internal_mutable_heads();
2793  public:
2794  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
2795  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2796  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2797  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2798  heads() const;
2799  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2800  mutable_heads();
2801 
2802  // repeated int32 literals = 5;
2803  int literals_size() const;
2804  private:
2805  int _internal_literals_size() const;
2806  public:
2807  void clear_literals();
2808  private:
2809  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2810  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2811  _internal_literals() const;
2812  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2813  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2814  _internal_mutable_literals();
2815  public:
2816  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
2817  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2818  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2819  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2820  literals() const;
2821  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2822  mutable_literals();
2823 
2824  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2825  private:
2826  class _Internal;
2827 
2828  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2829  typedef void InternalArenaConstructable_;
2830  typedef void DestructorSkippable_;
2831  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2832  mutable std::atomic<int> _tails_cached_byte_size_;
2833  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2834  mutable std::atomic<int> _heads_cached_byte_size_;
2835  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2836  mutable std::atomic<int> _literals_cached_byte_size_;
2837  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2838  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2839 };
2840 // -------------------------------------------------------------------
2841 
2843  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2844  public:
2846  ~RoutesConstraintProto() override;
2847  explicit constexpr RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2848 
2851  : RoutesConstraintProto() {
2852  *this = ::std::move(from);
2853  }
2854 
2856  CopyFrom(from);
2857  return *this;
2858  }
2860  if (this == &from) return *this;
2861  if (GetOwningArena() == from.GetOwningArena()) {
2862  InternalSwap(&from);
2863  } else {
2864  CopyFrom(from);
2865  }
2866  return *this;
2867  }
2868 
2869  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2870  return GetDescriptor();
2871  }
2872  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2873  return default_instance().GetMetadata().descriptor;
2874  }
2875  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2876  return default_instance().GetMetadata().reflection;
2877  }
2879  return *internal_default_instance();
2880  }
2882  return reinterpret_cast<const RoutesConstraintProto*>(
2884  }
2885  static constexpr int kIndexInFileMessages =
2886  14;
2887 
2889  a.Swap(&b);
2890  }
2891  inline void Swap(RoutesConstraintProto* other) {
2892  if (other == this) return;
2893  if (GetOwningArena() == other->GetOwningArena()) {
2894  InternalSwap(other);
2895  } else {
2896  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2897  }
2898  }
2900  if (other == this) return;
2901  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2902  InternalSwap(other);
2903  }
2904 
2905  // implements Message ----------------------------------------------
2906 
2907  inline RoutesConstraintProto* New() const final {
2908  return new RoutesConstraintProto();
2909  }
2910 
2911  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2912  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2913  }
2914  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2915  void CopyFrom(const RoutesConstraintProto& from);
2916  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2917  void MergeFrom(const RoutesConstraintProto& from);
2918  private:
2919  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
2920  public:
2921  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2922  bool IsInitialized() const final;
2923 
2924  size_t ByteSizeLong() const final;
2925  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2926  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2927  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2928  int GetCachedSize() const final { return _cached_size_.Get(); }
2929 
2930  private:
2931  void SharedCtor();
2932  void SharedDtor();
2933  void SetCachedSize(int size) const final;
2934  void InternalSwap(RoutesConstraintProto* other);
2935  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2936  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2937  return "operations_research.sat.RoutesConstraintProto";
2938  }
2939  protected:
2940  explicit RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2941  bool is_message_owned = false);
2942  private:
2943  static void ArenaDtor(void* object);
2944  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2945  public:
2946 
2947  static const ClassData _class_data_;
2948  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2949 
2950  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2951 
2952  // nested types ----------------------------------------------------
2953 
2954  // accessors -------------------------------------------------------
2955 
2956  enum : int {
2962  };
2963  // repeated int32 tails = 1;
2964  int tails_size() const;
2965  private:
2966  int _internal_tails_size() const;
2967  public:
2968  void clear_tails();
2969  private:
2970  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2971  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2972  _internal_tails() const;
2973  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2974  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2975  _internal_mutable_tails();
2976  public:
2977  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
2978  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2979  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2980  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2981  tails() const;
2982  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2983  mutable_tails();
2984 
2985  // repeated int32 heads = 2;
2986  int heads_size() const;
2987  private:
2988  int _internal_heads_size() const;
2989  public:
2990  void clear_heads();
2991  private:
2992  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2993  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2994  _internal_heads() const;
2995  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2996  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2997  _internal_mutable_heads();
2998  public:
2999  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
3000  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3001  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
3002  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3003  heads() const;
3004  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3005  mutable_heads();
3006 
3007  // repeated int32 literals = 3;
3008  int literals_size() const;
3009  private:
3010  int _internal_literals_size() const;
3011  public:
3012  void clear_literals();
3013  private:
3014  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
3015  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3016  _internal_literals() const;
3017  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
3018  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3019  _internal_mutable_literals();
3020  public:
3021  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
3022  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3023  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
3024  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3025  literals() const;
3026  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3027  mutable_literals();
3028 
3029  // repeated int32 demands = 4;
3030  int demands_size() const;
3031  private:
3032  int _internal_demands_size() const;
3033  public:
3034  void clear_demands();
3035  private:
3036  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
3037  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3038  _internal_demands() const;
3039  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
3040  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3041  _internal_mutable_demands();
3042  public:
3043  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
3044  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3045  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
3046  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3047  demands() const;
3048  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3049  mutable_demands();
3050 
3051  // int64 capacity = 5;
3052  void clear_capacity();
3053  ::PROTOBUF_NAMESPACE_ID::int64 capacity() const;
3054  void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
3055  private:
3056  ::PROTOBUF_NAMESPACE_ID::int64 _internal_capacity() const;
3057  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
3058  public:
3059 
3060  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
3061  private:
3062  class _Internal;
3063 
3064  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3065  typedef void InternalArenaConstructable_;
3066  typedef void DestructorSkippable_;
3067  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
3068  mutable std::atomic<int> _tails_cached_byte_size_;
3069  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
3070  mutable std::atomic<int> _heads_cached_byte_size_;
3071  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
3072  mutable std::atomic<int> _literals_cached_byte_size_;
3073  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
3074  mutable std::atomic<int> _demands_cached_byte_size_;
3075  ::PROTOBUF_NAMESPACE_ID::int64 capacity_;
3076  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3077  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3078 };
3079 // -------------------------------------------------------------------
3080 
3082  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3083  public:
3085  ~TableConstraintProto() override;
3086  explicit constexpr TableConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3087 
3090  : TableConstraintProto() {
3091  *this = ::std::move(from);
3092  }
3093 
3095  CopyFrom(from);
3096  return *this;
3097  }
3099  if (this == &from) return *this;
3100  if (GetOwningArena() == from.GetOwningArena()) {
3101  InternalSwap(&from);
3102  } else {
3103  CopyFrom(from);
3104  }
3105  return *this;
3106  }
3107 
3108  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3109  return GetDescriptor();
3110  }
3111  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3112  return default_instance().GetMetadata().descriptor;
3113  }
3114  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3115  return default_instance().GetMetadata().reflection;
3116  }
3118  return *internal_default_instance();
3119  }
3121  return reinterpret_cast<const TableConstraintProto*>(
3123  }
3124  static constexpr int kIndexInFileMessages =
3125  15;
3126 
3128  a.Swap(&b);
3129  }
3130  inline void Swap(TableConstraintProto* other) {
3131  if (other == this) return;
3132  if (GetOwningArena() == other->GetOwningArena()) {
3133  InternalSwap(other);
3134  } else {
3135  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3136  }
3137  }
3139  if (other == this) return;
3140  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3141  InternalSwap(other);
3142  }
3143 
3144  // implements Message ----------------------------------------------
3145 
3146  inline TableConstraintProto* New() const final {
3147  return new TableConstraintProto();
3148  }
3149 
3150  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3151  return CreateMaybeMessage<TableConstraintProto>(arena);
3152  }
3153  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3154  void CopyFrom(const TableConstraintProto& from);
3155  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3156  void MergeFrom(const TableConstraintProto& from);
3157  private:
3158  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
3159  public:
3160  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3161  bool IsInitialized() const final;
3162 
3163  size_t ByteSizeLong() const final;
3164  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3165  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3166  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3167  int GetCachedSize() const final { return _cached_size_.Get(); }
3168 
3169  private:
3170  void SharedCtor();
3171  void SharedDtor();
3172  void SetCachedSize(int size) const final;
3173  void InternalSwap(TableConstraintProto* other);
3174  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3175  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3176  return "operations_research.sat.TableConstraintProto";
3177  }
3178  protected:
3179  explicit TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3180  bool is_message_owned = false);
3181  private:
3182  static void ArenaDtor(void* object);
3183  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3184  public:
3185 
3186  static const ClassData _class_data_;
3187  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3188 
3189  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3190 
3191  // nested types ----------------------------------------------------
3192 
3193  // accessors -------------------------------------------------------
3194 
3195  enum : int {
3199  };
3200  // repeated int32 vars = 1;
3201  int vars_size() const;
3202  private:
3203  int _internal_vars_size() const;
3204  public:
3205  void clear_vars();
3206  private:
3207  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3208  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3209  _internal_vars() const;
3210  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3211  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3212  _internal_mutable_vars();
3213  public:
3214  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3215  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3216  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3217  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3218  vars() const;
3219  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3220  mutable_vars();
3221 
3222  // repeated int64 values = 2;
3223  int values_size() const;
3224  private:
3225  int _internal_values_size() const;
3226  public:
3227  void clear_values();
3228  private:
3229  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
3230  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3231  _internal_values() const;
3232  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3233  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3234  _internal_mutable_values();
3235  public:
3236  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
3237  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3238  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3239  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3240  values() const;
3241  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3242  mutable_values();
3243 
3244  // bool negated = 3;
3245  void clear_negated();
3246  bool negated() const;
3247  void set_negated(bool value);
3248  private:
3249  bool _internal_negated() const;
3250  void _internal_set_negated(bool value);
3251  public:
3252 
3253  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3254  private:
3255  class _Internal;
3256 
3257  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3258  typedef void InternalArenaConstructable_;
3259  typedef void DestructorSkippable_;
3260  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3261  mutable std::atomic<int> _vars_cached_byte_size_;
3262  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
3263  mutable std::atomic<int> _values_cached_byte_size_;
3264  bool negated_;
3265  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3266  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3267 };
3268 // -------------------------------------------------------------------
3269 
3271  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
3272  public:
3274  ~InverseConstraintProto() override;
3275  explicit constexpr InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3276 
3280  *this = ::std::move(from);
3281  }
3282 
3284  CopyFrom(from);
3285  return *this;
3286  }
3288  if (this == &from) return *this;
3289  if (GetOwningArena() == from.GetOwningArena()) {
3290  InternalSwap(&from);
3291  } else {
3292  CopyFrom(from);
3293  }
3294  return *this;
3295  }
3296 
3297  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3298  return GetDescriptor();
3299  }
3300  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3301  return default_instance().GetMetadata().descriptor;
3302  }
3303  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3304  return default_instance().GetMetadata().reflection;
3305  }
3307  return *internal_default_instance();
3308  }
3310  return reinterpret_cast<const InverseConstraintProto*>(
3312  }
3313  static constexpr int kIndexInFileMessages =
3314  16;
3315 
3317  a.Swap(&b);
3318  }
3319  inline void Swap(InverseConstraintProto* other) {
3320  if (other == this) return;
3321  if (GetOwningArena() == other->GetOwningArena()) {
3322  InternalSwap(other);
3323  } else {
3324  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3325  }
3326  }
3328  if (other == this) return;
3329  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3330  InternalSwap(other);
3331  }
3332 
3333  // implements Message ----------------------------------------------
3334 
3335  inline InverseConstraintProto* New() const final {
3336  return new InverseConstraintProto();
3337  }
3338 
3339  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3340  return CreateMaybeMessage<InverseConstraintProto>(arena);
3341  }
3342  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3343  void CopyFrom(const InverseConstraintProto& from);
3344  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3345  void MergeFrom(const InverseConstraintProto& from);
3346  private:
3347  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
3348  public:
3349  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3350  bool IsInitialized() const final;
3351 
3352  size_t ByteSizeLong() const final;
3353  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3354  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3355  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3356  int GetCachedSize() const final { return _cached_size_.Get(); }
3357 
3358  private:
3359  void SharedCtor();
3360  void SharedDtor();
3361  void SetCachedSize(int size) const final;
3362  void InternalSwap(InverseConstraintProto* other);
3363  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3364  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3365  return "operations_research.sat.InverseConstraintProto";
3366  }
3367  protected:
3368  explicit InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3369  bool is_message_owned = false);
3370  private:
3371  static void ArenaDtor(void* object);
3372  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3373  public:
3374 
3375  static const ClassData _class_data_;
3376  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3377 
3378  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3379 
3380  // nested types ----------------------------------------------------
3381 
3382  // accessors -------------------------------------------------------
3383 
3384  enum : int {
3387  };
3388  // repeated int32 f_direct = 1;
3389  int f_direct_size() const;
3390  private:
3391  int _internal_f_direct_size() const;
3392  public:
3393  void clear_f_direct();
3394  private:
3395  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_direct(int index) const;
3396  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3397  _internal_f_direct() const;
3398  void _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3399  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3400  _internal_mutable_f_direct();
3401  public:
3402  ::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const;
3403  void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3404  void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3405  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3406  f_direct() const;
3407  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3408  mutable_f_direct();
3409 
3410  // repeated int32 f_inverse = 2;
3411  int f_inverse_size() const;
3412  private:
3413  int _internal_f_inverse_size() const;
3414  public:
3415  void clear_f_inverse();
3416  private:
3417  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_inverse(int index) const;
3418  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3419  _internal_f_inverse() const;
3420  void _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3421  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3422  _internal_mutable_f_inverse();
3423  public:
3424  ::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const;
3425  void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3426  void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3427  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3428  f_inverse() const;
3429  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3431 
3432  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
3433  private:
3434  class _Internal;
3435 
3436  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3437  typedef void InternalArenaConstructable_;
3438  typedef void DestructorSkippable_;
3439  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_direct_;
3440  mutable std::atomic<int> _f_direct_cached_byte_size_;
3441  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_inverse_;
3442  mutable std::atomic<int> _f_inverse_cached_byte_size_;
3443  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3444  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3445 };
3446 // -------------------------------------------------------------------
3447 
3449  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
3450  public:
3452  ~AutomatonConstraintProto() override;
3453  explicit constexpr AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3454 
3458  *this = ::std::move(from);
3459  }
3460 
3462  CopyFrom(from);
3463  return *this;
3464  }
3466  if (this == &from) return *this;
3467  if (GetOwningArena() == from.GetOwningArena()) {
3468  InternalSwap(&from);
3469  } else {
3470  CopyFrom(from);
3471  }
3472  return *this;
3473  }
3474 
3475  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3476  return GetDescriptor();
3477  }
3478  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3479  return default_instance().GetMetadata().descriptor;
3480  }
3481  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3482  return default_instance().GetMetadata().reflection;
3483  }
3485  return *internal_default_instance();
3486  }
3488  return reinterpret_cast<const AutomatonConstraintProto*>(
3490  }
3491  static constexpr int kIndexInFileMessages =
3492  17;
3493 
3495  a.Swap(&b);
3496  }
3497  inline void Swap(AutomatonConstraintProto* other) {
3498  if (other == this) return;
3499  if (GetOwningArena() == other->GetOwningArena()) {
3500  InternalSwap(other);
3501  } else {
3502  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3503  }
3504  }
3506  if (other == this) return;
3507  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3508  InternalSwap(other);
3509  }
3510 
3511  // implements Message ----------------------------------------------
3512 
3513  inline AutomatonConstraintProto* New() const final {
3514  return new AutomatonConstraintProto();
3515  }
3516 
3517  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3518  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
3519  }
3520  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3521  void CopyFrom(const AutomatonConstraintProto& from);
3522  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3523  void MergeFrom(const AutomatonConstraintProto& from);
3524  private:
3525  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
3526  public:
3527  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3528  bool IsInitialized() const final;
3529 
3530  size_t ByteSizeLong() const final;
3531  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3532  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3533  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3534  int GetCachedSize() const final { return _cached_size_.Get(); }
3535 
3536  private:
3537  void SharedCtor();
3538  void SharedDtor();
3539  void SetCachedSize(int size) const final;
3540  void InternalSwap(AutomatonConstraintProto* other);
3541  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3542  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3543  return "operations_research.sat.AutomatonConstraintProto";
3544  }
3545  protected:
3546  explicit AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3547  bool is_message_owned = false);
3548  private:
3549  static void ArenaDtor(void* object);
3550  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3551  public:
3552 
3553  static const ClassData _class_data_;
3554  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3555 
3556  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3557 
3558  // nested types ----------------------------------------------------
3559 
3560  // accessors -------------------------------------------------------
3561 
3562  enum : int {
3569  };
3570  // repeated int64 final_states = 3;
3571  int final_states_size() const;
3572  private:
3573  int _internal_final_states_size() const;
3574  public:
3575  void clear_final_states();
3576  private:
3577  ::PROTOBUF_NAMESPACE_ID::int64 _internal_final_states(int index) const;
3578  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3579  _internal_final_states() const;
3580  void _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3581  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3582  _internal_mutable_final_states();
3583  public:
3584  ::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const;
3585  void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3586  void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3587  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3588  final_states() const;
3589  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3591 
3592  // repeated int64 transition_tail = 4;
3593  int transition_tail_size() const;
3594  private:
3595  int _internal_transition_tail_size() const;
3596  public:
3597  void clear_transition_tail();
3598  private:
3599  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_tail(int index) const;
3600  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3601  _internal_transition_tail() const;
3602  void _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3603  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3604  _internal_mutable_transition_tail();
3605  public:
3606  ::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const;
3607  void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3608  void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3609  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3610  transition_tail() const;
3611  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3613 
3614  // repeated int64 transition_head = 5;
3615  int transition_head_size() const;
3616  private:
3617  int _internal_transition_head_size() const;
3618  public:
3619  void clear_transition_head();
3620  private:
3621  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_head(int index) const;
3622  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3623  _internal_transition_head() const;
3624  void _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3625  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3626  _internal_mutable_transition_head();
3627  public:
3628  ::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const;
3629  void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3630  void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3631  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3632  transition_head() const;
3633  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3635 
3636  // repeated int64 transition_label = 6;
3637  int transition_label_size() const;
3638  private:
3639  int _internal_transition_label_size() const;
3640  public:
3641  void clear_transition_label();
3642  private:
3643  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_label(int index) const;
3644  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3645  _internal_transition_label() const;
3646  void _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3647  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3648  _internal_mutable_transition_label();
3649  public:
3650  ::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const;
3651  void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3652  void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3653  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3654  transition_label() const;
3655  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3657 
3658  // repeated int32 vars = 7;
3659  int vars_size() const;
3660  private:
3661  int _internal_vars_size() const;
3662  public:
3663  void clear_vars();
3664  private:
3665  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3666  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3667  _internal_vars() const;
3668  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3669  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3670  _internal_mutable_vars();
3671  public:
3672  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3673  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3674  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3675  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3676  vars() const;
3677  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3678  mutable_vars();
3679 
3680  // int64 starting_state = 2;
3681  void clear_starting_state();
3682  ::PROTOBUF_NAMESPACE_ID::int64 starting_state() const;
3683  void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3684  private:
3685  ::PROTOBUF_NAMESPACE_ID::int64 _internal_starting_state() const;
3686  void _internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3687  public:
3688 
3689  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
3690  private:
3691  class _Internal;
3692 
3693  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3694  typedef void InternalArenaConstructable_;
3695  typedef void DestructorSkippable_;
3696  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > final_states_;
3697  mutable std::atomic<int> _final_states_cached_byte_size_;
3698  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_tail_;
3699  mutable std::atomic<int> _transition_tail_cached_byte_size_;
3700  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_head_;
3701  mutable std::atomic<int> _transition_head_cached_byte_size_;
3702  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_label_;
3703  mutable std::atomic<int> _transition_label_cached_byte_size_;
3704  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3705  mutable std::atomic<int> _vars_cached_byte_size_;
3706  ::PROTOBUF_NAMESPACE_ID::int64 starting_state_;
3707  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3708  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3709 };
3710 // -------------------------------------------------------------------
3711 
3713  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ListOfVariablesProto) */ {
3714  public:
3716  ~ListOfVariablesProto() override;
3717  explicit constexpr ListOfVariablesProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3718 
3721  : ListOfVariablesProto() {
3722  *this = ::std::move(from);
3723  }
3724 
3726  CopyFrom(from);
3727  return *this;
3728  }
3730  if (this == &from) return *this;
3731  if (GetOwningArena() == from.GetOwningArena()) {
3732  InternalSwap(&from);
3733  } else {
3734  CopyFrom(from);
3735  }
3736  return *this;
3737  }
3738 
3739  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3740  return GetDescriptor();
3741  }
3742  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3743  return default_instance().GetMetadata().descriptor;
3744  }
3745  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3746  return default_instance().GetMetadata().reflection;
3747  }
3749  return *internal_default_instance();
3750  }
3752  return reinterpret_cast<const ListOfVariablesProto*>(
3754  }
3755  static constexpr int kIndexInFileMessages =
3756  18;
3757 
3759  a.Swap(&b);
3760  }
3761  inline void Swap(ListOfVariablesProto* other) {
3762  if (other == this) return;
3763  if (GetOwningArena() == other->GetOwningArena()) {
3764  InternalSwap(other);
3765  } else {
3766  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3767  }
3768  }
3770  if (other == this) return;
3771  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3772  InternalSwap(other);
3773  }
3774 
3775  // implements Message ----------------------------------------------
3776 
3777  inline ListOfVariablesProto* New() const final {
3778  return new ListOfVariablesProto();
3779  }
3780 
3781  ListOfVariablesProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3782  return CreateMaybeMessage<ListOfVariablesProto>(arena);
3783  }
3784  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3785  void CopyFrom(const ListOfVariablesProto& from);
3786  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3787  void MergeFrom(const ListOfVariablesProto& from);
3788  private:
3789  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
3790  public:
3791  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3792  bool IsInitialized() const final;
3793 
3794  size_t ByteSizeLong() const final;
3795  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3796  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3797  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3798  int GetCachedSize() const final { return _cached_size_.Get(); }
3799 
3800  private:
3801  void SharedCtor();
3802  void SharedDtor();
3803  void SetCachedSize(int size) const final;
3804  void InternalSwap(ListOfVariablesProto* other);
3805  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3806  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3807  return "operations_research.sat.ListOfVariablesProto";
3808  }
3809  protected:
3810  explicit ListOfVariablesProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3811  bool is_message_owned = false);
3812  private:
3813  static void ArenaDtor(void* object);
3814  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3815  public:
3816 
3817  static const ClassData _class_data_;
3818  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3819 
3820  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3821 
3822  // nested types ----------------------------------------------------
3823 
3824  // accessors -------------------------------------------------------
3825 
3826  enum : int {
3828  };
3829  // repeated int32 vars = 1;
3830  int vars_size() const;
3831  private:
3832  int _internal_vars_size() const;
3833  public:
3834  void clear_vars();
3835  private:
3836  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3837  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3838  _internal_vars() const;
3839  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3840  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3841  _internal_mutable_vars();
3842  public:
3843  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3844  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3845  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3846  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3847  vars() const;
3848  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3849  mutable_vars();
3850 
3851  // @@protoc_insertion_point(class_scope:operations_research.sat.ListOfVariablesProto)
3852  private:
3853  class _Internal;
3854 
3855  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3856  typedef void InternalArenaConstructable_;
3857  typedef void DestructorSkippable_;
3858  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3859  mutable std::atomic<int> _vars_cached_byte_size_;
3860  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3861  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3862 };
3863 // -------------------------------------------------------------------
3864 
3865 class ConstraintProto final :
3866  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
3867  public:
3868  inline ConstraintProto() : ConstraintProto(nullptr) {}
3869  ~ConstraintProto() override;
3870  explicit constexpr ConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3871 
3872  ConstraintProto(const ConstraintProto& from);
3874  : ConstraintProto() {
3875  *this = ::std::move(from);
3876  }
3877 
3879  CopyFrom(from);
3880  return *this;
3881  }
3882  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
3883  if (this == &from) return *this;
3884  if (GetOwningArena() == from.GetOwningArena()) {
3885  InternalSwap(&from);
3886  } else {
3887  CopyFrom(from);
3888  }
3889  return *this;
3890  }
3891 
3892  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3893  return GetDescriptor();
3894  }
3895  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3896  return default_instance().GetMetadata().descriptor;
3897  }
3898  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3899  return default_instance().GetMetadata().reflection;
3900  }
3902  return *internal_default_instance();
3903  }
3905  kBoolOr = 3,
3910  kIntDiv = 7,
3911  kIntMod = 8,
3912  kIntMax = 9,
3913  kLinMax = 27,
3914  kIntMin = 10,
3915  kLinMin = 28,
3916  kIntProd = 11,
3917  kLinear = 12,
3918  kAllDiff = 13,
3919  kElement = 14,
3920  kCircuit = 15,
3921  kRoutes = 23,
3922  kTable = 16,
3924  kInverse = 18,
3932  };
3933 
3935  return reinterpret_cast<const ConstraintProto*>(
3937  }
3938  static constexpr int kIndexInFileMessages =
3939  19;
3940 
3942  a.Swap(&b);
3943  }
3944  inline void Swap(ConstraintProto* other) {
3945  if (other == this) return;
3946  if (GetOwningArena() == other->GetOwningArena()) {
3947  InternalSwap(other);
3948  } else {
3949  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3950  }
3951  }
3953  if (other == this) return;
3954  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3955  InternalSwap(other);
3956  }
3957 
3958  // implements Message ----------------------------------------------
3959 
3960  inline ConstraintProto* New() const final {
3961  return new ConstraintProto();
3962  }
3963 
3964  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3965  return CreateMaybeMessage<ConstraintProto>(arena);
3966  }
3967  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3968  void CopyFrom(const ConstraintProto& from);
3969  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3970  void MergeFrom(const ConstraintProto& from);
3971  private:
3972  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
3973  public:
3974  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3975  bool IsInitialized() const final;
3976 
3977  size_t ByteSizeLong() const final;
3978  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3979  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3980  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3981  int GetCachedSize() const final { return _cached_size_.Get(); }
3982 
3983  private:
3984  void SharedCtor();
3985  void SharedDtor();
3986  void SetCachedSize(int size) const final;
3987  void InternalSwap(ConstraintProto* other);
3988  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3989  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3990  return "operations_research.sat.ConstraintProto";
3991  }
3992  protected:
3993  explicit ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3994  bool is_message_owned = false);
3995  private:
3996  static void ArenaDtor(void* object);
3997  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3998  public:
3999 
4000  static const ClassData _class_data_;
4001  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4002 
4003  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4004 
4005  // nested types ----------------------------------------------------
4006 
4007  // accessors -------------------------------------------------------
4008 
4009  enum : int {
4038  };
4039  // repeated int32 enforcement_literal = 2;
4040  int enforcement_literal_size() const;
4041  private:
4042  int _internal_enforcement_literal_size() const;
4043  public:
4045  private:
4046  ::PROTOBUF_NAMESPACE_ID::int32 _internal_enforcement_literal(int index) const;
4047  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4048  _internal_enforcement_literal() const;
4049  void _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
4050  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4051  _internal_mutable_enforcement_literal();
4052  public:
4053  ::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const;
4054  void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
4055  void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
4056  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4057  enforcement_literal() const;
4058  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4060 
4061  // string name = 1;
4062  void clear_name();
4063  const std::string& name() const;
4064  template <typename ArgT0 = const std::string&, typename... ArgT>
4065  void set_name(ArgT0&& arg0, ArgT... args);
4066  std::string* mutable_name();
4067  PROTOBUF_MUST_USE_RESULT std::string* release_name();
4068  void set_allocated_name(std::string* name);
4069  private:
4070  const std::string& _internal_name() const;
4071  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
4072  std::string* _internal_mutable_name();
4073  public:
4074 
4075  // .operations_research.sat.BoolArgumentProto bool_or = 3;
4076  bool has_bool_or() const;
4077  private:
4078  bool _internal_has_bool_or() const;
4079  public:
4080  void clear_bool_or();
4081  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
4082  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto* release_bool_or();
4085  private:
4086  const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
4087  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_or();
4088  public:
4092 
4093  // .operations_research.sat.BoolArgumentProto bool_and = 4;
4094  bool has_bool_and() const;
4095  private:
4096  bool _internal_has_bool_and() const;
4097  public:
4098  void clear_bool_and();
4099  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
4100  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto* release_bool_and();
4103  private:
4104  const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
4105  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_and();
4106  public:
4110 
4111  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
4112  bool has_at_most_one() const;
4113  private:
4114  bool _internal_has_at_most_one() const;
4115  public:
4116  void clear_at_most_one();
4117  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
4118  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto* release_at_most_one();
4121  private:
4122  const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
4123  ::operations_research::sat::BoolArgumentProto* _internal_mutable_at_most_one();
4124  public:
4128 
4129  // .operations_research.sat.BoolArgumentProto exactly_one = 29;
4130  bool has_exactly_one() const;
4131  private:
4132  bool _internal_has_exactly_one() const;
4133  public:
4134  void clear_exactly_one();
4135  const ::operations_research::sat::BoolArgumentProto& exactly_one() const;
4136  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto* release_exactly_one();
4139  private:
4140  const ::operations_research::sat::BoolArgumentProto& _internal_exactly_one() const;
4141  ::operations_research::sat::BoolArgumentProto* _internal_mutable_exactly_one();
4142  public:
4146 
4147  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
4148  bool has_bool_xor() const;
4149  private:
4150  bool _internal_has_bool_xor() const;
4151  public:
4152  void clear_bool_xor();
4153  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
4154  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto* release_bool_xor();
4157  private:
4158  const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
4159  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_xor();
4160  public:
4164 
4165  // .operations_research.sat.IntegerArgumentProto int_div = 7;
4166  bool has_int_div() const;
4167  private:
4168  bool _internal_has_int_div() const;
4169  public:
4170  void clear_int_div();
4171  const ::operations_research::sat::IntegerArgumentProto& int_div() const;
4172  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto* release_int_div();
4175  private:
4176  const ::operations_research::sat::IntegerArgumentProto& _internal_int_div() const;
4177  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_div();
4178  public:
4182 
4183  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
4184  bool has_int_mod() const;
4185  private:
4186  bool _internal_has_int_mod() const;
4187  public:
4188  void clear_int_mod();
4189  const ::operations_research::sat::IntegerArgumentProto& int_mod() const;
4190  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto* release_int_mod();
4193  private:
4194  const ::operations_research::sat::IntegerArgumentProto& _internal_int_mod() const;
4195  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_mod();
4196  public:
4200 
4201  // .operations_research.sat.IntegerArgumentProto int_max = 9;
4202  bool has_int_max() const;
4203  private:
4204  bool _internal_has_int_max() const;
4205  public:
4206  void clear_int_max();
4207  const ::operations_research::sat::IntegerArgumentProto& int_max() const;
4208  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto* release_int_max();
4211  private:
4212  const ::operations_research::sat::IntegerArgumentProto& _internal_int_max() const;
4213  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_max();
4214  public:
4218 
4219  // .operations_research.sat.LinearArgumentProto lin_max = 27;
4220  bool has_lin_max() const;
4221  private:
4222  bool _internal_has_lin_max() const;
4223  public:
4224  void clear_lin_max();
4225  const ::operations_research::sat::LinearArgumentProto& lin_max() const;
4226  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearArgumentProto* release_lin_max();
4229  private:
4230  const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
4231  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_max();
4232  public:
4236 
4237  // .operations_research.sat.IntegerArgumentProto int_min = 10;
4238  bool has_int_min() const;
4239  private:
4240  bool _internal_has_int_min() const;
4241  public:
4242  void clear_int_min();
4243  const ::operations_research::sat::IntegerArgumentProto& int_min() const;
4244  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto* release_int_min();
4247  private:
4248  const ::operations_research::sat::IntegerArgumentProto& _internal_int_min() const;
4249  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_min();
4250  public:
4254 
4255  // .operations_research.sat.LinearArgumentProto lin_min = 28;
4256  bool has_lin_min() const;
4257  private:
4258  bool _internal_has_lin_min() const;
4259  public:
4260  void clear_lin_min();
4261  const ::operations_research::sat::LinearArgumentProto& lin_min() const;
4262  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearArgumentProto* release_lin_min();
4265  private:
4266  const ::operations_research::sat::LinearArgumentProto& _internal_lin_min() const;
4267  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_min();
4268  public:
4272 
4273  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
4274  bool has_int_prod() const;
4275  private:
4276  bool _internal_has_int_prod() const;
4277  public:
4278  void clear_int_prod();
4279  const ::operations_research::sat::IntegerArgumentProto& int_prod() const;
4280  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto* release_int_prod();
4283  private:
4284  const ::operations_research::sat::IntegerArgumentProto& _internal_int_prod() const;
4285  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_prod();
4286  public:
4290 
4291  // .operations_research.sat.LinearConstraintProto linear = 12;
4292  bool has_linear() const;
4293  private:
4294  bool _internal_has_linear() const;
4295  public:
4296  void clear_linear();
4297  const ::operations_research::sat::LinearConstraintProto& linear() const;
4298  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearConstraintProto* release_linear();
4301  private:
4302  const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
4303  ::operations_research::sat::LinearConstraintProto* _internal_mutable_linear();
4304  public:
4308 
4309  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
4310  bool has_all_diff() const;
4311  private:
4312  bool _internal_has_all_diff() const;
4313  public:
4314  void clear_all_diff();
4315  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
4316  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::AllDifferentConstraintProto* release_all_diff();
4319  private:
4320  const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
4321  ::operations_research::sat::AllDifferentConstraintProto* _internal_mutable_all_diff();
4322  public:
4326 
4327  // .operations_research.sat.ElementConstraintProto element = 14;
4328  bool has_element() const;
4329  private:
4330  bool _internal_has_element() const;
4331  public:
4332  void clear_element();
4333  const ::operations_research::sat::ElementConstraintProto& element() const;
4334  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::ElementConstraintProto* release_element();
4337  private:
4338  const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
4339  ::operations_research::sat::ElementConstraintProto* _internal_mutable_element();
4340  public:
4344 
4345  // .operations_research.sat.CircuitConstraintProto circuit = 15;
4346  bool has_circuit() const;
4347  private:
4348  bool _internal_has_circuit() const;
4349  public:
4350  void clear_circuit();
4351  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
4352  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::CircuitConstraintProto* release_circuit();
4355  private:
4356  const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
4357  ::operations_research::sat::CircuitConstraintProto* _internal_mutable_circuit();
4358  public:
4362 
4363  // .operations_research.sat.RoutesConstraintProto routes = 23;
4364  bool has_routes() const;
4365  private:
4366  bool _internal_has_routes() const;
4367  public:
4368  void clear_routes();
4369  const ::operations_research::sat::RoutesConstraintProto& routes() const;
4370  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::RoutesConstraintProto* release_routes();
4373  private:
4374  const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
4375  ::operations_research::sat::RoutesConstraintProto* _internal_mutable_routes();
4376  public:
4380 
4381  // .operations_research.sat.TableConstraintProto table = 16;
4382  bool has_table() const;
4383  private:
4384  bool _internal_has_table() const;
4385  public:
4386  void clear_table();
4387  const ::operations_research::sat::TableConstraintProto& table() const;
4388  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::TableConstraintProto* release_table();
4391  private:
4392  const ::operations_research::sat::TableConstraintProto& _internal_table() const;
4393  ::operations_research::sat::TableConstraintProto* _internal_mutable_table();
4394  public:
4398 
4399  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
4400  bool has_automaton() const;
4401  private:
4402  bool _internal_has_automaton() const;
4403  public:
4404  void clear_automaton();
4405  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
4406  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::AutomatonConstraintProto* release_automaton();
4409  private:
4410  const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
4411  ::operations_research::sat::AutomatonConstraintProto* _internal_mutable_automaton();
4412  public:
4416 
4417  // .operations_research.sat.InverseConstraintProto inverse = 18;
4418  bool has_inverse() const;
4419  private:
4420  bool _internal_has_inverse() const;
4421  public:
4422  void clear_inverse();
4423  const ::operations_research::sat::InverseConstraintProto& inverse() const;
4424  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::InverseConstraintProto* release_inverse();
4427  private:
4428  const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
4429  ::operations_research::sat::InverseConstraintProto* _internal_mutable_inverse();
4430  public:
4434 
4435  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
4436  bool has_reservoir() const;
4437  private:
4438  bool _internal_has_reservoir() const;
4439  public:
4440  void clear_reservoir();
4441  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
4442  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::ReservoirConstraintProto* release_reservoir();
4445  private:
4446  const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
4447  ::operations_research::sat::ReservoirConstraintProto* _internal_mutable_reservoir();
4448  public:
4452 
4453  // .operations_research.sat.IntervalConstraintProto interval = 19;
4454  bool has_interval() const;
4455  private:
4456  bool _internal_has_interval() const;
4457  public:
4458  void clear_interval();
4459  const ::operations_research::sat::IntervalConstraintProto& interval() const;
4460  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntervalConstraintProto* release_interval();
4463  private:
4464  const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
4465  ::operations_research::sat::IntervalConstraintProto* _internal_mutable_interval();
4466  public:
4470 
4471  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
4472  bool has_no_overlap() const;
4473  private:
4474  bool _internal_has_no_overlap() const;
4475  public:
4476  void clear_no_overlap();
4477  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
4478  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::NoOverlapConstraintProto* release_no_overlap();
4481  private:
4482  const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
4483  ::operations_research::sat::NoOverlapConstraintProto* _internal_mutable_no_overlap();
4484  public:
4488 
4489  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
4490  bool has_no_overlap_2d() const;
4491  private:
4492  bool _internal_has_no_overlap_2d() const;
4493  public:
4494  void clear_no_overlap_2d();
4495  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
4496  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::NoOverlap2DConstraintProto* release_no_overlap_2d();
4499  private:
4500  const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
4501  ::operations_research::sat::NoOverlap2DConstraintProto* _internal_mutable_no_overlap_2d();
4502  public:
4506 
4507  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
4508  bool has_cumulative() const;
4509  private:
4510  bool _internal_has_cumulative() const;
4511  public:
4512  void clear_cumulative();
4513  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
4514  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::CumulativeConstraintProto* release_cumulative();
4517  private:
4518  const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
4519  ::operations_research::sat::CumulativeConstraintProto* _internal_mutable_cumulative();
4520  public:
4524 
4525  // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
4526  bool has_dummy_constraint() const;
4527  private:
4528  bool _internal_has_dummy_constraint() const;
4529  public:
4530  void clear_dummy_constraint();
4531  const ::operations_research::sat::ListOfVariablesProto& dummy_constraint() const;
4532  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::ListOfVariablesProto* release_dummy_constraint();
4535  private:
4536  const ::operations_research::sat::ListOfVariablesProto& _internal_dummy_constraint() const;
4537  ::operations_research::sat::ListOfVariablesProto* _internal_mutable_dummy_constraint();
4538  public:
4542 
4543  void clear_constraint();
4545  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
4546  private:
4547  class _Internal;
4548  void set_has_bool_or();
4549  void set_has_bool_and();
4550  void set_has_at_most_one();
4551  void set_has_exactly_one();
4552  void set_has_bool_xor();
4553  void set_has_int_div();
4554  void set_has_int_mod();
4555  void set_has_int_max();
4556  void set_has_lin_max();
4557  void set_has_int_min();
4558  void set_has_lin_min();
4559  void set_has_int_prod();
4560  void set_has_linear();
4561  void set_has_all_diff();
4562  void set_has_element();
4563  void set_has_circuit();
4564  void set_has_routes();
4565  void set_has_table();
4566  void set_has_automaton();
4567  void set_has_inverse();
4568  void set_has_reservoir();
4569  void set_has_interval();
4570  void set_has_no_overlap();
4571  void set_has_no_overlap_2d();
4572  void set_has_cumulative();
4573  void set_has_dummy_constraint();
4574 
4575  inline bool has_constraint() const;
4576  inline void clear_has_constraint();
4577 
4578  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4579  typedef void InternalArenaConstructable_;
4580  typedef void DestructorSkippable_;
4581  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > enforcement_literal_;
4582  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
4583  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4584  union ConstraintUnion {
4585  constexpr ConstraintUnion() : _constinit_{} {}
4586  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
4613  } constraint_;
4614  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4615  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
4616 
4617  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4618 };
4619 // -------------------------------------------------------------------
4620 
4621 class CpObjectiveProto final :
4622  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
4623  public:
4624  inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
4625  ~CpObjectiveProto() override;
4626  explicit constexpr CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4627 
4628  CpObjectiveProto(const CpObjectiveProto& from);
4630  : CpObjectiveProto() {
4631  *this = ::std::move(from);
4632  }
4633 
4635  CopyFrom(from);
4636  return *this;
4637  }
4638  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
4639  if (this == &from) return *this;
4640  if (GetOwningArena() == from.GetOwningArena()) {
4641  InternalSwap(&from);
4642  } else {
4643  CopyFrom(from);
4644  }
4645  return *this;
4646  }
4647 
4648  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4649  return GetDescriptor();
4650  }
4651  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4652  return default_instance().GetMetadata().descriptor;
4653  }
4654  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4655  return default_instance().GetMetadata().reflection;
4656  }
4658  return *internal_default_instance();
4659  }
4661  return reinterpret_cast<const CpObjectiveProto*>(
4663  }
4664  static constexpr int kIndexInFileMessages =
4665  20;
4666 
4668  a.Swap(&b);
4669  }
4670  inline void Swap(CpObjectiveProto* other) {
4671  if (other == this) return;
4672  if (GetOwningArena() == other->GetOwningArena()) {
4673  InternalSwap(other);
4674  } else {
4675  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4676  }
4677  }
4679  if (other == this) return;
4680  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
4681  InternalSwap(other);
4682  }
4683 
4684  // implements Message ----------------------------------------------
4685 
4686  inline CpObjectiveProto* New() const final {
4687  return new CpObjectiveProto();
4688  }
4689 
4690  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4691  return CreateMaybeMessage<CpObjectiveProto>(arena);
4692  }
4693  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
4694  void CopyFrom(const CpObjectiveProto& from);
4695  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
4696  void MergeFrom(const CpObjectiveProto& from);
4697  private:
4698  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
4699  public:
4700  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4701  bool IsInitialized() const final;
4702 
4703  size_t ByteSizeLong() const final;
4704  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4705  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4706  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4707  int GetCachedSize() const final { return _cached_size_.Get(); }
4708 
4709  private:
4710  void SharedCtor();
4711  void SharedDtor();
4712  void SetCachedSize(int size) const final;
4713  void InternalSwap(CpObjectiveProto* other);
4714  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4715  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4716  return "operations_research.sat.CpObjectiveProto";
4717  }
4718  protected:
4719  explicit CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4720  bool is_message_owned = false);
4721  private:
4722  static void ArenaDtor(void* object);
4723  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4724  public:
4725 
4726  static const ClassData _class_data_;
4727  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4728 
4729  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4730 
4731  // nested types ----------------------------------------------------
4732 
4733  // accessors -------------------------------------------------------
4734 
4735  enum : int {
4741  };
4742  // repeated int32 vars = 1;
4743  int vars_size() const;
4744  private:
4745  int _internal_vars_size() const;
4746  public:
4747  void clear_vars();
4748  private:
4749  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
4750  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4751  _internal_vars() const;
4752  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4753  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4754  _internal_mutable_vars();
4755  public:
4756  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
4757  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
4758  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4759  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4760  vars() const;
4761  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4762  mutable_vars();
4763 
4764  // repeated int64 coeffs = 4;
4765  int coeffs_size() const;
4766  private:
4767  int _internal_coeffs_size() const;
4768  public:
4769  void clear_coeffs();
4770  private:
4771  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
4772  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4773  _internal_coeffs() const;
4774  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4775  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4776  _internal_mutable_coeffs();
4777  public:
4778  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
4779  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4780  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4781  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4782  coeffs() const;
4783  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4784  mutable_coeffs();
4785 
4786  // repeated int64 domain = 5;
4787  int domain_size() const;
4788  private:
4789  int _internal_domain_size() const;
4790  public:
4791  void clear_domain();
4792  private:
4793  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
4794  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4795  _internal_domain() const;
4796  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4797  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4798  _internal_mutable_domain();
4799  public:
4800  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
4801  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4802  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4803  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4804  domain() const;
4805  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4806  mutable_domain();
4807 
4808  // double offset = 2;
4809  void clear_offset();
4810  double offset() const;
4811  void set_offset(double value);
4812  private:
4813  double _internal_offset() const;
4814  void _internal_set_offset(double value);
4815  public:
4816 
4817  // double scaling_factor = 3;
4818  void clear_scaling_factor();
4819  double scaling_factor() const;
4820  void set_scaling_factor(double value);
4821  private:
4822  double _internal_scaling_factor() const;
4823  void _internal_set_scaling_factor(double value);
4824  public:
4825 
4826  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
4827  private:
4828  class _Internal;
4829 
4830  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4831  typedef void InternalArenaConstructable_;
4832  typedef void DestructorSkippable_;
4833  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
4834  mutable std::atomic<int> _vars_cached_byte_size_;
4835  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
4836  mutable std::atomic<int> _coeffs_cached_byte_size_;
4837  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
4838  mutable std::atomic<int> _domain_cached_byte_size_;
4839  double offset_;
4840  double scaling_factor_;
4841  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4842  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4843 };
4844 // -------------------------------------------------------------------
4845 
4847  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
4848  public:
4851  explicit constexpr DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4852 
4856  *this = ::std::move(from);
4857  }
4858 
4860  CopyFrom(from);
4861  return *this;
4862  }
4864  if (this == &from) return *this;
4865  if (GetOwningArena() == from.GetOwningArena()) {
4866  InternalSwap(&from);
4867  } else {
4868  CopyFrom(from);
4869  }
4870  return *this;
4871  }
4872 
4873  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4874  return GetDescriptor();
4875  }
4876  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4877  return default_instance().GetMetadata().descriptor;
4878  }
4879  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4880  return default_instance().GetMetadata().reflection;
4881  }
4883  return *internal_default_instance();
4884  }
4886  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
4888  }
4889  static constexpr int kIndexInFileMessages =
4890  21;
4891 
4893  a.Swap(&b);
4894  }
4896  if (other == this) return;
4897  if (GetOwningArena() == other->GetOwningArena()) {
4898  InternalSwap(other);
4899  } else {
4900  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4901  }
4902  }
4904  if (other == this) return;
4905  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
4906  InternalSwap(other);
4907  }
4908 
4909  // implements Message ----------------------------------------------
4910 
4913  }
4914 
4915  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4916  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
4917  }
4918  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
4920  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
4922  private:
4923  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
4924  public:
4925  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4926  bool IsInitialized() const final;
4927 
4928  size_t ByteSizeLong() const final;
4929  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4930  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4931  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4932  int GetCachedSize() const final { return _cached_size_.Get(); }
4933 
4934  private:
4935  void SharedCtor();
4936  void SharedDtor();
4937  void SetCachedSize(int size) const final;
4938  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
4939  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4940  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4941  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
4942  }
4943  protected:
4944  explicit DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4945  bool is_message_owned = false);
4946  private:
4947  static void ArenaDtor(void* object);
4948  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4949  public:
4950 
4951  static const ClassData _class_data_;
4952  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4953 
4954  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4955 
4956  // nested types ----------------------------------------------------
4957 
4958  // accessors -------------------------------------------------------
4959 
4960  enum : int {
4964  };
4965  // int64 offset = 2;
4966  void clear_offset();
4967  ::PROTOBUF_NAMESPACE_ID::int64 offset() const;
4968  void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4969  private:
4970  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
4971  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4972  public:
4973 
4974  // int64 positive_coeff = 3;
4975  void clear_positive_coeff();
4976  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const;
4977  void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4978  private:
4979  ::PROTOBUF_NAMESPACE_ID::int64 _internal_positive_coeff() const;
4980  void _internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4981  public:
4982 
4983  // int32 index = 1;
4984  void clear_index();
4985  ::PROTOBUF_NAMESPACE_ID::int32 index() const;
4986  void set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
4987  private:
4988  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
4989  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
4990  public:
4991 
4992  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
4993  private:
4994  class _Internal;
4995 
4996  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4997  typedef void InternalArenaConstructable_;
4998  typedef void DestructorSkippable_;
4999  ::PROTOBUF_NAMESPACE_ID::int64 offset_;
5000  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff_;
5001  ::PROTOBUF_NAMESPACE_ID::int32 index_;
5002  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5003  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5004 };
5005 // -------------------------------------------------------------------
5006 
5008  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
5009  public:
5011  ~DecisionStrategyProto() override;
5012  explicit constexpr DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5013 
5016  : DecisionStrategyProto() {
5017  *this = ::std::move(from);
5018  }
5019 
5021  CopyFrom(from);
5022  return *this;
5023  }
5025  if (this == &from) return *this;
5026  if (GetOwningArena() == from.GetOwningArena()) {
5027  InternalSwap(&from);
5028  } else {
5029  CopyFrom(from);
5030  }
5031  return *this;
5032  }
5033 
5034  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5035  return GetDescriptor();
5036  }
5037  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5038  return default_instance().GetMetadata().descriptor;
5039  }
5040  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5041  return default_instance().GetMetadata().reflection;
5042  }
5044  return *internal_default_instance();
5045  }
5047  return reinterpret_cast<const DecisionStrategyProto*>(
5049  }
5050  static constexpr int kIndexInFileMessages =
5051  22;
5052 
5054  a.Swap(&b);
5055  }
5056  inline void Swap(DecisionStrategyProto* other) {
5057  if (other == this) return;
5058  if (GetOwningArena() == other->GetOwningArena()) {
5059  InternalSwap(other);
5060  } else {
5061  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5062  }
5063  }
5065  if (other == this) return;
5066  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5067  InternalSwap(other);
5068  }
5069 
5070  // implements Message ----------------------------------------------
5071 
5072  inline DecisionStrategyProto* New() const final {
5073  return new DecisionStrategyProto();
5074  }
5075 
5076  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5077  return CreateMaybeMessage<DecisionStrategyProto>(arena);
5078  }
5079  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5080  void CopyFrom(const DecisionStrategyProto& from);
5081  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5082  void MergeFrom(const DecisionStrategyProto& from);
5083  private:
5084  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
5085  public:
5086  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5087  bool IsInitialized() const final;
5088 
5089  size_t ByteSizeLong() const final;
5090  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5091  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5092  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5093  int GetCachedSize() const final { return _cached_size_.Get(); }
5094 
5095  private:
5096  void SharedCtor();
5097  void SharedDtor();
5098  void SetCachedSize(int size) const final;
5099  void InternalSwap(DecisionStrategyProto* other);
5100  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5101  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5102  return "operations_research.sat.DecisionStrategyProto";
5103  }
5104  protected:
5105  explicit DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5106  bool is_message_owned = false);
5107  private:
5108  static void ArenaDtor(void* object);
5109  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5110  public:
5111 
5112  static const ClassData _class_data_;
5113  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5114 
5115  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5116 
5117  // nested types ----------------------------------------------------
5118 
5120 
5132  static inline bool VariableSelectionStrategy_IsValid(int value) {
5134  }
5141  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5144  }
5145  template<typename T>
5146  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
5149  "Incorrect type passed to function VariableSelectionStrategy_Name.");
5151  }
5152  static inline bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
5155  }
5156 
5168  static inline bool DomainReductionStrategy_IsValid(int value) {
5170  }
5175  static constexpr int DomainReductionStrategy_ARRAYSIZE =
5177  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5180  }
5181  template<typename T>
5182  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
5185  "Incorrect type passed to function DomainReductionStrategy_Name.");
5187  }
5188  static inline bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
5191  }
5192 
5193  // accessors -------------------------------------------------------
5194 
5195  enum : int {
5200  };
5201  // repeated int32 variables = 1;
5202  int variables_size() const;
5203  private:
5204  int _internal_variables_size() const;
5205  public:
5206  void clear_variables();
5207  private:
5208  ::PROTOBUF_NAMESPACE_ID::int32 _internal_variables(int index) const;
5209  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5210  _internal_variables() const;
5211  void _internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
5212  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5213  _internal_mutable_variables();
5214  public:
5215  ::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const;
5216  void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5217  void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
5218  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5219  variables() const;
5220  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5222 
5223  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
5224  int transformations_size() const;
5225  private:
5226  int _internal_transformations_size() const;
5227  public:
5228  void clear_transformations();
5230  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
5232  private:
5233  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& _internal_transformations(int index) const;
5235  public:
5236  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
5238  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
5239  transformations() const;
5240 
5241  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
5245  private:
5246  ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
5247  void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
5248  public:
5249 
5250  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
5254  private:
5255  ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
5256  void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
5257  public:
5258 
5259  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
5260  private:
5261  class _Internal;
5262 
5263  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5264  typedef void InternalArenaConstructable_;
5265  typedef void DestructorSkippable_;
5266  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > variables_;
5267  mutable std::atomic<int> _variables_cached_byte_size_;
5268  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
5269  int variable_selection_strategy_;
5270  int domain_reduction_strategy_;
5271  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5272  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5273 };
5274 // -------------------------------------------------------------------
5275 
5277  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
5278  public:
5280  ~PartialVariableAssignment() override;
5281  explicit constexpr PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5282 
5286  *this = ::std::move(from);
5287  }
5288 
5290  CopyFrom(from);
5291  return *this;
5292  }
5294  if (this == &from) return *this;
5295  if (GetOwningArena() == from.GetOwningArena()) {
5296  InternalSwap(&from);
5297  } else {
5298  CopyFrom(from);
5299  }
5300  return *this;
5301  }
5302 
5303  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5304  return GetDescriptor();
5305  }
5306  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5307  return default_instance().GetMetadata().descriptor;
5308  }
5309  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5310  return default_instance().GetMetadata().reflection;
5311  }
5313  return *internal_default_instance();
5314  }
5316  return reinterpret_cast<const PartialVariableAssignment*>(
5318  }
5319  static constexpr int kIndexInFileMessages =
5320  23;
5321 
5323  a.Swap(&b);
5324  }
5325  inline void Swap(PartialVariableAssignment* other) {
5326  if (other == this) return;
5327  if (GetOwningArena() == other->GetOwningArena()) {
5328  InternalSwap(other);
5329  } else {
5330  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5331  }
5332  }
5334  if (other == this) return;
5335  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5336  InternalSwap(other);
5337  }
5338 
5339  // implements Message ----------------------------------------------
5340 
5341  inline PartialVariableAssignment* New() const final {
5342  return new PartialVariableAssignment();
5343  }
5344 
5345  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5346  return CreateMaybeMessage<PartialVariableAssignment>(arena);
5347  }
5348  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5349  void CopyFrom(const PartialVariableAssignment& from);
5350  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5351  void MergeFrom(const PartialVariableAssignment& from);
5352  private:
5353  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
5354  public:
5355  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5356  bool IsInitialized() const final;
5357 
5358  size_t ByteSizeLong() const final;
5359  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5360  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5361  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5362  int GetCachedSize() const final { return _cached_size_.Get(); }
5363 
5364  private:
5365  void SharedCtor();
5366  void SharedDtor();
5367  void SetCachedSize(int size) const final;
5368  void InternalSwap(PartialVariableAssignment* other);
5369  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5370  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5371  return "operations_research.sat.PartialVariableAssignment";
5372  }
5373  protected:
5374  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5375  bool is_message_owned = false);
5376  private:
5377  static void ArenaDtor(void* object);
5378  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5379  public:
5380 
5381  static const ClassData _class_data_;
5382  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5383 
5384  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5385 
5386  // nested types ----------------------------------------------------
5387 
5388  // accessors -------------------------------------------------------
5389 
5390  enum : int {
5393  };
5394  // repeated int32 vars = 1;
5395  int vars_size() const;
5396  private:
5397  int _internal_vars_size() const;
5398  public:
5399  void clear_vars();
5400  private:
5401  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
5402  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5403  _internal_vars() const;
5404  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5405  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5406  _internal_mutable_vars();
5407  public:
5408  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
5409  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5410  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5411  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5412  vars() const;
5413  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5414  mutable_vars();
5415 
5416  // repeated int64 values = 2;
5417  int values_size() const;
5418  private:
5419  int _internal_values_size() const;
5420  public:
5421  void clear_values();
5422  private:
5423  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
5424  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5425  _internal_values() const;
5426  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5427  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5428  _internal_mutable_values();
5429  public:
5430  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
5431  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
5432  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5433  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5434  values() const;
5435  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5436  mutable_values();
5437 
5438  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
5439  private:
5440  class _Internal;
5441 
5442  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5443  typedef void InternalArenaConstructable_;
5444  typedef void DestructorSkippable_;
5445  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
5446  mutable std::atomic<int> _vars_cached_byte_size_;
5447  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
5448  mutable std::atomic<int> _values_cached_byte_size_;
5449  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5450  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5451 };
5452 // -------------------------------------------------------------------
5453 
5455  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SparsePermutationProto) */ {
5456  public:
5458  ~SparsePermutationProto() override;
5459  explicit constexpr SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5460 
5464  *this = ::std::move(from);
5465  }
5466 
5468  CopyFrom(from);
5469  return *this;
5470  }
5472  if (this == &from) return *this;
5473  if (GetOwningArena() == from.GetOwningArena()) {
5474  InternalSwap(&from);
5475  } else {
5476  CopyFrom(from);
5477  }
5478  return *this;
5479  }
5480 
5481  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5482  return GetDescriptor();
5483  }
5484  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5485  return default_instance().GetMetadata().descriptor;
5486  }
5487  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5488  return default_instance().GetMetadata().reflection;
5489  }
5491  return *internal_default_instance();
5492  }
5494  return reinterpret_cast<const SparsePermutationProto*>(
5496  }
5497  static constexpr int kIndexInFileMessages =
5498  24;
5499 
5501  a.Swap(&b);
5502  }
5503  inline void Swap(SparsePermutationProto* other) {
5504  if (other == this) return;
5505  if (GetOwningArena() == other->GetOwningArena()) {
5506  InternalSwap(other);
5507  } else {
5508  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5509  }
5510  }
5512  if (other == this) return;
5513  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5514  InternalSwap(other);
5515  }
5516 
5517  // implements Message ----------------------------------------------
5518 
5519  inline SparsePermutationProto* New() const final {
5520  return new SparsePermutationProto();
5521  }
5522 
5523  SparsePermutationProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5524  return CreateMaybeMessage<SparsePermutationProto>(arena);
5525  }
5526  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5527  void CopyFrom(const SparsePermutationProto& from);
5528  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5529  void MergeFrom(const SparsePermutationProto& from);
5530  private:
5531  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
5532  public:
5533  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5534  bool IsInitialized() const final;
5535 
5536  size_t ByteSizeLong() const final;
5537  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5538  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5539  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5540  int GetCachedSize() const final { return _cached_size_.Get(); }
5541 
5542  private:
5543  void SharedCtor();
5544  void SharedDtor();
5545  void SetCachedSize(int size) const final;
5546  void InternalSwap(SparsePermutationProto* other);
5547  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5548  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5549  return "operations_research.sat.SparsePermutationProto";
5550  }
5551  protected:
5552  explicit SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5553  bool is_message_owned = false);
5554  private:
5555  static void ArenaDtor(void* object);
5556  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5557  public:
5558 
5559  static const ClassData _class_data_;
5560  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5561 
5562  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5563 
5564  // nested types ----------------------------------------------------
5565 
5566  // accessors -------------------------------------------------------
5567 
5568  enum : int {
5571  };
5572  // repeated int32 support = 1;
5573  int support_size() const;
5574  private:
5575  int _internal_support_size() const;
5576  public:
5577  void clear_support();
5578  private:
5579  ::PROTOBUF_NAMESPACE_ID::int32 _internal_support(int index) const;
5580  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5581  _internal_support() const;
5582  void _internal_add_support(::PROTOBUF_NAMESPACE_ID::int32 value);
5583  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5584  _internal_mutable_support();
5585  public:
5586  ::PROTOBUF_NAMESPACE_ID::int32 support(int index) const;
5587  void set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5588  void add_support(::PROTOBUF_NAMESPACE_ID::int32 value);
5589  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5590  support() const;
5591  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5592  mutable_support();
5593 
5594  // repeated int32 cycle_sizes = 2;
5595  int cycle_sizes_size() const;
5596  private:
5597  int _internal_cycle_sizes_size() const;
5598  public:
5599  void clear_cycle_sizes();
5600  private:
5601  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cycle_sizes(int index) const;
5602  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5603  _internal_cycle_sizes() const;
5604  void _internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value);
5605  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5606  _internal_mutable_cycle_sizes();
5607  public:
5608  ::PROTOBUF_NAMESPACE_ID::int32 cycle_sizes(int index) const;
5609  void set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5610  void add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value);
5611  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5612  cycle_sizes() const;
5613  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5615 
5616  // @@protoc_insertion_point(class_scope:operations_research.sat.SparsePermutationProto)
5617  private:
5618  class _Internal;
5619 
5620  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5621  typedef void InternalArenaConstructable_;
5622  typedef void DestructorSkippable_;
5623  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > support_;
5624  mutable std::atomic<int> _support_cached_byte_size_;
5625  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > cycle_sizes_;
5626  mutable std::atomic<int> _cycle_sizes_cached_byte_size_;
5627  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5628  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5629 };
5630 // -------------------------------------------------------------------
5631 
5632 class DenseMatrixProto final :
5633  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DenseMatrixProto) */ {
5634  public:
5635  inline DenseMatrixProto() : DenseMatrixProto(nullptr) {}
5636  ~DenseMatrixProto() override;
5637  explicit constexpr DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5638 
5639  DenseMatrixProto(const DenseMatrixProto& from);
5641  : DenseMatrixProto() {
5642  *this = ::std::move(from);
5643  }
5644 
5646  CopyFrom(from);
5647  return *this;
5648  }
5649  inline DenseMatrixProto& operator=(DenseMatrixProto&& from) noexcept {
5650  if (this == &from) return *this;
5651  if (GetOwningArena() == from.GetOwningArena()) {
5652  InternalSwap(&from);
5653  } else {
5654  CopyFrom(from);
5655  }
5656  return *this;
5657  }
5658 
5659  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5660  return GetDescriptor();
5661  }
5662  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5663  return default_instance().GetMetadata().descriptor;
5664  }
5665  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5666  return default_instance().GetMetadata().reflection;
5667  }
5669  return *internal_default_instance();
5670  }
5672  return reinterpret_cast<const DenseMatrixProto*>(
5674  }
5675  static constexpr int kIndexInFileMessages =
5676  25;
5677 
5679  a.Swap(&b);
5680  }
5681  inline void Swap(DenseMatrixProto* other) {
5682  if (other == this) return;
5683  if (GetOwningArena() == other->GetOwningArena()) {
5684  InternalSwap(other);
5685  } else {
5686  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5687  }
5688  }
5690  if (other == this) return;
5691  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5692  InternalSwap(other);
5693  }
5694 
5695  // implements Message ----------------------------------------------
5696 
5697  inline DenseMatrixProto* New() const final {
5698  return new DenseMatrixProto();
5699  }
5700 
5701  DenseMatrixProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5702  return CreateMaybeMessage<DenseMatrixProto>(arena);
5703  }
5704  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5705  void CopyFrom(const DenseMatrixProto& from);
5706  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5707  void MergeFrom(const DenseMatrixProto& from);
5708  private:
5709  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
5710  public:
5711  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5712  bool IsInitialized() const final;
5713 
5714  size_t ByteSizeLong() const final;
5715  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5716  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5717  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5718  int GetCachedSize() const final { return _cached_size_.Get(); }
5719 
5720  private:
5721  void SharedCtor();
5722  void SharedDtor();
5723  void SetCachedSize(int size) const final;
5724  void InternalSwap(DenseMatrixProto* other);
5725  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5726  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5727  return "operations_research.sat.DenseMatrixProto";
5728  }
5729  protected:
5730  explicit DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5731  bool is_message_owned = false);
5732  private:
5733  static void ArenaDtor(void* object);
5734  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5735  public:
5736 
5737  static const ClassData _class_data_;
5738  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5739 
5740  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5741 
5742  // nested types ----------------------------------------------------
5743 
5744  // accessors -------------------------------------------------------
5745 
5746  enum : int {
5750  };
5751  // repeated int32 entries = 3;
5752  int entries_size() const;
5753  private:
5754  int _internal_entries_size() const;
5755  public:
5756  void clear_entries();
5757  private:
5758  ::PROTOBUF_NAMESPACE_ID::int32 _internal_entries(int index) const;
5759  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5760  _internal_entries() const;
5761  void _internal_add_entries(::PROTOBUF_NAMESPACE_ID::int32 value);
5762  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5763  _internal_mutable_entries();
5764  public:
5765  ::PROTOBUF_NAMESPACE_ID::int32 entries(int index) const;
5766  void set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5767  void add_entries(::PROTOBUF_NAMESPACE_ID::int32 value);
5768  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5769  entries() const;
5770  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5771  mutable_entries();
5772 
5773  // int32 num_rows = 1;
5774  void clear_num_rows();
5775  ::PROTOBUF_NAMESPACE_ID::int32 num_rows() const;
5776  void set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value);
5777  private:
5778  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_rows() const;
5779  void _internal_set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value);
5780  public:
5781 
5782  // int32 num_cols = 2;
5783  void clear_num_cols();
5784  ::PROTOBUF_NAMESPACE_ID::int32 num_cols() const;
5785  void set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value);
5786  private:
5787  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_cols() const;
5788  void _internal_set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value);
5789  public:
5790 
5791  // @@protoc_insertion_point(class_scope:operations_research.sat.DenseMatrixProto)
5792  private:
5793  class _Internal;
5794 
5795  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5796  typedef void InternalArenaConstructable_;
5797  typedef void DestructorSkippable_;
5798  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > entries_;
5799  mutable std::atomic<int> _entries_cached_byte_size_;
5800  ::PROTOBUF_NAMESPACE_ID::int32 num_rows_;
5801  ::PROTOBUF_NAMESPACE_ID::int32 num_cols_;
5802  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5803  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5804 };
5805 // -------------------------------------------------------------------
5806 
5807 class SymmetryProto final :
5808  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SymmetryProto) */ {
5809  public:
5810  inline SymmetryProto() : SymmetryProto(nullptr) {}
5811  ~SymmetryProto() override;
5812  explicit constexpr SymmetryProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5813 
5814  SymmetryProto(const SymmetryProto& from);
5815  SymmetryProto(SymmetryProto&& from) noexcept
5816  : SymmetryProto() {
5817  *this = ::std::move(from);
5818  }
5819 
5820  inline SymmetryProto& operator=(const SymmetryProto& from) {
5821  CopyFrom(from);
5822  return *this;
5823  }
5824  inline SymmetryProto& operator=(SymmetryProto&& from) noexcept {
5825  if (this == &from) return *this;
5826  if (GetOwningArena() == from.GetOwningArena()) {
5827  InternalSwap(&from);
5828  } else {
5829  CopyFrom(from);
5830  }
5831  return *this;
5832  }
5833 
5834  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5835  return GetDescriptor();
5836  }
5837  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5838  return default_instance().GetMetadata().descriptor;
5839  }
5840  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5841  return default_instance().GetMetadata().reflection;
5842  }
5844  return *internal_default_instance();
5845  }
5846  static inline const SymmetryProto* internal_default_instance() {
5847  return reinterpret_cast<const SymmetryProto*>(
5849  }
5850  static constexpr int kIndexInFileMessages =
5851  26;
5852 
5853  friend void swap(SymmetryProto& a, SymmetryProto& b) {
5854  a.Swap(&b);
5855  }
5856  inline void Swap(SymmetryProto* other) {
5857  if (other == this) return;
5858  if (GetOwningArena() == other->GetOwningArena()) {
5859  InternalSwap(other);
5860  } else {
5861  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5862  }
5863  }
5865  if (other == this) return;
5866  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
5867  InternalSwap(other);
5868  }
5869 
5870  // implements Message ----------------------------------------------
5871 
5872  inline SymmetryProto* New() const final {
5873  return new SymmetryProto();
5874  }
5875 
5876  SymmetryProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5877  return CreateMaybeMessage<SymmetryProto>(arena);
5878  }
5879  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
5880  void CopyFrom(const SymmetryProto& from);
5881  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
5882  void MergeFrom(const SymmetryProto& from);
5883  private:
5884  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
5885  public:
5886  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5887  bool IsInitialized() const final;
5888 
5889  size_t ByteSizeLong() const final;
5890  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5891  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5892  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5893  int GetCachedSize() const final { return _cached_size_.Get(); }
5894 
5895  private:
5896  void SharedCtor();
5897  void SharedDtor();
5898  void SetCachedSize(int size) const final;
5899  void InternalSwap(SymmetryProto* other);
5900  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5901  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5902  return "operations_research.sat.SymmetryProto";
5903  }
5904  protected:
5905  explicit SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5906  bool is_message_owned = false);
5907  private:
5908  static void ArenaDtor(void* object);
5909  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5910  public:
5911 
5912  static const ClassData _class_data_;
5913  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
5914 
5915  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5916 
5917  // nested types ----------------------------------------------------
5918 
5919  // accessors -------------------------------------------------------
5920 
5921  enum : int {
5924  };
5925  // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
5926  int permutations_size() const;
5927  private:
5928  int _internal_permutations_size() const;
5929  public:
5930  void clear_permutations();
5932  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
5934  private:
5935  const ::operations_research::sat::SparsePermutationProto& _internal_permutations(int index) const;
5936  ::operations_research::sat::SparsePermutationProto* _internal_add_permutations();
5937  public:
5938  const ::operations_research::sat::SparsePermutationProto& permutations(int index) const;
5940  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
5941  permutations() const;
5942 
5943  // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
5944  int orbitopes_size() const;
5945  private:
5946  int _internal_orbitopes_size() const;
5947  public:
5948  void clear_orbitopes();
5950  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
5952  private:
5953  const ::operations_research::sat::DenseMatrixProto& _internal_orbitopes(int index) const;
5954  ::operations_research::sat::DenseMatrixProto* _internal_add_orbitopes();
5955  public:
5956  const ::operations_research::sat::DenseMatrixProto& orbitopes(int index) const;
5958  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
5959  orbitopes() const;
5960 
5961  // @@protoc_insertion_point(class_scope:operations_research.sat.SymmetryProto)
5962  private:
5963  class _Internal;
5964 
5965  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5966  typedef void InternalArenaConstructable_;
5967  typedef void DestructorSkippable_;
5968  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > permutations_;
5969  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > orbitopes_;
5970  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5971  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5972 };
5973 // -------------------------------------------------------------------
5974 
5975 class CpModelProto final :
5976  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
5977  public:
5978  inline CpModelProto() : CpModelProto(nullptr) {}
5979  ~CpModelProto() override;
5980  explicit constexpr CpModelProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5981 
5982  CpModelProto(const CpModelProto& from);
5983  CpModelProto(CpModelProto&& from) noexcept
5984  : CpModelProto() {
5985  *this = ::std::move(from);
5986  }
5987 
5988  inline CpModelProto& operator=(const CpModelProto& from) {
5989  CopyFrom(from);
5990  return *this;
5991  }
5992  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
5993  if (this == &from) return *this;
5994  if (GetOwningArena() == from.GetOwningArena()) {
5995  InternalSwap(&from);
5996  } else {
5997  CopyFrom(from);
5998  }
5999  return *this;
6000  }
6001 
6002  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
6003  return GetDescriptor();
6004  }
6005  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
6006  return default_instance().GetMetadata().descriptor;
6007  }
6008  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
6009  return default_instance().GetMetadata().reflection;
6010  }
6011  static const CpModelProto& default_instance() {
6012  return *internal_default_instance();
6013  }
6014  static inline const CpModelProto* internal_default_instance() {
6015  return reinterpret_cast<const CpModelProto*>(
6017  }
6018  static constexpr int kIndexInFileMessages =
6019  27;
6020 
6021  friend void swap(CpModelProto& a, CpModelProto& b) {
6022  a.Swap(&b);
6023  }
6024  inline void Swap(CpModelProto* other) {
6025  if (other == this) return;
6026  if (GetOwningArena() == other->GetOwningArena()) {
6027  InternalSwap(other);
6028  } else {
6029  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6030  }
6031  }
6033  if (other == this) return;
6034  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
6035  InternalSwap(other);
6036  }
6037 
6038  // implements Message ----------------------------------------------
6039 
6040  inline CpModelProto* New() const final {
6041  return new CpModelProto();
6042  }
6043 
6044  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
6045  return CreateMaybeMessage<CpModelProto>(arena);
6046  }
6047  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
6048  void CopyFrom(const CpModelProto& from);
6049  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
6050  void MergeFrom(const CpModelProto& from);
6051  private:
6052  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
6053  public:
6054  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6055  bool IsInitialized() const final;
6056 
6057  size_t ByteSizeLong() const final;
6058  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6059  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
6060  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6061  int GetCachedSize() const final { return _cached_size_.Get(); }
6062 
6063  private:
6064  void SharedCtor();
6065  void SharedDtor();
6066  void SetCachedSize(int size) const final;
6067  void InternalSwap(CpModelProto* other);
6068  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6069  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6070  return "operations_research.sat.CpModelProto";
6071  }
6072  protected:
6073  explicit CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6074  bool is_message_owned = false);
6075  private:
6076  static void ArenaDtor(void* object);
6077  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6078  public:
6079 
6080  static const ClassData _class_data_;
6081  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
6082 
6083  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6084 
6085  // nested types ----------------------------------------------------
6086 
6087  // accessors -------------------------------------------------------
6088 
6089  enum : int {
6098  };
6099  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
6100  int variables_size() const;
6101  private:
6102  int _internal_variables_size() const;
6103  public:
6104  void clear_variables();
6106  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
6108  private:
6109  const ::operations_research::sat::IntegerVariableProto& _internal_variables(int index) const;
6110  ::operations_research::sat::IntegerVariableProto* _internal_add_variables();
6111  public:
6112  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
6114  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
6115  variables() const;
6116 
6117  // repeated .operations_research.sat.ConstraintProto constraints = 3;
6118  int constraints_size() const;
6119  private:
6120  int _internal_constraints_size() const;
6121  public:
6122  void clear_constraints();
6124  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
6126  private:
6127  const ::operations_research::sat::ConstraintProto& _internal_constraints(int index) const;
6128  ::operations_research::sat::ConstraintProto* _internal_add_constraints();
6129  public:
6130  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
6132  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
6133  constraints() const;
6134 
6135  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
6136  int search_strategy_size() const;
6137  private:
6138  int _internal_search_strategy_size() const;
6139  public:
6140  void clear_search_strategy();
6142  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
6144  private:
6145  const ::operations_research::sat::DecisionStrategyProto& _internal_search_strategy(int index) const;
6146  ::operations_research::sat::DecisionStrategyProto* _internal_add_search_strategy();
6147  public:
6148  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
6150  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
6151  search_strategy() const;
6152 
6153  // repeated int32 assumptions = 7;
6154  int assumptions_size() const;
6155  private:
6156  int _internal_assumptions_size() const;
6157  public:
6158  void clear_assumptions();
6159  private:
6160  ::PROTOBUF_NAMESPACE_ID::int32 _internal_assumptions(int index) const;
6161  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6162  _internal_assumptions() const;
6163  void _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
6164  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6165  _internal_mutable_assumptions();
6166  public:
6167  ::PROTOBUF_NAMESPACE_ID::int32 assumptions(int index) const;
6168  void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
6169  void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
6170  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6171  assumptions() const;
6172  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6174 
6175  // string name = 1;
6176  void clear_name();
6177  const std::string& name() const;
6178  template <typename ArgT0 = const std::string&, typename... ArgT>
6179  void set_name(ArgT0&& arg0, ArgT... args);
6180  std::string* mutable_name();
6181  PROTOBUF_MUST_USE_RESULT std::string* release_name();
6182  void set_allocated_name(std::string* name);
6183  private:
6184  const std::string& _internal_name() const;
6185  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
6186  std::string* _internal_mutable_name();
6187  public:
6188 
6189  // .operations_research.sat.CpObjectiveProto objective = 4;
6190  bool has_objective() const;
6191  private:
6192  bool _internal_has_objective() const;
6193  public:
6194  void clear_objective();
6195  const ::operations_research::sat::CpObjectiveProto& objective() const;
6196  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::CpObjectiveProto* release_objective();
6199  private:
6200  const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
6201  ::operations_research::sat::CpObjectiveProto* _internal_mutable_objective();
6202  public:
6206 
6207  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
6208  bool has_solution_hint() const;
6209  private:
6210  bool _internal_has_solution_hint() const;
6211  public:
6212  void clear_solution_hint();
6213  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
6214  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::PartialVariableAssignment* release_solution_hint();
6217  private:
6218  const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
6219  ::operations_research::sat::PartialVariableAssignment* _internal_mutable_solution_hint();
6220  public:
6224 
6225  // .operations_research.sat.SymmetryProto symmetry = 8;
6226  bool has_symmetry() const;
6227  private:
6228  bool _internal_has_symmetry() const;
6229  public:
6230  void clear_symmetry();
6231  const ::operations_research::sat::SymmetryProto& symmetry() const;
6232  PROTOBUF_MUST_USE_RESULT ::operations_research::sat::SymmetryProto* release_symmetry();
6235  private:
6236  const ::operations_research::sat::SymmetryProto& _internal_symmetry() const;
6237  ::operations_research::sat::SymmetryProto* _internal_mutable_symmetry();
6238  public:
6242 
6243  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
6244  private:
6245  class _Internal;
6246 
6247  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6248  typedef void InternalArenaConstructable_;
6249  typedef void DestructorSkippable_;
6250  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
6251  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
6252  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
6253  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > assumptions_;
6254  mutable std::atomic<int> _assumptions_cached_byte_size_;
6255  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
6259  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6260  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6261 };
6262 // -------------------------------------------------------------------
6263 
6264 class CpSolverResponse final :
6265  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
6266  public:
6267  inline CpSolverResponse() : CpSolverResponse(nullptr) {}
6268  ~CpSolverResponse() override;
6269  explicit constexpr CpSolverResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
6270 
6271  CpSolverResponse(const CpSolverResponse& from);
6273  : CpSolverResponse() {
6274  *this = ::std::move(from);
6275  }
6276 
6278  CopyFrom(from);
6279  return *this;
6280  }
6281  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
6282  if (this == &from) return *this;
6283  if (GetOwningArena() == from.GetOwningArena()) {
6284  InternalSwap(&from);
6285  } else {
6286  CopyFrom(from);
6287  }
6288  return *this;
6289  }
6290 
6291  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
6292  return GetDescriptor();
6293  }
6294  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
6295  return default_instance().GetMetadata().descriptor;
6296  }
6297  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
6298  return default_instance().GetMetadata().reflection;
6299  }
6301  return *internal_default_instance();
6302  }
6304  return reinterpret_cast<const CpSolverResponse*>(
6306  }
6307  static constexpr int kIndexInFileMessages =
6308  28;
6309 
6311  a.Swap(&b);
6312  }
6313  inline void Swap(CpSolverResponse* other) {
6314  if (other == this) return;
6315  if (GetOwningArena() == other->GetOwningArena()) {
6316  InternalSwap(other);
6317  } else {
6318  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6319  }
6320  }
6322  if (other == this) return;
6323  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
6324  InternalSwap(other);
6325  }
6326 
6327  // implements Message ----------------------------------------------
6328 
6329  inline CpSolverResponse* New() const final {
6330  return new CpSolverResponse();
6331  }
6332 
6333  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
6334  return CreateMaybeMessage<CpSolverResponse>(arena);
6335  }
6336  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
6337  void CopyFrom(const CpSolverResponse& from);
6338  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
6339  void MergeFrom(const CpSolverResponse& from);
6340  private:
6341  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from);
6342  public:
6343  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6344  bool IsInitialized() const final;
6345 
6346  size_t ByteSizeLong() const final;
6347  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6348  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
6349  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6350  int GetCachedSize() const final { return _cached_size_.Get(); }
6351 
6352  private:
6353  void SharedCtor();
6354  void SharedDtor();
6355  void SetCachedSize(int size) const final;
6356  void InternalSwap(CpSolverResponse* other);
6357  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6358  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6359  return "operations_research.sat.CpSolverResponse";
6360  }
6361  protected:
6362  explicit CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6363  bool is_message_owned = false);
6364  private:
6365  static void ArenaDtor(void* object);
6366  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6367  public:
6368 
6369  static const ClassData _class_data_;
6370  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
6371 
6372  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6373 
6374  // nested types ----------------------------------------------------
6375 
6376  // accessors -------------------------------------------------------
6377 
6378  enum : int {
6401  };
6402  // repeated int64 solution = 2;
6403  int solution_size() const;
6404  private:
6405  int _internal_solution_size() const;
6406  public:
6407  void clear_solution();
6408  private:
6409  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution(int index) const;
6410  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6411  _internal_solution() const;
6412  void _internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
6413  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6414  _internal_mutable_solution();
6415  public:
6416  ::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const;
6417  void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
6418  void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
6419  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6420  solution() const;
6421  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6422  mutable_solution();
6423 
6424  // repeated int64 solution_lower_bounds = 18;
6425  int solution_lower_bounds_size() const;
6426  private:
6427  int _internal_solution_lower_bounds_size() const;
6428  public:
6430  private:
6431  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_lower_bounds(int index) const;
6432  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6433  _internal_solution_lower_bounds() const;
6434  void _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6435  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6436  _internal_mutable_solution_lower_bounds();
6437  public:
6438  ::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const;
6439  void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
6440  void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6441  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6442  solution_lower_bounds() const;
6443  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6445 
6446  // repeated int64 solution_upper_bounds = 19;
6447  int solution_upper_bounds_size() const;
6448  private:
6449  int _internal_solution_upper_bounds_size() const;
6450  public:
6452  private:
6453  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_upper_bounds(int index) const;
6454  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6455  _internal_solution_upper_bounds() const;
6456  void _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6457  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6458  _internal_mutable_solution_upper_bounds();
6459  public:
6460  ::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const;
6461  void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
6462  void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6463  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6464  solution_upper_bounds() const;
6465  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6467 
6468  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
6469  int tightened_variables_size() const;
6470  private:
6471  int _internal_tightened_variables_size() const;
6472  public:
6475  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
6477  private:
6478  const ::operations_research::sat::IntegerVariableProto& _internal_tightened_variables(int index) const;
6479  ::operations_research::sat::IntegerVariableProto* _internal_add_tightened_variables();
6480  public:
6481  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
6483  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
6484  tightened_variables() const;
6485 
6486  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
6488  private:
6489  int _internal_sufficient_assumptions_for_infeasibility_size() const;
6490  public:
6492  private:
6493  ::PROTOBUF_NAMESPACE_ID::int32 _internal_sufficient_assumptions_for_infeasibility(int index) const;
6494  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6495  _internal_sufficient_assumptions_for_infeasibility() const;
6496  void _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
6497  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6498  _internal_mutable_sufficient_assumptions_for_infeasibility();
6499  public:
6500  ::PROTOBUF_NAMESPACE_ID::int32 sufficient_assumptions_for_infeasibility(int index) const;
6501  void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
6502  void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
6503  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6505  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6507 
6508  // string solution_info = 20;
6509  void clear_solution_info();
6510  const std::string& solution_info() const;
6511  template <typename ArgT0 = const std::string&, typename... ArgT>
6512  void set_solution_info(ArgT0&& arg0, ArgT... args);
6513  std::string* mutable_solution_info();
6514  PROTOBUF_MUST_USE_RESULT std::string* release_solution_info();
6515  void set_allocated_solution_info(std::string* solution_info);
6516  private:
6517  const std::string& _internal_solution_info() const;
6518  inline PROTOBUF_ALWAYS_INLINE void _internal_set_solution_info(const std::string& value);
6519  std::string* _internal_mutable_solution_info();
6520  public:
6521 
6522  // string solve_log = 26;
6523  void clear_solve_log();
6524  const std::string& solve_log() const;
6525  template <typename ArgT0 = const std::string&, typename... ArgT>
6526  void set_solve_log(ArgT0&& arg0, ArgT... args);
6527  std::string* mutable_solve_log();
6528  PROTOBUF_MUST_USE_RESULT std::string* release_solve_log();
6529  void set_allocated_solve_log(std::string* solve_log);
6530  private:
6531  const std::string& _internal_solve_log() const;
6532  inline PROTOBUF_ALWAYS_INLINE void _internal_set_solve_log(const std::string& value);
6533  std::string* _internal_mutable_solve_log();
6534  public:
6535 
6536  // double objective_value = 3;
6537  void clear_objective_value();
6538  double objective_value() const;
6539  void set_objective_value(double value);
6540  private:
6541  double _internal_objective_value() const;
6542  void _internal_set_objective_value(double value);
6543  public:
6544 
6545  // .operations_research.sat.CpSolverStatus status = 1;
6546  void clear_status();
6549  private:
6550  ::operations_research::sat::CpSolverStatus _internal_status() const;
6551  void _internal_set_status(::operations_research::sat::CpSolverStatus value);
6552  public:
6553 
6554  // bool all_solutions_were_found = 5;
6556  bool all_solutions_were_found() const;
6558  private:
6559  bool _internal_all_solutions_were_found() const;
6560  void _internal_set_all_solutions_were_found(bool value);
6561  public:
6562 
6563  // double best_objective_bound = 4;
6565  double best_objective_bound() const;
6566  void set_best_objective_bound(double value);
6567  private:
6568  double _internal_best_objective_bound() const;
6569  void _internal_set_best_objective_bound(double value);
6570  public:
6571 
6572  // int64 num_booleans = 10;
6573  void clear_num_booleans();
6574  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const;
6575  void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
6576  private:
6577  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_booleans() const;
6578  void _internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
6579  public:
6580 
6581  // int64 num_conflicts = 11;
6582  void clear_num_conflicts();
6583  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const;
6584  void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
6585  private:
6586  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_conflicts() const;
6587  void _internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
6588  public:
6589 
6590  // int64 num_branches = 12;
6591  void clear_num_branches();
6592  ::PROTOBUF_NAMESPACE_ID::int64 num_branches() const;
6593  void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
6594  private:
6595  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_branches() const;
6596  void _internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
6597  public:
6598 
6599  // int64 num_binary_propagations = 13;
6601  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const;
6602  void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6603  private:
6604  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_binary_propagations() const;
6605  void _internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6606  public:
6607 
6608  // int64 num_integer_propagations = 14;
6610  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const;
6611  void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6612  private:
6613  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_integer_propagations() const;
6614  void _internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6615  public:
6616 
6617  // double wall_time = 15;
6618  void clear_wall_time();
6619  double wall_time() const;
6620  void set_wall_time(double value);
6621  private:
6622  double _internal_wall_time() const;
6623  void _internal_set_wall_time(double value);
6624  public:
6625 
6626  // double user_time = 16;
6627  void clear_user_time();
6628  double user_time() const;
6629  void set_user_time(double value);
6630  private:
6631  double _internal_user_time() const;
6632  void _internal_set_user_time(double value);
6633  public:
6634 
6635  // double deterministic_time = 17;
6636  void clear_deterministic_time();
6637  double deterministic_time() const;
6638  void set_deterministic_time(double value);
6639  private:
6640  double _internal_deterministic_time() const;
6641  void _internal_set_deterministic_time(double value);
6642  public:
6643 
6644  // double primal_integral = 22;
6645  void clear_primal_integral();
6646  double primal_integral() const;
6647  void set_primal_integral(double value);
6648  private:
6649  double _internal_primal_integral() const;
6650  void _internal_set_primal_integral(double value);
6651  public:
6652 
6653  // int64 num_restarts = 24;
6654  void clear_num_restarts();
6655  ::PROTOBUF_NAMESPACE_ID::int64 num_restarts() const;
6656  void set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value);
6657  private:
6658  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_restarts() const;
6659  void _internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value);
6660  public:
6661 
6662  // int64 num_lp_iterations = 25;
6663  void clear_num_lp_iterations();
6664  ::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations() const;
6665  void set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
6666  private:
6667  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_lp_iterations() const;
6668  void _internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
6669  public:
6670 
6671  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
6672  private:
6673  class _Internal;
6674 
6675  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6676  typedef void InternalArenaConstructable_;
6677  typedef void DestructorSkippable_;
6678  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_;
6679  mutable std::atomic<int> _solution_cached_byte_size_;
6680  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_lower_bounds_;
6681  mutable std::atomic<int> _solution_lower_bounds_cached_byte_size_;
6682  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_upper_bounds_;
6683  mutable std::atomic<int> _solution_upper_bounds_cached_byte_size_;
6684  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
6685  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > sufficient_assumptions_for_infeasibility_;
6686  mutable std::atomic<int> _sufficient_assumptions_for_infeasibility_cached_byte_size_;
6687  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
6688  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solve_log_;
6689  double objective_value_;
6690  int status_;
6691  bool all_solutions_were_found_;
6692  double best_objective_bound_;
6693  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans_;
6694  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts_;
6695  ::PROTOBUF_NAMESPACE_ID::int64 num_branches_;
6696  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations_;
6697  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations_;
6698  double wall_time_;
6699  double user_time_;
6700  double deterministic_time_;
6701  double primal_integral_;
6702  ::PROTOBUF_NAMESPACE_ID::int64 num_restarts_;
6703  ::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations_;
6704  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6705  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6706 };
6707 // ===================================================================
6708 
6709 
6710 // ===================================================================
6711 
6712 #ifdef __GNUC__
6713  #pragma GCC diagnostic push
6714  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
6715 #endif // __GNUC__
6716 // IntegerVariableProto
6717 
6718 // string name = 1;
6720  name_.ClearToEmpty();
6721 }
6722 inline const std::string& IntegerVariableProto::name() const {
6723  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
6724  return _internal_name();
6725 }
6726 template <typename ArgT0, typename... ArgT>
6727 inline PROTOBUF_ALWAYS_INLINE
6728 void IntegerVariableProto::set_name(ArgT0&& arg0, ArgT... args) {
6729 
6730  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
6731  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
6732 }
6733 inline std::string* IntegerVariableProto::mutable_name() {
6734  std::string* _s = _internal_mutable_name();
6735  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
6736  return _s;
6737 }
6738 inline const std::string& IntegerVariableProto::_internal_name() const {
6739  return name_.Get();
6740 }
6741 inline void IntegerVariableProto::_internal_set_name(const std::string& value) {
6742 
6743  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
6744 }
6745 inline std::string* IntegerVariableProto::_internal_mutable_name() {
6746 
6747  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
6748 }
6749 inline std::string* IntegerVariableProto::release_name() {
6750  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
6751  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
6752 }
6754  if (name != nullptr) {
6755 
6756  } else {
6757 
6758  }
6759  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
6760  GetArenaForAllocation());
6761  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
6762 }
6763 
6764 // repeated int64 domain = 2;
6765 inline int IntegerVariableProto::_internal_domain_size() const {
6766  return domain_.size();
6767 }
6769  return _internal_domain_size();
6770 }
6772  domain_.Clear();
6773 }
6774 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::_internal_domain(int index) const {
6775  return domain_.Get(index);
6776 }
6777 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::domain(int index) const {
6778  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
6779  return _internal_domain(index);
6780 }
6781 inline void IntegerVariableProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6782  domain_.Set(index, value);
6783  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
6784 }
6785 inline void IntegerVariableProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6786  domain_.Add(value);
6787 }
6788 inline void IntegerVariableProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6789  _internal_add_domain(value);
6790  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
6791 }
6792 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6793 IntegerVariableProto::_internal_domain() const {
6794  return domain_;
6795 }
6796 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6798  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
6799  return _internal_domain();
6800 }
6801 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6802 IntegerVariableProto::_internal_mutable_domain() {
6803  return &domain_;
6804 }
6805 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6807  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
6808  return _internal_mutable_domain();
6809 }
6810 
6811 // -------------------------------------------------------------------
6812 
6813 // BoolArgumentProto
6814 
6815 // repeated int32 literals = 1;
6816 inline int BoolArgumentProto::_internal_literals_size() const {
6817  return literals_.size();
6818 }
6820  return _internal_literals_size();
6821 }
6823  literals_.Clear();
6824 }
6825 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::_internal_literals(int index) const {
6826  return literals_.Get(index);
6827 }
6828 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::literals(int index) const {
6829  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
6830  return _internal_literals(index);
6831 }
6832 inline void BoolArgumentProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6833  literals_.Set(index, value);
6834  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
6835 }
6836 inline void BoolArgumentProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6837  literals_.Add(value);
6838 }
6839 inline void BoolArgumentProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6840  _internal_add_literals(value);
6841  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
6842 }
6843 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6844 BoolArgumentProto::_internal_literals() const {
6845  return literals_;
6846 }
6847 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6849  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
6850  return _internal_literals();
6851 }
6852 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6853 BoolArgumentProto::_internal_mutable_literals() {
6854  return &literals_;
6855 }
6856 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6858  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
6859  return _internal_mutable_literals();
6860 }
6861 
6862 // -------------------------------------------------------------------
6863 
6864 // IntegerArgumentProto
6865 
6866 // int32 target = 1;
6868  target_ = 0;
6869 }
6870 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_target() const {
6871  return target_;
6872 }
6873 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::target() const {
6874  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.target)
6875  return _internal_target();
6876 }
6877 inline void IntegerArgumentProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6878 
6879  target_ = value;
6880 }
6881 inline void IntegerArgumentProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6882  _internal_set_target(value);
6883  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.target)
6884 }
6885 
6886 // repeated int32 vars = 2;
6887 inline int IntegerArgumentProto::_internal_vars_size() const {
6888  return vars_.size();
6889 }
6891  return _internal_vars_size();
6892 }
6894  vars_.Clear();
6895 }
6896 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_vars(int index) const {
6897  return vars_.Get(index);
6898 }
6899 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::vars(int index) const {
6900  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.vars)
6901  return _internal_vars(index);
6902 }
6903 inline void IntegerArgumentProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6904  vars_.Set(index, value);
6905  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.vars)
6906 }
6907 inline void IntegerArgumentProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6908  vars_.Add(value);
6909 }
6910 inline void IntegerArgumentProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6911  _internal_add_vars(value);
6912  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerArgumentProto.vars)
6913 }
6914 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6915 IntegerArgumentProto::_internal_vars() const {
6916  return vars_;
6917 }
6918 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6920  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerArgumentProto.vars)
6921  return _internal_vars();
6922 }
6923 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6924 IntegerArgumentProto::_internal_mutable_vars() {
6925  return &vars_;
6926 }
6927 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6929  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerArgumentProto.vars)
6930  return _internal_mutable_vars();
6931 }
6932 
6933 // -------------------------------------------------------------------
6934 
6935 // LinearExpressionProto
6936 
6937 // repeated int32 vars = 1;
6938 inline int LinearExpressionProto::_internal_vars_size() const {
6939  return vars_.size();
6940 }
6942  return _internal_vars_size();
6943 }
6945  vars_.Clear();
6946 }
6947 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::_internal_vars(int index) const {
6948  return vars_.Get(index);
6949 }
6950 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::vars(int index) const {
6951  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
6952  return _internal_vars(index);
6953 }
6954 inline void LinearExpressionProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6955  vars_.Set(index, value);
6956  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
6957 }
6958 inline void LinearExpressionProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6959  vars_.Add(value);
6960 }
6961 inline void LinearExpressionProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6962  _internal_add_vars(value);
6963  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
6964 }
6965 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6966 LinearExpressionProto::_internal_vars() const {
6967  return vars_;
6968 }
6969 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6971  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
6972  return _internal_vars();
6973 }
6974 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6975 LinearExpressionProto::_internal_mutable_vars() {
6976  return &vars_;
6977 }
6978 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6980  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
6981  return _internal_mutable_vars();
6982 }
6983 
6984 // repeated int64 coeffs = 2;
6985 inline int LinearExpressionProto::_internal_coeffs_size() const {
6986  return coeffs_.size();
6987 }
6989  return _internal_coeffs_size();
6990 }
6992  coeffs_.Clear();
6993 }
6994 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_coeffs(int index) const {
6995  return coeffs_.Get(index);
6996 }
6997 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::coeffs(int index) const {
6998  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
6999  return _internal_coeffs(index);
7000 }
7001 inline void LinearExpressionProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7002  coeffs_.Set(index, value);
7003  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
7004 }
7005 inline void LinearExpressionProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7006  coeffs_.Add(value);
7007 }
7008 inline void LinearExpressionProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7009  _internal_add_coeffs(value);
7010  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
7011 }
7012 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7013 LinearExpressionProto::_internal_coeffs() const {
7014  return coeffs_;
7015 }
7016 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7018  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
7019  return _internal_coeffs();
7020 }
7021 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7022 LinearExpressionProto::_internal_mutable_coeffs() {
7023  return &coeffs_;
7024 }
7025 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7027  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
7028  return _internal_mutable_coeffs();
7029 }
7030 
7031 // int64 offset = 3;
7033  offset_ = int64_t{0};
7034 }
7035 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_offset() const {
7036  return offset_;
7037 }
7038 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::offset() const {
7039  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
7040  return _internal_offset();
7041 }
7042 inline void LinearExpressionProto::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
7043 
7044  offset_ = value;
7045 }
7046 inline void LinearExpressionProto::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
7047  _internal_set_offset(value);
7048  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
7049 }
7050 
7051 // -------------------------------------------------------------------
7052 
7053 // LinearArgumentProto
7054 
7055 // .operations_research.sat.LinearExpressionProto target = 1;
7056 inline bool LinearArgumentProto::_internal_has_target() const {
7057  return this != internal_default_instance() && target_ != nullptr;
7058 }
7059 inline bool LinearArgumentProto::has_target() const {
7060  return _internal_has_target();
7061 }
7063  if (GetArenaForAllocation() == nullptr && target_ != nullptr) {
7064  delete target_;
7065  }
7066  target_ = nullptr;
7067 }
7068 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
7069  const ::operations_research::sat::LinearExpressionProto* p = target_;
7070  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7072 }
7073 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const {
7074  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
7075  return _internal_target();
7076 }
7079  if (GetArenaForAllocation() == nullptr) {
7080  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(target_);
7081  }
7082  target_ = target;
7083  if (target) {
7084 
7085  } else {
7086 
7087  }
7088  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
7089 }
7090 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::release_target() {
7091 
7093  target_ = nullptr;
7094 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7095  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7096  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7097  if (GetArenaForAllocation() == nullptr) { delete old; }
7098 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7099  if (GetArenaForAllocation() != nullptr) {
7100  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7101  }
7102 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7103  return temp;
7104 }
7105 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::unsafe_arena_release_target() {
7106  // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
7107 
7109  target_ = nullptr;
7110  return temp;
7111 }
7112 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_mutable_target() {
7113 
7114  if (target_ == nullptr) {
7115  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7116  target_ = p;
7117  }
7118  return target_;
7119 }
7120 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_target() {
7121  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_target();
7122  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
7123  return _msg;
7124 }
7126  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7127  if (message_arena == nullptr) {
7128  delete target_;
7129  }
7130  if (target) {
7131  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7132  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(target);
7133  if (message_arena != submessage_arena) {
7134  target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7135  message_arena, target, submessage_arena);
7136  }
7137 
7138  } else {
7139 
7140  }
7141  target_ = target;
7142  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
7143 }
7144 
7145 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
7146 inline int LinearArgumentProto::_internal_exprs_size() const {
7147  return exprs_.size();
7148 }
7150  return _internal_exprs_size();
7151 }
7153  exprs_.Clear();
7154 }
7155 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_exprs(int index) {
7156  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
7157  return exprs_.Mutable(index);
7158 }
7159 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
7161  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
7162  return &exprs_;
7163 }
7164 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_exprs(int index) const {
7165  return exprs_.Get(index);
7166 }
7167 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const {
7168  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
7169  return _internal_exprs(index);
7170 }
7171 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_add_exprs() {
7172  return exprs_.Add();
7173 }
7174 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::add_exprs() {
7175  ::operations_research::sat::LinearExpressionProto* _add = _internal_add_exprs();
7176  // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
7177  return _add;
7178 }
7179 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
7181  // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
7182  return exprs_;
7183 }
7184 
7185 // -------------------------------------------------------------------
7186 
7187 // AllDifferentConstraintProto
7188 
7189 // repeated int32 vars = 1;
7190 inline int AllDifferentConstraintProto::_internal_vars_size() const {
7191  return vars_.size();
7192 }
7194  return _internal_vars_size();
7195 }
7197  vars_.Clear();
7198 }
7199 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::_internal_vars(int index) const {
7200  return vars_.Get(index);
7201 }
7202 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::vars(int index) const {
7203  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.vars)
7204  return _internal_vars(index);
7205 }
7206 inline void AllDifferentConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7207  vars_.Set(index, value);
7208  // @@protoc_insertion_point(field_set:operations_research.sat.AllDifferentConstraintProto.vars)
7209 }
7210 inline void AllDifferentConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7211  vars_.Add(value);
7212 }
7213 inline void AllDifferentConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7214  _internal_add_vars(value);
7215  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.vars)
7216 }
7217 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7218 AllDifferentConstraintProto::_internal_vars() const {
7219  return vars_;
7220 }
7221 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7223  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.vars)
7224  return _internal_vars();
7225 }
7226 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7227 AllDifferentConstraintProto::_internal_mutable_vars() {
7228  return &vars_;
7229 }
7230 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7232  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.vars)
7233  return _internal_mutable_vars();
7234 }
7235 
7236 // -------------------------------------------------------------------
7237 
7238 // LinearConstraintProto
7239 
7240 // repeated int32 vars = 1;
7241 inline int LinearConstraintProto::_internal_vars_size() const {
7242  return vars_.size();
7243 }
7245  return _internal_vars_size();
7246 }
7248  vars_.Clear();
7249 }
7250 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::_internal_vars(int index) const {
7251  return vars_.Get(index);
7252 }
7253 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::vars(int index) const {
7254  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
7255  return _internal_vars(index);
7256 }
7257 inline void LinearConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7258  vars_.Set(index, value);
7259  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
7260 }
7261 inline void LinearConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7262  vars_.Add(value);
7263 }
7264 inline void LinearConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7265  _internal_add_vars(value);
7266  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
7267 }
7268 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7269 LinearConstraintProto::_internal_vars() const {
7270  return vars_;
7271 }
7272 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7274  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
7275  return _internal_vars();
7276 }
7277 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7278 LinearConstraintProto::_internal_mutable_vars() {
7279  return &vars_;
7280 }
7281 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7283  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
7284  return _internal_mutable_vars();
7285 }
7286 
7287 // repeated int64 coeffs = 2;
7288 inline int LinearConstraintProto::_internal_coeffs_size() const {
7289  return coeffs_.size();
7290 }
7292  return _internal_coeffs_size();
7293 }
7295  coeffs_.Clear();
7296 }
7297 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_coeffs(int index) const {
7298  return coeffs_.Get(index);
7299 }
7300 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::coeffs(int index) const {
7301  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
7302  return _internal_coeffs(index);
7303 }
7304 inline void LinearConstraintProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7305  coeffs_.Set(index, value);
7306  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
7307 }
7308 inline void LinearConstraintProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7309  coeffs_.Add(value);
7310 }
7311 inline void LinearConstraintProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7312  _internal_add_coeffs(value);
7313  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
7314 }
7315 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7316 LinearConstraintProto::_internal_coeffs() const {
7317  return coeffs_;
7318 }
7319 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7321  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
7322  return _internal_coeffs();
7323 }
7324 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7325 LinearConstraintProto::_internal_mutable_coeffs() {
7326  return &coeffs_;
7327 }
7328 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7330  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
7331  return _internal_mutable_coeffs();
7332 }
7333 
7334 // repeated int64 domain = 3;
7335 inline int LinearConstraintProto::_internal_domain_size() const {
7336  return domain_.size();
7337 }
7339  return _internal_domain_size();
7340 }
7342  domain_.Clear();
7343 }
7344 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_domain(int index) const {
7345  return domain_.Get(index);
7346 }
7347 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::domain(int index) const {
7348  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
7349  return _internal_domain(index);
7350 }
7351 inline void LinearConstraintProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7352  domain_.Set(index, value);
7353  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
7354 }
7355 inline void LinearConstraintProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
7356  domain_.Add(value);
7357 }
7358 inline void LinearConstraintProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
7359  _internal_add_domain(value);
7360  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
7361 }
7362 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7363 LinearConstraintProto::_internal_domain() const {
7364  return domain_;
7365 }
7366 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7368  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
7369  return _internal_domain();
7370 }
7371 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7372 LinearConstraintProto::_internal_mutable_domain() {
7373  return &domain_;
7374 }
7375 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7377  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
7378  return _internal_mutable_domain();
7379 }
7380 
7381 // -------------------------------------------------------------------
7382 
7383 // ElementConstraintProto
7384 
7385 // int32 index = 1;
7387  index_ = 0;
7388 }
7389 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_index() const {
7390  return index_;
7391 }
7392 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::index() const {
7393  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
7394  return _internal_index();
7395 }
7396 inline void ElementConstraintProto::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
7397 
7398  index_ = value;
7399 }
7400 inline void ElementConstraintProto::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
7401  _internal_set_index(value);
7402  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
7403 }
7404 
7405 // int32 target = 2;
7407  target_ = 0;
7408 }
7409 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_target() const {
7410  return target_;
7411 }
7412 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::target() const {
7413  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
7414  return _internal_target();
7415 }
7416 inline void ElementConstraintProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
7417 
7418  target_ = value;
7419 }
7420 inline void ElementConstraintProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
7421  _internal_set_target(value);
7422  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
7423 }
7424 
7425 // repeated int32 vars = 3;
7426 inline int ElementConstraintProto::_internal_vars_size() const {
7427  return vars_.size();
7428 }
7430  return _internal_vars_size();
7431 }
7433  vars_.Clear();
7434 }
7435 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_vars(int index) const {
7436  return vars_.Get(index);
7437 }
7438 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::vars(int index) const {
7439  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
7440  return _internal_vars(index);
7441 }
7442 inline void ElementConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7443  vars_.Set(index, value);
7444  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
7445 }
7446 inline void ElementConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7447  vars_.Add(value);
7448 }
7449 inline void ElementConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7450  _internal_add_vars(value);
7451  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
7452 }
7453 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7454 ElementConstraintProto::_internal_vars() const {
7455  return vars_;
7456 }
7457 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7459  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
7460  return _internal_vars();
7461 }
7462 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7463 ElementConstraintProto::_internal_mutable_vars() {
7464  return &vars_;
7465 }
7466 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7468  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
7469  return _internal_mutable_vars();
7470 }
7471 
7472 // -------------------------------------------------------------------
7473 
7474 // IntervalConstraintProto
7475 
7476 // int32 start = 1;
7478  start_ = 0;
7479 }
7480 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_start() const {
7481  return start_;
7482 }
7483 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::start() const {
7484  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
7485  return _internal_start();
7486 }
7487 inline void IntervalConstraintProto::_internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
7488 
7489  start_ = value;
7490 }
7491 inline void IntervalConstraintProto::set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
7492  _internal_set_start(value);
7493  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.start)
7494 }
7495 
7496 // int32 end = 2;
7498  end_ = 0;
7499 }
7500 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_end() const {
7501  return end_;
7502 }
7503 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::end() const {
7504  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
7505  return _internal_end();
7506 }
7507 inline void IntervalConstraintProto::_internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
7508 
7509  end_ = value;
7510 }
7511 inline void IntervalConstraintProto::set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
7512  _internal_set_end(value);
7513  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.end)
7514 }
7515 
7516 // int32 size = 3;
7518  size_ = 0;
7519 }
7520 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_size() const {
7521  return size_;
7522 }
7523 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::size() const {
7524  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
7525  return _internal_size();
7526 }
7527 inline void IntervalConstraintProto::_internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7528 
7529  size_ = value;
7530 }
7531 inline void IntervalConstraintProto::set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7532  _internal_set_size(value);
7533  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.size)
7534 }
7535 
7536 // .operations_research.sat.LinearExpressionProto start_view = 4;
7537 inline bool IntervalConstraintProto::_internal_has_start_view() const {
7538  return this != internal_default_instance() && start_view_ != nullptr;
7539 }
7541  return _internal_has_start_view();
7542 }
7544  if (GetArenaForAllocation() == nullptr && start_view_ != nullptr) {
7545  delete start_view_;
7546  }
7547  start_view_ = nullptr;
7548 }
7549 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_start_view() const {
7550  const ::operations_research::sat::LinearExpressionProto* p = start_view_;
7551  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7553 }
7554 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::start_view() const {
7555  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start_view)
7556  return _internal_start_view();
7557 }
7560  if (GetArenaForAllocation() == nullptr) {
7561  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_view_);
7562  }
7563  start_view_ = start_view;
7564  if (start_view) {
7565 
7566  } else {
7567 
7568  }
7569  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
7570 }
7571 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_start_view() {
7572 
7574  start_view_ = nullptr;
7575 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7576  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7577  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7578  if (GetArenaForAllocation() == nullptr) { delete old; }
7579 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7580  if (GetArenaForAllocation() != nullptr) {
7581  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7582  }
7583 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7584  return temp;
7585 }
7586 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_start_view() {
7587  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.start_view)
7588 
7590  start_view_ = nullptr;
7591  return temp;
7592 }
7593 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_start_view() {
7594 
7595  if (start_view_ == nullptr) {
7596  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7597  start_view_ = p;
7598  }
7599  return start_view_;
7600 }
7601 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_start_view() {
7602  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_start_view();
7603  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.start_view)
7604  return _msg;
7605 }
7607  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7608  if (message_arena == nullptr) {
7609  delete start_view_;
7610  }
7611  if (start_view) {
7612  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7613  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(start_view);
7614  if (message_arena != submessage_arena) {
7615  start_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7616  message_arena, start_view, submessage_arena);
7617  }
7618 
7619  } else {
7620 
7621  }
7622  start_view_ = start_view;
7623  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
7624 }
7625 
7626 // .operations_research.sat.LinearExpressionProto end_view = 5;
7627 inline bool IntervalConstraintProto::_internal_has_end_view() const {
7628  return this != internal_default_instance() && end_view_ != nullptr;
7629 }
7631  return _internal_has_end_view();
7632 }
7634  if (GetArenaForAllocation() == nullptr && end_view_ != nullptr) {
7635  delete end_view_;
7636  }
7637  end_view_ = nullptr;
7638 }
7639 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_end_view() const {
7640  const ::operations_research::sat::LinearExpressionProto* p = end_view_;
7641  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7643 }
7644 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::end_view() const {
7645  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end_view)
7646  return _internal_end_view();
7647 }
7650  if (GetArenaForAllocation() == nullptr) {
7651  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_view_);
7652  }
7653  end_view_ = end_view;
7654  if (end_view) {
7655 
7656  } else {
7657 
7658  }
7659  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
7660 }
7661 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_end_view() {
7662 
7664  end_view_ = nullptr;
7665 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7666  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7667  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7668  if (GetArenaForAllocation() == nullptr) { delete old; }
7669 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7670  if (GetArenaForAllocation() != nullptr) {
7671  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7672  }
7673 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7674  return temp;
7675 }
7676 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_end_view() {
7677  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.end_view)
7678 
7680  end_view_ = nullptr;
7681  return temp;
7682 }
7683 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_end_view() {
7684 
7685  if (end_view_ == nullptr) {
7686  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7687  end_view_ = p;
7688  }
7689  return end_view_;
7690 }
7691 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_end_view() {
7692  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_end_view();
7693  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.end_view)
7694  return _msg;
7695 }
7697  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7698  if (message_arena == nullptr) {
7699  delete end_view_;
7700  }
7701  if (end_view) {
7702  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7703  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(end_view);
7704  if (message_arena != submessage_arena) {
7705  end_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7706  message_arena, end_view, submessage_arena);
7707  }
7708 
7709  } else {
7710 
7711  }
7712  end_view_ = end_view;
7713  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
7714 }
7715 
7716 // .operations_research.sat.LinearExpressionProto size_view = 6;
7717 inline bool IntervalConstraintProto::_internal_has_size_view() const {
7718  return this != internal_default_instance() && size_view_ != nullptr;
7719 }
7721  return _internal_has_size_view();
7722 }
7724  if (GetArenaForAllocation() == nullptr && size_view_ != nullptr) {
7725  delete size_view_;
7726  }
7727  size_view_ = nullptr;
7728 }
7729 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_size_view() const {
7730  const ::operations_research::sat::LinearExpressionProto* p = size_view_;
7731  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7733 }
7734 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::size_view() const {
7735  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size_view)
7736  return _internal_size_view();
7737 }
7740  if (GetArenaForAllocation() == nullptr) {
7741  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(size_view_);
7742  }
7743  size_view_ = size_view;
7744  if (size_view) {
7745 
7746  } else {
7747 
7748  }
7749  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
7750 }
7751 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_size_view() {
7752 
7754  size_view_ = nullptr;
7755 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7756  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7757  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7758  if (GetArenaForAllocation() == nullptr) { delete old; }
7759 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7760  if (GetArenaForAllocation() != nullptr) {
7761  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7762  }
7763 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7764  return temp;
7765 }
7766 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_size_view() {
7767  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.size_view)
7768 
7770  size_view_ = nullptr;
7771  return temp;
7772 }
7773 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_size_view() {
7774 
7775  if (size_view_ == nullptr) {
7776  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArenaForAllocation());
7777  size_view_ = p;
7778  }
7779  return size_view_;
7780 }
7781 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_size_view() {
7782  ::operations_research::sat::LinearExpressionProto* _msg = _internal_mutable_size_view();
7783  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.size_view)
7784  return _msg;
7785 }
7787  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7788  if (message_arena == nullptr) {
7789  delete size_view_;
7790  }
7791  if (size_view) {
7792  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7793  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearExpressionProto>::GetOwningArena(size_view);
7794  if (message_arena != submessage_arena) {
7795  size_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7796  message_arena, size_view, submessage_arena);
7797  }
7798 
7799  } else {
7800 
7801  }
7802  size_view_ = size_view;
7803  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
7804 }
7805 
7806 // -------------------------------------------------------------------
7807 
7808 // NoOverlapConstraintProto
7809 
7810 // repeated int32 intervals = 1;
7811 inline int NoOverlapConstraintProto::_internal_intervals_size() const {
7812  return intervals_.size();
7813 }
7815  return _internal_intervals_size();
7816 }
7818  intervals_.Clear();
7819 }
7820 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::_internal_intervals(int index) const {
7821  return intervals_.Get(index);
7822 }
7823 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::intervals(int index) const {
7824  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
7825  return _internal_intervals(index);
7826 }
7827 inline void NoOverlapConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7828  intervals_.Set(index, value);
7829  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
7830 }
7831 inline void NoOverlapConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7832  intervals_.Add(value);
7833 }
7834 inline void NoOverlapConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7835  _internal_add_intervals(value);
7836  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
7837 }
7838 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7839 NoOverlapConstraintProto::_internal_intervals() const {
7840  return intervals_;
7841 }
7842 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7844  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
7845  return _internal_intervals();
7846 }
7847 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7848 NoOverlapConstraintProto::_internal_mutable_intervals() {
7849  return &intervals_;
7850 }
7851 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7853  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
7854  return _internal_mutable_intervals();
7855 }
7856 
7857 // -------------------------------------------------------------------
7858 
7859 // NoOverlap2DConstraintProto
7860 
7861 // repeated int32 x_intervals = 1;
7862 inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
7863  return x_intervals_.size();
7864 }
7866  return _internal_x_intervals_size();
7867 }
7869  x_intervals_.Clear();
7870 }
7871 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_x_intervals(int index) const {
7872  return x_intervals_.Get(index);
7873 }
7874 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::x_intervals(int index) const {
7875  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7876  return _internal_x_intervals(index);
7877 }
7878 inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7879  x_intervals_.Set(index, value);
7880  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7881 }
7882 inline void NoOverlap2DConstraintProto::_internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7883  x_intervals_.Add(value);
7884 }
7885 inline void NoOverlap2DConstraintProto::add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7886  _internal_add_x_intervals(value);
7887  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7888 }
7889 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7890 NoOverlap2DConstraintProto::_internal_x_intervals() const {
7891  return x_intervals_;
7892 }
7893 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7895  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7896  return _internal_x_intervals();
7897 }
7898 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7899 NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
7900  return &x_intervals_;
7901 }
7902 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7904  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7905  return _internal_mutable_x_intervals();
7906 }
7907 
7908 // repeated int32 y_intervals = 2;
7909 inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
7910  return y_intervals_.size();
7911 }
7913  return _internal_y_intervals_size();
7914 }
7916  y_intervals_.Clear();
7917 }
7918 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_y_intervals(int index) const {
7919  return y_intervals_.Get(index);
7920 }
7921 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::y_intervals(int index) const {
7922  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7923  return _internal_y_intervals(index);
7924 }
7925 inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7926  y_intervals_.Set(index, value);
7927  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7928 }
7929 inline void NoOverlap2DConstraintProto::_internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7930  y_intervals_.Add(value);
7931 }
7932 inline void NoOverlap2DConstraintProto::add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7933  _internal_add_y_intervals(value);
7934  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7935 }
7936 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7937 NoOverlap2DConstraintProto::_internal_y_intervals() const {
7938  return y_intervals_;
7939 }
7940 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7942  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7943  return _internal_y_intervals();
7944 }
7945 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7946 NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
7947  return &y_intervals_;
7948 }
7949 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7951  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7952  return _internal_mutable_y_intervals();
7953 }
7954 
7955 // bool boxes_with_null_area_can_overlap = 3;
7957  boxes_with_null_area_can_overlap_ = false;
7958 }
7959 inline bool NoOverlap2DConstraintProto::_internal_boxes_with_null_area_can_overlap() const {
7960  return boxes_with_null_area_can_overlap_;
7961 }
7963  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7964  return _internal_boxes_with_null_area_can_overlap();
7965 }
7966 inline void NoOverlap2DConstraintProto::_internal_set_boxes_with_null_area_can_overlap(bool value) {
7967 
7968  boxes_with_null_area_can_overlap_ = value;
7969 }
7971  _internal_set_boxes_with_null_area_can_overlap(value);
7972  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7973 }
7974 
7975 // -------------------------------------------------------------------
7976 
7977 // CumulativeConstraintProto
7978 
7979 // int32 capacity = 1;
7981  capacity_ = 0;
7982 }
7983 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_capacity() const {
7984  return capacity_;
7985 }
7986 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::capacity() const {
7987  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
7988  return _internal_capacity();
7989 }
7990 inline void CumulativeConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7991 
7992  capacity_ = value;
7993 }
7994 inline void CumulativeConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7995  _internal_set_capacity(value);
7996  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.capacity)
7997 }
7998 
7999 // repeated int32 intervals = 2;
8000 inline int CumulativeConstraintProto::_internal_intervals_size() const {
8001  return intervals_.size();
8002 }
8004  return _internal_intervals_size();
8005 }
8007  intervals_.Clear();
8008 }
8009 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_intervals(int index) const {
8010  return intervals_.Get(index);
8011 }
8012 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::intervals(int index) const {
8013  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
8014  return _internal_intervals(index);
8015 }
8016 inline void CumulativeConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8017  intervals_.Set(index, value);
8018  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
8019 }
8020 inline void CumulativeConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8021  intervals_.Add(value);
8022 }
8023 inline void CumulativeConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8024  _internal_add_intervals(value);
8025  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
8026 }
8027 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8028 CumulativeConstraintProto::_internal_intervals() const {
8029  return intervals_;
8030 }
8031 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8033  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
8034  return _internal_intervals();
8035 }
8036 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8037 CumulativeConstraintProto::_internal_mutable_intervals() {
8038  return &intervals_;
8039 }
8040 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8042  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
8043  return _internal_mutable_intervals();
8044 }
8045 
8046 // repeated int32 demands = 3;
8047 inline int CumulativeConstraintProto::_internal_demands_size() const {
8048  return demands_.size();
8049 }
8051  return _internal_demands_size();
8052 }
8054  demands_.Clear();
8055 }
8056 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_demands(int index) const {
8057  return demands_.Get(index);
8058 }
8059 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::demands(int index) const {
8060  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
8061  return _internal_demands(index);
8062 }
8063 inline void CumulativeConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8064  demands_.Set(index, value);
8065  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.demands)
8066 }
8067 inline void CumulativeConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8068  demands_.Add(value);
8069 }
8070 inline void CumulativeConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8071  _internal_add_demands(value);
8072  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
8073 }
8074 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8075 CumulativeConstraintProto::_internal_demands() const {
8076  return demands_;
8077 }
8078 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8080  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
8081  return _internal_demands();
8082 }
8083 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8084 CumulativeConstraintProto::_internal_mutable_demands() {
8085  return &demands_;
8086 }
8087 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8089  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
8090  return _internal_mutable_demands();
8091 }
8092 
8093 // repeated .operations_research.sat.LinearExpressionProto energies = 4;
8094 inline int CumulativeConstraintProto::_internal_energies_size() const {
8095  return energies_.size();
8096 }
8098  return _internal_energies_size();
8099 }
8101  energies_.Clear();
8102 }
8103 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::mutable_energies(int index) {
8104  // @@protoc_insertion_point(field_mutable:operations_research.sat.CumulativeConstraintProto.energies)
8105  return energies_.Mutable(index);
8106 }
8107 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
8109  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.energies)
8110  return &energies_;
8111 }
8112 inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::_internal_energies(int index) const {
8113  return energies_.Get(index);
8114 }
8115 inline const ::operations_research::sat::LinearExpressionProto& CumulativeConstraintProto::energies(int index) const {
8116  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.energies)
8117  return _internal_energies(index);
8118 }
8119 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::_internal_add_energies() {
8120  return energies_.Add();
8121 }
8122 inline ::operations_research::sat::LinearExpressionProto* CumulativeConstraintProto::add_energies() {
8123  ::operations_research::sat::LinearExpressionProto* _add = _internal_add_energies();
8124  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.energies)
8125  return _add;
8126 }
8127 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
8129  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.energies)
8130  return energies_;
8131 }
8132 
8133 // -------------------------------------------------------------------
8134 
8135 // ReservoirConstraintProto
8136 
8137 // int64 min_level = 1;
8139  min_level_ = int64_t{0};
8140 }
8141 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_min_level() const {
8142  return min_level_;
8143 }
8144 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::min_level() const {
8145  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
8146  return _internal_min_level();
8147 }
8148 inline void ReservoirConstraintProto::_internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
8149 
8150  min_level_ = value;
8151 }
8152 inline void ReservoirConstraintProto::set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
8153  _internal_set_min_level(value);
8154  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
8155 }
8156 
8157 // int64 max_level = 2;
8159  max_level_ = int64_t{0};
8160 }
8161 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_max_level() const {
8162  return max_level_;
8163 }
8164 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::max_level() const {
8165  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
8166  return _internal_max_level();
8167 }
8168 inline void ReservoirConstraintProto::_internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
8169 
8170  max_level_ = value;
8171 }
8172 inline void ReservoirConstraintProto::set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
8173  _internal_set_max_level(value);
8174  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
8175 }
8176 
8177 // repeated int32 times = 3;
8178 inline int ReservoirConstraintProto::_internal_times_size() const {
8179  return times_.size();
8180 }
8182  return _internal_times_size();
8183 }
8185  times_.Clear();
8186 }
8187 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_times(int index) const {
8188  return times_.Get(index);
8189 }
8190 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::times(int index) const {
8191  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.times)
8192  return _internal_times(index);
8193 }
8194 inline void ReservoirConstraintProto::set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8195  times_.Set(index, value);
8196  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.times)
8197 }
8198 inline void ReservoirConstraintProto::_internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
8199  times_.Add(value);
8200 }
8201 inline void ReservoirConstraintProto::add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
8202  _internal_add_times(value);
8203  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.times)
8204 }
8205 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8206 ReservoirConstraintProto::_internal_times() const {
8207  return times_;
8208 }
8209 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8211  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.times)
8212  return _internal_times();
8213 }
8214 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8215 ReservoirConstraintProto::_internal_mutable_times() {
8216  return &times_;
8217 }
8218 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8220  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.times)
8221  return _internal_mutable_times();
8222 }
8223 
8224 // repeated int64 demands = 4;
8225 inline int ReservoirConstraintProto::_internal_demands_size() const {
8226  return demands_.size();
8227 }
8229  return _internal_demands_size();
8230 }
8232  demands_.Clear();
8233 }
8234 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_demands(int index) const {
8235  return demands_.Get(index);
8236 }
8237 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::demands(int index) const {
8238  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.demands)
8239  return _internal_demands(index);
8240 }
8241 inline void ReservoirConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8242  demands_.Set(index, value);
8243  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.demands)
8244 }
8245 inline void ReservoirConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
8246  demands_.Add(value);
8247 }
8248 inline void ReservoirConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
8249  _internal_add_demands(value);
8250  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.demands)
8251 }
8252 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8253 ReservoirConstraintProto::_internal_demands() const {
8254  return demands_;
8255 }
8256 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8258  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.demands)
8259  return _internal_demands();
8260 }
8261 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8262 ReservoirConstraintProto::_internal_mutable_demands() {
8263  return &demands_;
8264 }
8265 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8267  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.demands)
8268  return _internal_mutable_demands();
8269 }
8270 
8271 // repeated int32 actives = 5;
8272 inline int ReservoirConstraintProto::_internal_actives_size() const {
8273  return actives_.size();
8274 }
8276  return _internal_actives_size();
8277 }
8279  actives_.Clear();
8280 }
8281 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_actives(int index) const {
8282  return actives_.Get(index);
8283 }
8284 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::actives(int index) const {
8285  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.actives)
8286  return _internal_actives(index);
8287 }
8288 inline void ReservoirConstraintProto::set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8289  actives_.Set(index, value);
8290  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.actives)
8291 }
8292 inline void ReservoirConstraintProto::_internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
8293  actives_.Add(value);
8294 }
8295 inline void ReservoirConstraintProto::add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
8296  _internal_add_actives(value);
8297  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.actives)
8298 }
8299 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8300 ReservoirConstraintProto::_internal_actives() const {
8301  return actives_;
8302 }
8303 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8305  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.actives)
8306  return _internal_actives();
8307 }
8308 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8309 ReservoirConstraintProto::_internal_mutable_actives() {
8310  return &actives_;
8311 }
8312 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8314  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.actives)
8315  return _internal_mutable_actives();
8316 }
8317 
8318 // -------------------------------------------------------------------
8319 
8320 // CircuitConstraintProto
8321 
8322 // repeated int32 tails = 3;
8323 inline int CircuitConstraintProto::_internal_tails_size() const {
8324  return tails_.size();
8325 }
8327  return _internal_tails_size();
8328 }
8330  tails_.Clear();
8331 }
8332 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_tails(int index) const {
8333  return tails_.Get(index);
8334 }
8335 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::tails(int index) const {
8336  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
8337  return _internal_tails(index);
8338 }
8339 inline void CircuitConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8340  tails_.Set(index, value);
8341  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
8342 }
8343 inline void CircuitConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8344  tails_.Add(value);
8345 }
8346 inline void CircuitConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8347  _internal_add_tails(value);
8348  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
8349 }
8350 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8351 CircuitConstraintProto::_internal_tails() const {
8352  return tails_;
8353 }
8354 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8356  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
8357  return _internal_tails();
8358 }
8359 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8360 CircuitConstraintProto::_internal_mutable_tails() {
8361  return &tails_;
8362 }
8363 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8365  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
8366  return _internal_mutable_tails();
8367 }
8368 
8369 // repeated int32 heads = 4;
8370 inline int CircuitConstraintProto::_internal_heads_size() const {
8371  return heads_.size();
8372 }
8374  return _internal_heads_size();
8375 }
8377  heads_.Clear();
8378 }
8379 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_heads(int index) const {
8380  return heads_.Get(index);
8381 }
8382 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::heads(int index) const {
8383  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
8384  return _internal_heads(index);
8385 }
8386 inline void CircuitConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8387  heads_.Set(index, value);
8388  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
8389 }
8390 inline void CircuitConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8391  heads_.Add(value);
8392 }
8393 inline void CircuitConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8394  _internal_add_heads(value);
8395  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
8396 }
8397 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8398 CircuitConstraintProto::_internal_heads() const {
8399  return heads_;
8400 }
8401 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8403  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
8404  return _internal_heads();
8405 }
8406 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8407 CircuitConstraintProto::_internal_mutable_heads() {
8408  return &heads_;
8409 }
8410 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8412  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
8413  return _internal_mutable_heads();
8414 }
8415 
8416 // repeated int32 literals = 5;
8417 inline int CircuitConstraintProto::_internal_literals_size() const {
8418  return literals_.size();
8419 }
8421  return _internal_literals_size();
8422 }
8424  literals_.Clear();
8425 }
8426 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_literals(int index) const {
8427  return literals_.Get(index);
8428 }
8429 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::literals(int index) const {
8430  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
8431  return _internal_literals(index);
8432 }
8433 inline void CircuitConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8434  literals_.Set(index, value);
8435  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
8436 }
8437 inline void CircuitConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8438  literals_.Add(value);
8439 }
8440 inline void CircuitConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8441  _internal_add_literals(value);
8442  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
8443 }
8444 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8445 CircuitConstraintProto::_internal_literals() const {
8446  return literals_;
8447 }
8448 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8450  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
8451  return _internal_literals();
8452 }
8453 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8454 CircuitConstraintProto::_internal_mutable_literals() {
8455  return &literals_;
8456 }
8457 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8459  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
8460  return _internal_mutable_literals();
8461 }
8462 
8463 // -------------------------------------------------------------------
8464 
8465 // RoutesConstraintProto
8466 
8467 // repeated int32 tails = 1;
8468 inline int RoutesConstraintProto::_internal_tails_size() const {
8469  return tails_.size();
8470 }
8472  return _internal_tails_size();
8473 }
8475  tails_.Clear();
8476 }
8477 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_tails(int index) const {
8478  return tails_.Get(index);
8479 }
8480 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::tails(int index) const {
8481  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
8482  return _internal_tails(index);
8483 }
8484 inline void RoutesConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8485  tails_.Set(index, value);
8486  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
8487 }
8488 inline void RoutesConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8489  tails_.Add(value);
8490 }
8491 inline void RoutesConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8492  _internal_add_tails(value);
8493  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
8494 }
8495 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8496 RoutesConstraintProto::_internal_tails() const {
8497  return tails_;
8498 }
8499 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8501  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
8502  return _internal_tails();
8503 }
8504 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8505 RoutesConstraintProto::_internal_mutable_tails() {
8506  return &tails_;
8507 }
8508 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8510  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
8511  return _internal_mutable_tails();
8512 }
8513 
8514 // repeated int32 heads = 2;
8515 inline int RoutesConstraintProto::_internal_heads_size() const {
8516  return heads_.size();
8517 }
8519  return _internal_heads_size();
8520 }
8522  heads_.Clear();
8523 }
8524 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_heads(int index) const {
8525  return heads_.Get(index);
8526 }
8527 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::heads(int index) const {
8528  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
8529  return _internal_heads(index);
8530 }
8531 inline void RoutesConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8532  heads_.Set(index, value);
8533  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
8534 }
8535 inline void RoutesConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8536  heads_.Add(value);
8537 }
8538 inline void RoutesConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8539  _internal_add_heads(value);
8540  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
8541 }
8542 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8543 RoutesConstraintProto::_internal_heads() const {
8544  return heads_;
8545 }
8546 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8548  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
8549  return _internal_heads();
8550 }
8551 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8552 RoutesConstraintProto::_internal_mutable_heads() {
8553  return &heads_;
8554 }
8555 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8557  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
8558  return _internal_mutable_heads();
8559 }
8560 
8561 // repeated int32 literals = 3;
8562 inline int RoutesConstraintProto::_internal_literals_size() const {
8563  return literals_.size();
8564 }
8566  return _internal_literals_size();
8567 }
8569  literals_.Clear();
8570 }
8571 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_literals(int index) const {
8572  return literals_.Get(index);
8573 }
8574 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::literals(int index) const {
8575  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
8576  return _internal_literals(index);
8577 }
8578 inline void RoutesConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8579  literals_.Set(index, value);
8580  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
8581 }
8582 inline void RoutesConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8583  literals_.Add(value);
8584 }
8585 inline void RoutesConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8586  _internal_add_literals(value);
8587  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
8588 }
8589 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8590 RoutesConstraintProto::_internal_literals() const {
8591  return literals_;
8592 }
8593 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8595  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
8596  return _internal_literals();
8597 }
8598 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8599 RoutesConstraintProto::_internal_mutable_literals() {
8600  return &literals_;
8601 }
8602 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8604  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
8605  return _internal_mutable_literals();
8606 }
8607 
8608 // repeated int32 demands = 4;
8609 inline int RoutesConstraintProto::_internal_demands_size() const {
8610  return demands_.size();
8611 }
8613  return _internal_demands_size();
8614 }
8616  demands_.Clear();
8617 }
8618 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_demands(int index) const {
8619  return demands_.Get(index);
8620 }
8621 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::demands(int index) const {
8622  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
8623  return _internal_demands(index);
8624 }
8625 inline void RoutesConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8626  demands_.Set(index, value);
8627  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
8628 }
8629 inline void RoutesConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8630  demands_.Add(value);
8631 }
8632 inline void RoutesConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8633  _internal_add_demands(value);
8634  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
8635 }
8636 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8637 RoutesConstraintProto::_internal_demands() const {
8638  return demands_;
8639 }
8640 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8642  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
8643  return _internal_demands();
8644 }
8645 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8646 RoutesConstraintProto::_internal_mutable_demands() {
8647  return &demands_;
8648 }
8649 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8651  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
8652  return _internal_mutable_demands();
8653 }
8654 
8655 // int64 capacity = 5;
8657  capacity_ = int64_t{0};
8658 }
8659 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::_internal_capacity() const {
8660  return capacity_;
8661 }
8662 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::capacity() const {
8663  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
8664  return _internal_capacity();
8665 }
8666 inline void RoutesConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
8667 
8668  capacity_ = value;
8669 }
8670 inline void RoutesConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
8671  _internal_set_capacity(value);
8672  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
8673 }
8674 
8675 // -------------------------------------------------------------------
8676 
8677 // TableConstraintProto
8678 
8679 // repeated int32 vars = 1;
8680 inline int TableConstraintProto::_internal_vars_size() const {
8681  return vars_.size();
8682 }
8684  return _internal_vars_size();
8685 }
8687  vars_.Clear();
8688 }
8689 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::_internal_vars(int index) const {
8690  return vars_.Get(index);
8691 }
8692 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::vars(int index) const {
8693  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
8694  return _internal_vars(index);
8695 }
8696 inline void TableConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8697  vars_.Set(index, value);
8698  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
8699 }
8700 inline void TableConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8701  vars_.Add(value);
8702 }
8703 inline void TableConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8704  _internal_add_vars(value);
8705  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
8706 }
8707 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8708 TableConstraintProto::_internal_vars() const {
8709  return vars_;
8710 }
8711 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8713  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
8714  return _internal_vars();
8715 }
8716 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8717 TableConstraintProto::_internal_mutable_vars() {
8718  return &vars_;
8719 }
8720 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8722  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
8723  return _internal_mutable_vars();
8724 }
8725 
8726 // repeated int64 values = 2;
8727 inline int TableConstraintProto::_internal_values_size() const {
8728  return values_.size();
8729 }
8731  return _internal_values_size();
8732 }
8734  values_.Clear();
8735 }
8736 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::_internal_values(int index) const {
8737  return values_.Get(index);
8738 }
8739 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::values(int index) const {
8740  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
8741  return _internal_values(index);
8742 }
8743 inline void TableConstraintProto::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8744  values_.Set(index, value);
8745  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
8746 }
8747 inline void TableConstraintProto::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
8748  values_.Add(value);
8749 }
8750 inline void TableConstraintProto::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
8751  _internal_add_values(value);
8752  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
8753 }
8754 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8755 TableConstraintProto::_internal_values() const {
8756  return values_;
8757 }
8758 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8760  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
8761  return _internal_values();
8762 }
8763 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8764 TableConstraintProto::_internal_mutable_values() {
8765  return &values_;
8766 }
8767 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8769  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
8770  return _internal_mutable_values();
8771 }
8772 
8773 // bool negated = 3;
8775  negated_ = false;
8776 }
8777 inline bool TableConstraintProto::_internal_negated() const {
8778  return negated_;
8779 }
8780 inline bool TableConstraintProto::negated() const {
8781  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
8782  return _internal_negated();
8783 }
8784 inline void TableConstraintProto::_internal_set_negated(bool value) {
8785 
8786  negated_ = value;
8787 }
8789  _internal_set_negated(value);
8790  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
8791 }
8792 
8793 // -------------------------------------------------------------------
8794 
8795 // InverseConstraintProto
8796 
8797 // repeated int32 f_direct = 1;
8798 inline int InverseConstraintProto::_internal_f_direct_size() const {
8799  return f_direct_.size();
8800 }
8802  return _internal_f_direct_size();
8803 }
8805  f_direct_.Clear();
8806 }
8807 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_direct(int index) const {
8808  return f_direct_.Get(index);
8809 }
8810 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_direct(int index) const {
8811  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
8812  return _internal_f_direct(index);
8813 }
8814 inline void InverseConstraintProto::set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8815  f_direct_.Set(index, value);
8816  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
8817 }
8818 inline void InverseConstraintProto::_internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
8819  f_direct_.Add(value);
8820 }
8821 inline void InverseConstraintProto::add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
8822  _internal_add_f_direct(value);
8823  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
8824 }
8825 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8826 InverseConstraintProto::_internal_f_direct() const {
8827  return f_direct_;
8828 }
8829 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8831  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
8832  return _internal_f_direct();
8833 }
8834 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8835 InverseConstraintProto::_internal_mutable_f_direct() {
8836  return &f_direct_;
8837 }
8838 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8840  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
8841  return _internal_mutable_f_direct();
8842 }
8843 
8844 // repeated int32 f_inverse = 2;
8845 inline int InverseConstraintProto::_internal_f_inverse_size() const {
8846  return f_inverse_.size();
8847 }
8849  return _internal_f_inverse_size();
8850 }
8852  f_inverse_.Clear();
8853 }
8854 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_inverse(int index) const {
8855  return f_inverse_.Get(index);
8856 }
8857 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_inverse(int index) const {
8858  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
8859  return _internal_f_inverse(index);
8860 }
8861 inline void InverseConstraintProto::set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8862  f_inverse_.Set(index, value);
8863  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
8864 }
8865 inline void InverseConstraintProto::_internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8866  f_inverse_.Add(value);
8867 }
8868 inline void InverseConstraintProto::add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8869  _internal_add_f_inverse(value);
8870  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
8871 }
8872 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8873 InverseConstraintProto::_internal_f_inverse() const {
8874  return f_inverse_;
8875 }
8876 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8878  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
8879  return _internal_f_inverse();
8880 }
8881 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8882 InverseConstraintProto::_internal_mutable_f_inverse() {
8883  return &f_inverse_;
8884 }
8885 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8887  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
8888  return _internal_mutable_f_inverse();
8889 }
8890 
8891 // -------------------------------------------------------------------
8892 
8893 // AutomatonConstraintProto
8894 
8895 // int64 starting_state = 2;
8897  starting_state_ = int64_t{0};
8898 }
8899 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_starting_state() const {
8900  return starting_state_;
8901 }
8902 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::starting_state() const {
8903  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
8904  return _internal_starting_state();
8905 }
8906 inline void AutomatonConstraintProto::_internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8907 
8908  starting_state_ = value;
8909 }
8910 inline void AutomatonConstraintProto::set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8911  _internal_set_starting_state(value);
8912  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
8913 }
8914 
8915 // repeated int64 final_states = 3;
8916 inline int AutomatonConstraintProto::_internal_final_states_size() const {
8917  return final_states_.size();
8918 }
8920  return _internal_final_states_size();
8921 }
8923  final_states_.Clear();
8924 }
8925 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_final_states(int index) const {
8926  return final_states_.Get(index);
8927 }
8928 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::final_states(int index) const {
8929  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
8930  return _internal_final_states(index);
8931 }
8932 inline void AutomatonConstraintProto::set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8933  final_states_.Set(index, value);
8934  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
8935 }
8936 inline void AutomatonConstraintProto::_internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8937  final_states_.Add(value);
8938 }
8939 inline void AutomatonConstraintProto::add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8940  _internal_add_final_states(value);
8941  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
8942 }
8943 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8944 AutomatonConstraintProto::_internal_final_states() const {
8945  return final_states_;
8946 }
8947 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8949  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
8950  return _internal_final_states();
8951 }
8952 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8953 AutomatonConstraintProto::_internal_mutable_final_states() {
8954  return &final_states_;
8955 }
8956 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8958  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
8959  return _internal_mutable_final_states();
8960 }
8961 
8962 // repeated int64 transition_tail = 4;
8963 inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
8964  return transition_tail_.size();
8965 }
8967  return _internal_transition_tail_size();
8968 }
8970  transition_tail_.Clear();
8971 }
8972 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_tail(int index) const {
8973  return transition_tail_.Get(index);
8974 }
8975 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_tail(int index) const {
8976  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
8977  return _internal_transition_tail(index);
8978 }
8979 inline void AutomatonConstraintProto::set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8980  transition_tail_.Set(index, value);
8981  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
8982 }
8983 inline void AutomatonConstraintProto::_internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8984  transition_tail_.Add(value);
8985 }
8986 inline void AutomatonConstraintProto::add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8987  _internal_add_transition_tail(value);
8988  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
8989 }
8990 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8991 AutomatonConstraintProto::_internal_transition_tail() const {
8992  return transition_tail_;
8993 }
8994 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8996  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8997  return _internal_transition_tail();
8998 }
8999 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
9000 AutomatonConstraintProto::_internal_mutable_transition_tail() {
9001  return &transition_tail_;
9002 }
9003 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
9005  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
9006  return _internal_mutable_transition_tail();
9007 }
9008 
9009 // repeated int64 transition_head = 5;
9010 inline int AutomatonConstraintProto::_internal_transition_head_size() const {
9011  return transition_head_.size();
9012 }
9014  return _internal_transition_head_size();
9015 }
9017  transition_head_.Clear();
9018 }
9019 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_head(int index) const {
9020  return transition_head_.Get(index);
9021 }
9022 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_head(int index) const {
9023  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
9024  return _internal_transition_head(index);
9025 }
9026 inline void AutomatonConstraintProto::set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
9027  transition_head_.Set(index, value);
9028  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
9029 }
9030 inline void AutomatonConstraintProto::_internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
9031  transition_head_.Add(value);
9032 }
9033 inline void AutomatonConstraintProto::add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
9034  _internal_add_transition_head(value);
9035  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
9036 }
9037 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
9038 AutomatonConstraintProto::_internal_transition_head() const {
9039  return transition_head_;
9040 }
9041 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
9043  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
9044  return _internal_transition_head();
9045 }
9046 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
9047 AutomatonConstraintProto::_internal_mutable_transition_head() {
9048  return &transition_head_;
9049 }
9050 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
9052  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
9053  return _internal_mutable_transition_head();
9054 }
9055 
9056 // repeated int64 transition_label = 6;
9057 inline int AutomatonConstraintProto::_internal_transition_label_size() const {
9058  return transition_label_.size();
9059 }
9061  return _internal_transition_label_size();
9062 }
9064  transition_label_.Clear();
9065 }
9066 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_label(int index) const {
9067  return transition_label_.Get(index);
9068 }
9069 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_label(int index) const {
9070  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
9071  return _internal_transition_label(index);
9072 }
9073 inline void AutomatonConstraintProto::set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
9074  transition_label_.Set(index, value);
9075  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
9076 }
9077 inline void AutomatonConstraintProto::_internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
9078  transition_label_.Add(value);
9079 }
9080 inline void AutomatonConstraintProto::add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
9081  _internal_add_transition_label(value);
9082  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
9083 }
9084 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
9085 AutomatonConstraintProto::_internal_transition_label() const {
9086  return transition_label_;
9087 }
9088 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
9090  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
9091  return _internal_transition_label();
9092 }
9093 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
9094 AutomatonConstraintProto::_internal_mutable_transition_label() {
9095  return &transition_label_;
9096 }
9097 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
9099  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
9100  return _internal_mutable_transition_label();
9101 }
9102 
9103 // repeated int32 vars = 7;
9104 inline int AutomatonConstraintProto::_internal_vars_size() const {
9105  return vars_.size();
9106 }
9108  return _internal_vars_size();
9109 }
9111  vars_.Clear();
9112 }
9113 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::_internal_vars(int index) const {
9114  return vars_.Get(index);
9115 }
9116 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::vars(int index) const {
9117  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
9118  return _internal_vars(index);
9119 }
9120 inline void AutomatonConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
9121  vars_.Set(index, value);
9122  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
9123 }
9124 inline void AutomatonConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
9125  vars_.Add(value);
9126 }
9127 inline void AutomatonConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
9128  _internal_add_vars(value);
9129  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
9130 }
9131 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
9132 AutomatonConstraintProto::_internal_vars() const {
9133  return vars_;
9134 }
9135 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
9137  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
9138  return _internal_vars();
9139 }
9140 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
9141 AutomatonConstraintProto::_internal_mutable_vars() {
9142  return &vars_;
9143 }
9144 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
9146  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
9147  return _internal_mutable_vars();
9148 }
9149 
9150 // -------------------------------------------------------------------
9151 
9152 // ListOfVariablesProto
9153 
9154 // repeated int32 vars = 1;
9155 inline int ListOfVariablesProto::_internal_vars_size() const {
9156  return vars_.size();
9157 }
9159  return _internal_vars_size();
9160 }
9162  vars_.Clear();
9163 }
9164 inline ::PROTOBUF_NAMESPACE_ID::int32 ListOfVariablesProto::_internal_vars(int index) const {
9165  return vars_.Get(index);
9166 }
9167 inline ::PROTOBUF_NAMESPACE_ID::int32 ListOfVariablesProto::vars(int index) const {
9168  // @@protoc_insertion_point(field_get:operations_research.sat.ListOfVariablesProto.vars)
9169  return _internal_vars(index);
9170 }
9171 inline void ListOfVariablesProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
9172  vars_.Set(index, value);
9173  // @@protoc_insertion_point(field_set:operations_research.sat.ListOfVariablesProto.vars)
9174 }
9175 inline void ListOfVariablesProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
9176  vars_.Add(value);
9177 }
9178 inline void ListOfVariablesProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
9179  _internal_add_vars(value);
9180  // @@protoc_insertion_point(field_add:operations_research.sat.ListOfVariablesProto.vars)
9181 }
9182 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
9183 ListOfVariablesProto::_internal_vars() const {
9184  return vars_;
9185 }
9186 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
9188  // @@protoc_insertion_point(field_list:operations_research.sat.ListOfVariablesProto.vars)
9189  return _internal_vars();
9190 }
9191 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
9192 ListOfVariablesProto::_internal_mutable_vars() {
9193  return &vars_;
9194 }
9195 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
9197  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ListOfVariablesProto.vars)
9198  return _internal_mutable_vars();
9199 }
9200 
9201 // -------------------------------------------------------------------
9202 
9203 // ConstraintProto
9204 
9205 // string name = 1;
9207  name_.ClearToEmpty();
9208 }
9209 inline const std::string& ConstraintProto::name() const {
9210  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
9211  return _internal_name();
9212 }
9213 template <typename ArgT0, typename... ArgT>
9214 inline PROTOBUF_ALWAYS_INLINE
9215 void ConstraintProto::set_name(ArgT0&& arg0, ArgT... args) {
9216 
9217  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
9218  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
9219 }
9220 inline std::string* ConstraintProto::mutable_name() {
9221  std::string* _s = _internal_mutable_name();
9222  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
9223  return _s;
9224 }
9225 inline const std::string& ConstraintProto::_internal_name() const {
9226  return name_.Get();
9227 }
9228 inline void ConstraintProto::_internal_set_name(const std::string& value) {
9229 
9230  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
9231 }
9232 inline std::string* ConstraintProto::_internal_mutable_name() {
9233 
9234  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
9235 }
9236 inline std::string* ConstraintProto::release_name() {
9237  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
9238  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
9239 }
9240 inline void ConstraintProto::set_allocated_name(std::string* name) {
9241  if (name != nullptr) {
9242 
9243  } else {
9244 
9245  }
9246  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
9247  GetArenaForAllocation());
9248  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
9249 }
9250 
9251 // repeated int32 enforcement_literal = 2;
9252 inline int ConstraintProto::_internal_enforcement_literal_size() const {
9253  return enforcement_literal_.size();
9254 }
9256  return _internal_enforcement_literal_size();
9257 }
9259  enforcement_literal_.Clear();
9260 }
9261 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::_internal_enforcement_literal(int index) const {
9262  return enforcement_literal_.Get(index);
9263 }
9264 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::enforcement_literal(int index) const {
9265  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
9266  return _internal_enforcement_literal(index);
9267 }
9268 inline void ConstraintProto::set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
9269  enforcement_literal_.Set(index, value);
9270  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
9271 }
9272 inline void ConstraintProto::_internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
9273  enforcement_literal_.Add(value);
9274 }
9275 inline void ConstraintProto::add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
9276  _internal_add_enforcement_literal(value);
9277  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
9278 }
9279 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
9280 ConstraintProto::_internal_enforcement_literal() const {
9281  return enforcement_literal_;
9282 }
9283 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
9285  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
9286  return _internal_enforcement_literal();
9287 }
9288 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
9289 ConstraintProto::_internal_mutable_enforcement_literal() {
9290  return &enforcement_literal_;
9291 }
9292 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
9294  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
9295  return _internal_mutable_enforcement_literal();
9296 }
9297 
9298 // .operations_research.sat.BoolArgumentProto bool_or = 3;
9299 inline bool ConstraintProto::_internal_has_bool_or() const {
9300  return constraint_case() == kBoolOr;
9301 }
9302 inline bool ConstraintProto::has_bool_or() const {
9303  return _internal_has_bool_or();
9304 }
9305 inline void ConstraintProto::set_has_bool_or() {
9306  _oneof_case_[0] = kBoolOr;
9307 }
9309  if (_internal_has_bool_or()) {
9310  if (GetArenaForAllocation() == nullptr) {
9311  delete constraint_.bool_or_;
9312  }
9313  clear_has_constraint();
9314  }
9315 }
9316 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
9317  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
9318  if (_internal_has_bool_or()) {
9319  clear_has_constraint();
9320  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
9321  if (GetArenaForAllocation() != nullptr) {
9322  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9323  }
9324  constraint_.bool_or_ = nullptr;
9325  return temp;
9326  } else {
9327  return nullptr;
9328  }
9329 }
9330 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
9331  return _internal_has_bool_or()
9332  ? *constraint_.bool_or_
9333  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9334 }
9335 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
9336  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
9337  return _internal_bool_or();
9338 }
9339 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_or() {
9340  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
9341  if (_internal_has_bool_or()) {
9342  clear_has_constraint();
9343  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
9344  constraint_.bool_or_ = nullptr;
9345  return temp;
9346  } else {
9347  return nullptr;
9348  }
9349 }
9351  clear_constraint();
9352  if (bool_or) {
9353  set_has_bool_or();
9354  constraint_.bool_or_ = bool_or;
9355  }
9356  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
9357 }
9358 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_or() {
9359  if (!_internal_has_bool_or()) {
9360  clear_constraint();
9361  set_has_bool_or();
9362  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9363  }
9364  return constraint_.bool_or_;
9365 }
9366 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
9367  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_or();
9368  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
9369  return _msg;
9370 }
9371 
9372 // .operations_research.sat.BoolArgumentProto bool_and = 4;
9373 inline bool ConstraintProto::_internal_has_bool_and() const {
9374  return constraint_case() == kBoolAnd;
9375 }
9376 inline bool ConstraintProto::has_bool_and() const {
9377  return _internal_has_bool_and();
9378 }
9379 inline void ConstraintProto::set_has_bool_and() {
9380  _oneof_case_[0] = kBoolAnd;
9381 }
9383  if (_internal_has_bool_and()) {
9384  if (GetArenaForAllocation() == nullptr) {
9385  delete constraint_.bool_and_;
9386  }
9387  clear_has_constraint();
9388  }
9389 }
9390 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
9391  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
9392  if (_internal_has_bool_and()) {
9393  clear_has_constraint();
9394  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9395  if (GetArenaForAllocation() != nullptr) {
9396  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9397  }
9398  constraint_.bool_and_ = nullptr;
9399  return temp;
9400  } else {
9401  return nullptr;
9402  }
9403 }
9404 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
9405  return _internal_has_bool_and()
9406  ? *constraint_.bool_and_
9407  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9408 }
9409 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
9410  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
9411  return _internal_bool_and();
9412 }
9413 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_and() {
9414  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
9415  if (_internal_has_bool_and()) {
9416  clear_has_constraint();
9417  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9418  constraint_.bool_and_ = nullptr;
9419  return temp;
9420  } else {
9421  return nullptr;
9422  }
9423 }
9425  clear_constraint();
9426  if (bool_and) {
9427  set_has_bool_and();
9428  constraint_.bool_and_ = bool_and;
9429  }
9430  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
9431 }
9432 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_and() {
9433  if (!_internal_has_bool_and()) {
9434  clear_constraint();
9435  set_has_bool_and();
9436  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9437  }
9438  return constraint_.bool_and_;
9439 }
9440 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
9441  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_and();
9442  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
9443  return _msg;
9444 }
9445 
9446 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
9447 inline bool ConstraintProto::_internal_has_at_most_one() const {
9448  return constraint_case() == kAtMostOne;
9449 }
9451  return _internal_has_at_most_one();
9452 }
9453 inline void ConstraintProto::set_has_at_most_one() {
9454  _oneof_case_[0] = kAtMostOne;
9455 }
9457  if (_internal_has_at_most_one()) {
9458  if (GetArenaForAllocation() == nullptr) {
9459  delete constraint_.at_most_one_;
9460  }
9461  clear_has_constraint();
9462  }
9463 }
9464 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
9465  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
9466  if (_internal_has_at_most_one()) {
9467  clear_has_constraint();
9468  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9469  if (GetArenaForAllocation() != nullptr) {
9470  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9471  }
9472  constraint_.at_most_one_ = nullptr;
9473  return temp;
9474  } else {
9475  return nullptr;
9476  }
9477 }
9478 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
9479  return _internal_has_at_most_one()
9480  ? *constraint_.at_most_one_
9481  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9482 }
9483 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
9484  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
9485  return _internal_at_most_one();
9486 }
9487 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_at_most_one() {
9488  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
9489  if (_internal_has_at_most_one()) {
9490  clear_has_constraint();
9491  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9492  constraint_.at_most_one_ = nullptr;
9493  return temp;
9494  } else {
9495  return nullptr;
9496  }
9497 }
9499  clear_constraint();
9500  if (at_most_one) {
9501  set_has_at_most_one();
9502  constraint_.at_most_one_ = at_most_one;
9503  }
9504  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
9505 }
9506 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_at_most_one() {
9507  if (!_internal_has_at_most_one()) {
9508  clear_constraint();
9509  set_has_at_most_one();
9510  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9511  }
9512  return constraint_.at_most_one_;
9513 }
9514 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
9515  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_at_most_one();
9516  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
9517  return _msg;
9518 }
9519 
9520 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
9521 inline bool ConstraintProto::_internal_has_exactly_one() const {
9522  return constraint_case() == kExactlyOne;
9523 }
9525  return _internal_has_exactly_one();
9526 }
9527 inline void ConstraintProto::set_has_exactly_one() {
9528  _oneof_case_[0] = kExactlyOne;
9529 }
9531  if (_internal_has_exactly_one()) {
9532  if (GetArenaForAllocation() == nullptr) {
9533  delete constraint_.exactly_one_;
9534  }
9535  clear_has_constraint();
9536  }
9537 }
9538 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_exactly_one() {
9539  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.exactly_one)
9540  if (_internal_has_exactly_one()) {
9541  clear_has_constraint();
9542  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9543  if (GetArenaForAllocation() != nullptr) {
9544  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9545  }
9546  constraint_.exactly_one_ = nullptr;
9547  return temp;
9548  } else {
9549  return nullptr;
9550  }
9551 }
9552 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_exactly_one() const {
9553  return _internal_has_exactly_one()
9554  ? *constraint_.exactly_one_
9555  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9556 }
9557 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::exactly_one() const {
9558  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.exactly_one)
9559  return _internal_exactly_one();
9560 }
9561 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_exactly_one() {
9562  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.exactly_one)
9563  if (_internal_has_exactly_one()) {
9564  clear_has_constraint();
9565  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9566  constraint_.exactly_one_ = nullptr;
9567  return temp;
9568  } else {
9569  return nullptr;
9570  }
9571 }
9573  clear_constraint();
9574  if (exactly_one) {
9575  set_has_exactly_one();
9576  constraint_.exactly_one_ = exactly_one;
9577  }
9578  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
9579 }
9580 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_exactly_one() {
9581  if (!_internal_has_exactly_one()) {
9582  clear_constraint();
9583  set_has_exactly_one();
9584  constraint_.exactly_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9585  }
9586  return constraint_.exactly_one_;
9587 }
9588 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_exactly_one() {
9589  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_exactly_one();
9590  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.exactly_one)
9591  return _msg;
9592 }
9593 
9594 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
9595 inline bool ConstraintProto::_internal_has_bool_xor() const {
9596  return constraint_case() == kBoolXor;
9597 }
9598 inline bool ConstraintProto::has_bool_xor() const {
9599  return _internal_has_bool_xor();
9600 }
9601 inline void ConstraintProto::set_has_bool_xor() {
9602  _oneof_case_[0] = kBoolXor;
9603 }
9605  if (_internal_has_bool_xor()) {
9606  if (GetArenaForAllocation() == nullptr) {
9607  delete constraint_.bool_xor_;
9608  }
9609  clear_has_constraint();
9610  }
9611 }
9612 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
9613  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
9614  if (_internal_has_bool_xor()) {
9615  clear_has_constraint();
9616  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9617  if (GetArenaForAllocation() != nullptr) {
9618  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9619  }
9620  constraint_.bool_xor_ = nullptr;
9621  return temp;
9622  } else {
9623  return nullptr;
9624  }
9625 }
9626 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
9627  return _internal_has_bool_xor()
9628  ? *constraint_.bool_xor_
9629  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9630 }
9631 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
9632  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
9633  return _internal_bool_xor();
9634 }
9635 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_xor() {
9636  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
9637  if (_internal_has_bool_xor()) {
9638  clear_has_constraint();
9639  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9640  constraint_.bool_xor_ = nullptr;
9641  return temp;
9642  } else {
9643  return nullptr;
9644  }
9645 }
9647  clear_constraint();
9648  if (bool_xor) {
9649  set_has_bool_xor();
9650  constraint_.bool_xor_ = bool_xor;
9651  }
9652  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
9653 }
9654 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_xor() {
9655  if (!_internal_has_bool_xor()) {
9656  clear_constraint();
9657  set_has_bool_xor();
9658  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArenaForAllocation());
9659  }
9660  return constraint_.bool_xor_;
9661 }
9662 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
9663  ::operations_research::sat::BoolArgumentProto* _msg = _internal_mutable_bool_xor();
9664  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
9665  return _msg;
9666 }
9667 
9668 // .operations_research.sat.IntegerArgumentProto int_div = 7;
9669 inline bool ConstraintProto::_internal_has_int_div() const {
9670  return constraint_case() == kIntDiv;
9671 }
9672 inline bool ConstraintProto::has_int_div() const {
9673  return _internal_has_int_div();
9674 }
9675 inline void ConstraintProto::set_has_int_div() {
9676  _oneof_case_[0] = kIntDiv;
9677 }
9679  if (_internal_has_int_div()) {
9680  if (GetArenaForAllocation() == nullptr) {
9681  delete constraint_.int_div_;
9682  }
9683  clear_has_constraint();
9684  }
9685 }
9686 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_div() {
9687  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
9688  if (_internal_has_int_div()) {
9689  clear_has_constraint();
9690  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
9691  if (GetArenaForAllocation() != nullptr) {
9692  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9693  }
9694  constraint_.int_div_ = nullptr;
9695  return temp;
9696  } else {
9697  return nullptr;
9698  }
9699 }
9700 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_div() const {
9701  return _internal_has_int_div()
9702  ? *constraint_.int_div_
9703  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9704 }
9705 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_div() const {
9706  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
9707  return _internal_int_div();
9708 }
9709 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_div() {
9710  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
9711  if (_internal_has_int_div()) {
9712  clear_has_constraint();
9713  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
9714  constraint_.int_div_ = nullptr;
9715  return temp;
9716  } else {
9717  return nullptr;
9718  }
9719 }
9721  clear_constraint();
9722  if (int_div) {
9723  set_has_int_div();
9724  constraint_.int_div_ = int_div;
9725  }
9726  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
9727 }
9728 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_div() {
9729  if (!_internal_has_int_div()) {
9730  clear_constraint();
9731  set_has_int_div();
9732  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArenaForAllocation());
9733  }
9734  return constraint_.int_div_;
9735 }
9736 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_div() {
9737  ::operations_research::sat::IntegerArgumentProto* _msg = _internal_mutable_int_div();
9738  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
9739  return _msg;
9740 }
9741 
9742 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
9743 inline bool ConstraintProto::_internal_has_int_mod() const {
9744  return constraint_case() == kIntMod;
9745 }
9746 inline bool ConstraintProto::has_int_mod() const {
9747  return _internal_has_int_mod();
9748 }
9749 inline void ConstraintProto::set_has_int_mod() {
9750  _oneof_case_[0] = kIntMod;
9751 }
9753  if (_internal_has_int_mod()) {
9754  if (GetArenaForAllocation() == nullptr) {
9755  delete constraint_.int_mod_;
9756  }
9757  clear_has_constraint();
9758  }
9759 }
9760 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_mod() {
9761  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
9762  if (_internal_has_int_mod()) {
9763  clear_has_constraint();
9764  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
9765  if (GetArenaForAllocation() != nullptr) {
9766  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9767  }
9768  constraint_.int_mod_ = nullptr;
9769  return temp;
9770  } else {
9771  return nullptr;
9772  }
9773 }
9774 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_mod() const {
9775  return _internal_has_int_mod()
9776  ? *constraint_.int_mod_
9777  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9778 }
9779 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_mod() const {
9780  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
9781  return _internal_int_mod();
9782 }
9783 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_mod() {
9784  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
9785  if (_internal_has_int_mod()) {
9786  clear_has_constraint();
9787  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
9788  constraint_.int_mod_ = nullptr;
9789  return temp;
9790  } else {
9791  return nullptr;
9792  }
9793 }
9795  clear_constraint();
9796  if (int_mod) {
9797  set_has_int_mod();
9798  constraint_.int_mod_ = int_mod;
9799  }
9800  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
9801 }
9802 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_mod() {
9803  if (!_internal_has_int_mod()) {
9804  clear_constraint();
9805  set_has_int_mod();
9806  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArenaForAllocation());
9807  }
9808  return constraint_.int_mod_;
9809 }
9810 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_mod() {
9811  ::operations_research::sat::IntegerArgumentProto* _msg = _internal_mutable_int_mod();
9812  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
9813  return _msg;
9814 }
9815 
9816 // .operations_research.sat.IntegerArgumentProto int_max = 9;
9817 inline bool ConstraintProto::_internal_has_int_max() const {
9818  return constraint_case() == kIntMax;
9819 }
9820 inline bool ConstraintProto::has_int_max() const {
9821  return _internal_has_int_max();
9822 }
9823 inline void ConstraintProto::set_has_int_max() {
9824  _oneof_case_[0] = kIntMax;
9825 }
9827  if (_internal_has_int_max()) {
9828  if (GetArenaForAllocation() == nullptr) {
9829  delete constraint_.int_max_;
9830  }
9831  clear_has_constraint();
9832  }
9833 }
9834 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_max() {
9835  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_max)
9836  if (_internal_has_int_max()) {
9837  clear_has_constraint();
9838  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
9839  if (GetArenaForAllocation() != nullptr) {
9840  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9841  }
9842  constraint_.int_max_ = nullptr;
9843  return temp;
9844  } else {
9845  return nullptr;
9846  }
9847 }
9848 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_max() const {
9849  return _internal_has_int_max()
9850  ? *constraint_.int_max_
9851  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9852 }
9853 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_max() const {
9854  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_max)
9855  return _internal_int_max();
9856 }
9857 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_max() {
9858  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_max)
9859  if (_internal_has_int_max()) {
9860  clear_has_constraint();
9861  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
9862  constraint_.int_max_ = nullptr;
9863  return temp;
9864  } else {
9865  return nullptr;
9866  }
9867 }
9869  clear_constraint();
9870  if (int_max) {
9871  set_has_int_max();
9872  constraint_.int_max_ = int_max;
9873  }
9874  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_max)
9875 }
9876 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_max() {
9877  if (!_internal_has_int_max()) {
9878  clear_constraint();
9879  set_has_int_max();
9880  constraint_.int_max_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArenaForAllocation());
9881  }
9882  return constraint_.int_max_;
9883 }
9884 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_max() {
9885  ::operations_research::sat::IntegerArgumentProto* _msg = _internal_mutable_int_max();
9886  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_max)
9887  return _msg;
9888 }
9889 
9890 // .operations_research.sat.LinearArgumentProto lin_max = 27;
9891 inline bool ConstraintProto::_internal_has_lin_max() const {
9892  return constraint_case() == kLinMax;
9893 }
9894 inline bool ConstraintProto::has_lin_max() const {
9895  return _internal_has_lin_max();
9896 }
9897 inline void ConstraintProto::set_has_lin_max() {
9898  _oneof_case_[0] = kLinMax;
9899 }
9901  if (_internal_has_lin_max()) {
9902  if (GetArenaForAllocation() == nullptr) {
9903  delete constraint_.lin_max_;
9904  }
9905  clear_has_constraint();
9906  }
9907 }
9908 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_max() {
9909  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
9910  if (_internal_has_lin_max()) {
9911  clear_has_constraint();
9912  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
9913  if (GetArenaForAllocation() != nullptr) {
9914  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9915  }
9916  constraint_.lin_max_ = nullptr;
9917  return temp;
9918  } else {
9919  return nullptr;
9920  }
9921 }
9922 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
9923  return _internal_has_lin_max()
9924  ? *constraint_.lin_max_
9925  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9926 }
9927 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const {
9928  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
9929  return _internal_lin_max();
9930 }
9931 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_max() {
9932  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
9933  if (_internal_has_lin_max()) {
9934  clear_has_constraint();
9935  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
9936  constraint_.lin_max_ = nullptr;
9937  return temp;
9938  } else {
9939  return nullptr;
9940  }
9941 }
9943  clear_constraint();
9944  if (lin_max) {
9945  set_has_lin_max();
9946  constraint_.lin_max_ = lin_max;
9947  }
9948  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
9949 }
9950 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_max() {
9951  if (!_internal_has_lin_max()) {
9952  clear_constraint();
9953  set_has_lin_max();
9954  constraint_.lin_max_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArenaForAllocation());
9955  }
9956  return constraint_.lin_max_;
9957 }
9958 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_max() {
9959  ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_lin_max();
9960  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
9961  return _msg;
9962 }
9963 
9964 // .operations_research.sat.IntegerArgumentProto int_min = 10;
9965 inline bool ConstraintProto::_internal_has_int_min() const {
9966  return constraint_case() == kIntMin;
9967 }
9968 inline bool ConstraintProto::has_int_min() const {
9969  return _internal_has_int_min();
9970 }
9971 inline void ConstraintProto::set_has_int_min() {
9972  _oneof_case_[0] = kIntMin;
9973 }
9975  if (_internal_has_int_min()) {
9976  if (GetArenaForAllocation() == nullptr) {
9977  delete constraint_.int_min_;
9978  }
9979  clear_has_constraint();
9980  }
9981 }
9982 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_min() {
9983  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_min)
9984  if (_internal_has_int_min()) {
9985  clear_has_constraint();
9986  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9987  if (GetArenaForAllocation() != nullptr) {
9988  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9989  }
9990  constraint_.int_min_ = nullptr;
9991  return temp;
9992  } else {
9993  return nullptr;
9994  }
9995 }
9996 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_min() const {
9997  return _internal_has_int_min()
9998  ? *constraint_.int_min_
9999  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
10000 }
10001 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_min() const {
10002  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_min)
10003  return _internal_int_min();
10004 }
10005 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_min() {
10006  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_min)
10007  if (_internal_has_int_min()) {
10008  clear_has_constraint();
10009  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
10010  constraint_.int_min_ = nullptr;
10011  return temp;
10012  } else {
10013  return nullptr;
10014  }
10015 }
10017  clear_constraint();
10018  if (int_min) {
10019  set_has_int_min();
10020  constraint_.int_min_ = int_min;
10021  }
10022  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_min)
10023 }
10024 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_min() {
10025  if (!_internal_has_int_min()) {
10026  clear_constraint();
10027  set_has_int_min();
10028  constraint_.int_min_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArenaForAllocation());
10029  }
10030  return constraint_.int_min_;
10031 }
10032 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_min() {
10033  ::operations_research::sat::IntegerArgumentProto* _msg = _internal_mutable_int_min();
10034  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_min)
10035  return _msg;
10036 }
10037 
10038 // .operations_research.sat.LinearArgumentProto lin_min = 28;
10039 inline bool ConstraintProto::_internal_has_lin_min() const {
10040  return constraint_case() == kLinMin;
10041 }
10042 inline bool ConstraintProto::has_lin_min() const {
10043  return _internal_has_lin_min();
10044 }
10045 inline void ConstraintProto::set_has_lin_min() {
10046  _oneof_case_[0] = kLinMin;
10047 }
10049  if (_internal_has_lin_min()) {
10050  if (GetArenaForAllocation() == nullptr) {
10051  delete constraint_.lin_min_;
10052  }
10053  clear_has_constraint();
10054  }
10055 }
10056 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_min() {
10057  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_min)
10058  if (_internal_has_lin_min()) {
10059  clear_has_constraint();
10060  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
10061  if (GetArenaForAllocation() != nullptr) {
10062  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10063  }
10064  constraint_.lin_min_ = nullptr;
10065  return temp;
10066  } else {
10067  return nullptr;
10068  }
10069 }
10070 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_min() const {
10071  return _internal_has_lin_min()
10072  ? *constraint_.lin_min_
10073  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
10074 }
10075 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_min() const {
10076  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_min)
10077  return _internal_lin_min();
10078 }
10079 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_min() {
10080  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_min)
10081  if (_internal_has_lin_min()) {
10082  clear_has_constraint();
10083  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
10084  constraint_.lin_min_ = nullptr;
10085  return temp;
10086  } else {
10087  return nullptr;
10088  }
10089 }
10091  clear_constraint();
10092  if (lin_min) {
10093  set_has_lin_min();
10094  constraint_.lin_min_ = lin_min;
10095  }
10096  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_min)
10097 }
10098 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_min() {
10099  if (!_internal_has_lin_min()) {
10100  clear_constraint();
10101  set_has_lin_min();
10102  constraint_.lin_min_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArenaForAllocation());
10103  }
10104  return constraint_.lin_min_;
10105 }
10106 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_min() {
10107  ::operations_research::sat::LinearArgumentProto* _msg = _internal_mutable_lin_min();
10108  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_min)
10109  return _msg;
10110 }
10111 
10112 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
10113 inline bool ConstraintProto::_internal_has_int_prod() const {
10114  return constraint_case() == kIntProd;
10115 }
10116 inline bool ConstraintProto::has_int_prod() const {
10117  return _internal_has_int_prod();
10118 }
10119 inline void ConstraintProto::set_has_int_prod() {
10120  _oneof_case_[0] = kIntProd;
10121 }
10123  if (_internal_has_int_prod()) {
10124  if (GetArenaForAllocation() == nullptr) {
10125  delete constraint_.int_prod_;
10126  }
10127  clear_has_constraint();
10128  }
10129 }
10130 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_prod() {
10131  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
10132  if (_internal_has_int_prod()) {
10133  clear_has_constraint();
10134  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
10135  if (GetArenaForAllocation() != nullptr) {
10136  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10137  }
10138  constraint_.int_prod_ = nullptr;
10139  return temp;
10140  } else {
10141  return nullptr;
10142  }
10143 }
10144 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_prod() const {
10145  return _internal_has_int_prod()
10146  ? *constraint_.int_prod_
10147  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
10148 }
10149 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_prod() const {
10150  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
10151  return _internal_int_prod();
10152 }
10153 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_prod() {
10154  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
10155  if (_internal_has_int_prod()) {
10156  clear_has_constraint();
10157  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
10158  constraint_.int_prod_ = nullptr;
10159  return temp;
10160  } else {
10161  return nullptr;
10162  }
10163 }
10165  clear_constraint();
10166  if (int_prod) {
10167  set_has_int_prod();
10168  constraint_.int_prod_ = int_prod;
10169  }
10170  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
10171 }
10172 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_prod() {
10173  if (!_internal_has_int_prod()) {
10174  clear_constraint();
10175  set_has_int_prod();
10176  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArenaForAllocation());
10177  }
10178  return constraint_.int_prod_;
10179 }
10180 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_prod() {
10181  ::operations_research::sat::IntegerArgumentProto* _msg = _internal_mutable_int_prod();
10182  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
10183  return _msg;
10184 }
10185 
10186 // .operations_research.sat.LinearConstraintProto linear = 12;
10187 inline bool ConstraintProto::_internal_has_linear() const {
10188  return constraint_case() == kLinear;
10189 }
10190 inline bool ConstraintProto::has_linear() const {
10191  return _internal_has_linear();
10192 }
10193 inline void ConstraintProto::set_has_linear() {
10194  _oneof_case_[0] = kLinear;
10195 }
10197  if (_internal_has_linear()) {
10198  if (GetArenaForAllocation() == nullptr) {
10199  delete constraint_.linear_;
10200  }
10201  clear_has_constraint();
10202  }
10203 }
10204 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
10205  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
10206  if (_internal_has_linear()) {
10207  clear_has_constraint();
10208  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
10209  if (GetArenaForAllocation() != nullptr) {
10210  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10211  }
10212  constraint_.linear_ = nullptr;
10213  return temp;
10214  } else {
10215  return nullptr;
10216  }
10217 }
10218 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
10219  return _internal_has_linear()
10220  ? *constraint_.linear_
10221  : reinterpret_cast< ::operations_research::sat::LinearConstraintProto&>(::operations_research::sat::_LinearConstraintProto_default_instance_);
10222 }
10223 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
10224  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
10225  return _internal_linear();
10226 }
10227 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::unsafe_arena_release_linear() {
10228  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
10229  if (_internal_has_linear()) {
10230  clear_has_constraint();
10231  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
10232  constraint_.linear_ = nullptr;
10233  return temp;
10234  } else {
10235  return nullptr;
10236  }
10237 }
10239  clear_constraint();
10240  if (linear) {
10241  set_has_linear();
10242  constraint_.linear_ = linear;
10243  }
10244  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
10245 }
10246 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::_internal_mutable_linear() {
10247  if (!_internal_has_linear()) {
10248  clear_constraint();
10249  set_has_linear();
10250  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(GetArenaForAllocation());
10251  }
10252  return constraint_.linear_;
10253 }
10254 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
10255  ::operations_research::sat::LinearConstraintProto* _msg = _internal_mutable_linear();
10256  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
10257  return _msg;
10258 }
10259 
10260 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
10261 inline bool ConstraintProto::_internal_has_all_diff() const {
10262  return constraint_case() == kAllDiff;
10263 }
10264 inline bool ConstraintProto::has_all_diff() const {
10265  return _internal_has_all_diff();
10266 }
10267 inline void ConstraintProto::set_has_all_diff() {
10268  _oneof_case_[0] = kAllDiff;
10269 }
10271  if (_internal_has_all_diff()) {
10272  if (GetArenaForAllocation() == nullptr) {
10273  delete constraint_.all_diff_;
10274  }
10275  clear_has_constraint();
10276  }
10277 }
10278 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
10279  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
10280  if (_internal_has_all_diff()) {
10281  clear_has_constraint();
10282  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
10283  if (GetArenaForAllocation() != nullptr) {
10284  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10285  }
10286  constraint_.all_diff_ = nullptr;
10287  return temp;
10288  } else {
10289  return nullptr;
10290  }
10291 }
10292 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
10293  return _internal_has_all_diff()
10294  ? *constraint_.all_diff_
10295  : reinterpret_cast< ::operations_research::sat::AllDifferentConstraintProto&>(::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
10296 }
10297 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
10298  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
10299  return _internal_all_diff();
10300 }
10301 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::unsafe_arena_release_all_diff() {
10302  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
10303  if (_internal_has_all_diff()) {
10304  clear_has_constraint();
10305  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
10306  constraint_.all_diff_ = nullptr;
10307  return temp;
10308  } else {
10309  return nullptr;
10310  }
10311 }
10313  clear_constraint();
10314  if (all_diff) {
10315  set_has_all_diff();
10316  constraint_.all_diff_ = all_diff;
10317  }
10318  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
10319 }
10320 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::_internal_mutable_all_diff() {
10321  if (!_internal_has_all_diff()) {
10322  clear_constraint();
10323  set_has_all_diff();
10324  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(GetArenaForAllocation());
10325  }
10326  return constraint_.all_diff_;
10327 }
10328 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
10329  ::operations_research::sat::AllDifferentConstraintProto* _msg = _internal_mutable_all_diff();
10330  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
10331  return _msg;
10332 }
10333 
10334 // .operations_research.sat.ElementConstraintProto element = 14;
10335 inline bool ConstraintProto::_internal_has_element() const {
10336  return constraint_case() == kElement;
10337 }
10338 inline bool ConstraintProto::has_element() const {
10339  return _internal_has_element();
10340 }
10341 inline void ConstraintProto::set_has_element() {
10342  _oneof_case_[0] = kElement;
10343 }
10345  if (_internal_has_element()) {
10346  if (GetArenaForAllocation() == nullptr) {
10347  delete constraint_.element_;
10348  }
10349  clear_has_constraint();
10350  }
10351 }
10352 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
10353  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
10354  if (_internal_has_element()) {
10355  clear_has_constraint();
10356  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
10357  if (GetArenaForAllocation() != nullptr) {
10358  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10359  }
10360  constraint_.element_ = nullptr;
10361  return temp;
10362  } else {
10363  return nullptr;
10364  }
10365 }
10366 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
10367  return _internal_has_element()
10368  ? *constraint_.element_
10369  : reinterpret_cast< ::operations_research::sat::ElementConstraintProto&>(::operations_research::sat::_ElementConstraintProto_default_instance_);
10370 }
10371 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
10372  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
10373  return _internal_element();
10374 }
10375 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::unsafe_arena_release_element() {
10376  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
10377  if (_internal_has_element()) {
10378  clear_has_constraint();
10379  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
10380  constraint_.element_ = nullptr;
10381  return temp;
10382  } else {
10383  return nullptr;
10384  }
10385 }
10387  clear_constraint();
10388  if (element) {
10389  set_has_element();
10390  constraint_.element_ = element;
10391  }
10392  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
10393 }
10394 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::_internal_mutable_element() {
10395  if (!_internal_has_element()) {
10396  clear_constraint();
10397  set_has_element();
10398  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(GetArenaForAllocation());
10399  }
10400  return constraint_.element_;
10401 }
10402 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
10403  ::operations_research::sat::ElementConstraintProto* _msg = _internal_mutable_element();
10404  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
10405  return _msg;
10406 }
10407 
10408 // .operations_research.sat.CircuitConstraintProto circuit = 15;
10409 inline bool ConstraintProto::_internal_has_circuit() const {
10410  return constraint_case() == kCircuit;
10411 }
10412 inline bool ConstraintProto::has_circuit() const {
10413  return _internal_has_circuit();
10414 }
10415 inline void ConstraintProto::set_has_circuit() {
10416  _oneof_case_[0] = kCircuit;
10417 }
10419  if (_internal_has_circuit()) {
10420  if (GetArenaForAllocation() == nullptr) {
10421  delete constraint_.circuit_;
10422  }
10423  clear_has_constraint();
10424  }
10425 }
10426 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
10427  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
10428  if (_internal_has_circuit()) {
10429  clear_has_constraint();
10430  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10431  if (GetArenaForAllocation() != nullptr) {
10432  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10433  }
10434  constraint_.circuit_ = nullptr;
10435  return temp;
10436  } else {
10437  return nullptr;
10438  }
10439 }
10440 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
10441  return _internal_has_circuit()
10442  ? *constraint_.circuit_
10443  : reinterpret_cast< ::operations_research::sat::CircuitConstraintProto&>(::operations_research::sat::_CircuitConstraintProto_default_instance_);
10444 }
10445 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
10446  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
10447  return _internal_circuit();
10448 }
10449 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::unsafe_arena_release_circuit() {
10450  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
10451  if (_internal_has_circuit()) {
10452  clear_has_constraint();
10453  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10454  constraint_.circuit_ = nullptr;
10455  return temp;
10456  } else {
10457  return nullptr;
10458  }
10459 }
10461  clear_constraint();
10462  if (circuit) {
10463  set_has_circuit();
10464  constraint_.circuit_ = circuit;
10465  }
10466  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
10467 }
10468 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::_internal_mutable_circuit() {
10469  if (!_internal_has_circuit()) {
10470  clear_constraint();
10471  set_has_circuit();
10472  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(GetArenaForAllocation());
10473  }
10474  return constraint_.circuit_;
10475 }
10476 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
10477  ::operations_research::sat::CircuitConstraintProto* _msg = _internal_mutable_circuit();
10478  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
10479  return _msg;
10480 }
10481 
10482 // .operations_research.sat.RoutesConstraintProto routes = 23;
10483 inline bool ConstraintProto::_internal_has_routes() const {
10484  return constraint_case() == kRoutes;
10485 }
10486 inline bool ConstraintProto::has_routes() const {
10487  return _internal_has_routes();
10488 }
10489 inline void ConstraintProto::set_has_routes() {
10490  _oneof_case_[0] = kRoutes;
10491 }
10493  if (_internal_has_routes()) {
10494  if (GetArenaForAllocation() == nullptr) {
10495  delete constraint_.routes_;
10496  }
10497  clear_has_constraint();
10498  }
10499 }
10500 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
10501  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
10502  if (_internal_has_routes()) {
10503  clear_has_constraint();
10504  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10505  if (GetArenaForAllocation() != nullptr) {
10506  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10507  }
10508  constraint_.routes_ = nullptr;
10509  return temp;
10510  } else {
10511  return nullptr;
10512  }
10513 }
10514 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
10515  return _internal_has_routes()
10516  ? *constraint_.routes_
10517  : reinterpret_cast< ::operations_research::sat::RoutesConstraintProto&>(::operations_research::sat::_RoutesConstraintProto_default_instance_);
10518 }
10519 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
10520  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
10521  return _internal_routes();
10522 }
10523 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::unsafe_arena_release_routes() {
10524  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
10525  if (_internal_has_routes()) {
10526  clear_has_constraint();
10527  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10528  constraint_.routes_ = nullptr;
10529  return temp;
10530  } else {
10531  return nullptr;
10532  }
10533 }
10535  clear_constraint();
10536  if (routes) {
10537  set_has_routes();
10538  constraint_.routes_ = routes;
10539  }
10540  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
10541 }
10542 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::_internal_mutable_routes() {
10543  if (!_internal_has_routes()) {
10544  clear_constraint();
10545  set_has_routes();
10546  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(GetArenaForAllocation());
10547  }
10548  return constraint_.routes_;
10549 }
10550 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
10551  ::operations_research::sat::RoutesConstraintProto* _msg = _internal_mutable_routes();
10552  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
10553  return _msg;
10554 }
10555 
10556 // .operations_research.sat.TableConstraintProto table = 16;
10557 inline bool ConstraintProto::_internal_has_table() const {
10558  return constraint_case() == kTable;
10559 }
10560 inline bool ConstraintProto::has_table() const {
10561  return _internal_has_table();
10562 }
10563 inline void ConstraintProto::set_has_table() {
10564  _oneof_case_[0] = kTable;
10565 }
10567  if (_internal_has_table()) {
10568  if (GetArenaForAllocation() == nullptr) {
10569  delete constraint_.table_;
10570  }
10571  clear_has_constraint();
10572  }
10573 }
10574 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
10575  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
10576  if (_internal_has_table()) {
10577  clear_has_constraint();
10578  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10579  if (GetArenaForAllocation() != nullptr) {
10580  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10581  }
10582  constraint_.table_ = nullptr;
10583  return temp;
10584  } else {
10585  return nullptr;
10586  }
10587 }
10588 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
10589  return _internal_has_table()
10590  ? *constraint_.table_
10591  : reinterpret_cast< ::operations_research::sat::TableConstraintProto&>(::operations_research::sat::_TableConstraintProto_default_instance_);
10592 }
10593 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
10594  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
10595  return _internal_table();
10596 }
10597 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::unsafe_arena_release_table() {
10598  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
10599  if (_internal_has_table()) {
10600  clear_has_constraint();
10601  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10602  constraint_.table_ = nullptr;
10603  return temp;
10604  } else {
10605  return nullptr;
10606  }
10607 }
10609  clear_constraint();
10610  if (table) {
10611  set_has_table();
10612  constraint_.table_ = table;
10613  }
10614  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
10615 }
10616 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::_internal_mutable_table() {
10617  if (!_internal_has_table()) {
10618  clear_constraint();
10619  set_has_table();
10620  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(GetArenaForAllocation());
10621  }
10622  return constraint_.table_;
10623 }
10624 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
10625  ::operations_research::sat::TableConstraintProto* _msg = _internal_mutable_table();
10626  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
10627  return _msg;
10628 }
10629 
10630 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
10631 inline bool ConstraintProto::_internal_has_automaton() const {
10632  return constraint_case() == kAutomaton;
10633 }
10634 inline bool ConstraintProto::has_automaton() const {
10635  return _internal_has_automaton();
10636 }
10637 inline void ConstraintProto::set_has_automaton() {
10638  _oneof_case_[0] = kAutomaton;
10639 }
10641  if (_internal_has_automaton()) {
10642  if (GetArenaForAllocation() == nullptr) {
10643  delete constraint_.automaton_;
10644  }
10645  clear_has_constraint();
10646  }
10647 }
10648 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
10649  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
10650  if (_internal_has_automaton()) {
10651  clear_has_constraint();
10652  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10653  if (GetArenaForAllocation() != nullptr) {
10654  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10655  }
10656  constraint_.automaton_ = nullptr;
10657  return temp;
10658  } else {
10659  return nullptr;
10660  }
10661 }
10662 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
10663  return _internal_has_automaton()
10664  ? *constraint_.automaton_
10665  : reinterpret_cast< ::operations_research::sat::AutomatonConstraintProto&>(::operations_research::sat::_AutomatonConstraintProto_default_instance_);
10666 }
10667 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
10668  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
10669  return _internal_automaton();
10670 }
10671 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::unsafe_arena_release_automaton() {
10672  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
10673  if (_internal_has_automaton()) {
10674  clear_has_constraint();
10675  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10676  constraint_.automaton_ = nullptr;
10677  return temp;
10678  } else {
10679  return nullptr;
10680  }
10681 }
10683  clear_constraint();
10684  if (automaton) {
10685  set_has_automaton();
10686  constraint_.automaton_ = automaton;
10687  }
10688  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
10689 }
10690 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::_internal_mutable_automaton() {
10691  if (!_internal_has_automaton()) {
10692  clear_constraint();
10693  set_has_automaton();
10694  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(GetArenaForAllocation());
10695  }
10696  return constraint_.automaton_;
10697 }
10698 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
10699  ::operations_research::sat::AutomatonConstraintProto* _msg = _internal_mutable_automaton();
10700  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
10701  return _msg;
10702 }
10703 
10704 // .operations_research.sat.InverseConstraintProto inverse = 18;
10705 inline bool ConstraintProto::_internal_has_inverse() const {
10706  return constraint_case() == kInverse;
10707 }
10708 inline bool ConstraintProto::has_inverse() const {
10709  return _internal_has_inverse();
10710 }
10711 inline void ConstraintProto::set_has_inverse() {
10712  _oneof_case_[0] = kInverse;
10713 }
10715  if (_internal_has_inverse()) {
10716  if (GetArenaForAllocation() == nullptr) {
10717  delete constraint_.inverse_;
10718  }
10719  clear_has_constraint();
10720  }
10721 }
10722 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
10723  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
10724  if (_internal_has_inverse()) {
10725  clear_has_constraint();
10726  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10727  if (GetArenaForAllocation() != nullptr) {
10728  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10729  }
10730  constraint_.inverse_ = nullptr;
10731  return temp;
10732  } else {
10733  return nullptr;
10734  }
10735 }
10736 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
10737  return _internal_has_inverse()
10738  ? *constraint_.inverse_
10739  : reinterpret_cast< ::operations_research::sat::InverseConstraintProto&>(::operations_research::sat::_InverseConstraintProto_default_instance_);
10740 }
10741 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
10742  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
10743  return _internal_inverse();
10744 }
10745 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::unsafe_arena_release_inverse() {
10746  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
10747  if (_internal_has_inverse()) {
10748  clear_has_constraint();
10749  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10750  constraint_.inverse_ = nullptr;
10751  return temp;
10752  } else {
10753  return nullptr;
10754  }
10755 }
10757  clear_constraint();
10758  if (inverse) {
10759  set_has_inverse();
10760  constraint_.inverse_ = inverse;
10761  }
10762  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
10763 }
10764 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::_internal_mutable_inverse() {
10765  if (!_internal_has_inverse()) {
10766  clear_constraint();
10767  set_has_inverse();
10768  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(GetArenaForAllocation());
10769  }
10770  return constraint_.inverse_;
10771 }
10772 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
10773  ::operations_research::sat::InverseConstraintProto* _msg = _internal_mutable_inverse();
10774  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
10775  return _msg;
10776 }
10777 
10778 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
10779 inline bool ConstraintProto::_internal_has_reservoir() const {
10780  return constraint_case() == kReservoir;
10781 }
10782 inline bool ConstraintProto::has_reservoir() const {
10783  return _internal_has_reservoir();
10784 }
10785 inline void ConstraintProto::set_has_reservoir() {
10786  _oneof_case_[0] = kReservoir;
10787 }
10789  if (_internal_has_reservoir()) {
10790  if (GetArenaForAllocation() == nullptr) {
10791  delete constraint_.reservoir_;
10792  }
10793  clear_has_constraint();
10794  }
10795 }
10796 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
10797  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
10798  if (_internal_has_reservoir()) {
10799  clear_has_constraint();
10800  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10801  if (GetArenaForAllocation() != nullptr) {
10802  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10803  }
10804  constraint_.reservoir_ = nullptr;
10805  return temp;
10806  } else {
10807  return nullptr;
10808  }
10809 }
10810 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
10811  return _internal_has_reservoir()
10812  ? *constraint_.reservoir_
10813  : reinterpret_cast< ::operations_research::sat::ReservoirConstraintProto&>(::operations_research::sat::_ReservoirConstraintProto_default_instance_);
10814 }
10815 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
10816  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
10817  return _internal_reservoir();
10818 }
10819 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::unsafe_arena_release_reservoir() {
10820  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
10821  if (_internal_has_reservoir()) {
10822  clear_has_constraint();
10823  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10824  constraint_.reservoir_ = nullptr;
10825  return temp;
10826  } else {
10827  return nullptr;
10828  }
10829 }
10831  clear_constraint();
10832  if (reservoir) {
10833  set_has_reservoir();
10834  constraint_.reservoir_ = reservoir;
10835  }
10836  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
10837 }
10838 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::_internal_mutable_reservoir() {
10839  if (!_internal_has_reservoir()) {
10840  clear_constraint();
10841  set_has_reservoir();
10842  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(GetArenaForAllocation());
10843  }
10844  return constraint_.reservoir_;
10845 }
10846 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
10847  ::operations_research::sat::ReservoirConstraintProto* _msg = _internal_mutable_reservoir();
10848  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
10849  return _msg;
10850 }
10851 
10852 // .operations_research.sat.IntervalConstraintProto interval = 19;
10853 inline bool ConstraintProto::_internal_has_interval() const {
10854  return constraint_case() == kInterval;
10855 }
10856 inline bool ConstraintProto::has_interval() const {
10857  return _internal_has_interval();
10858 }
10859 inline void ConstraintProto::set_has_interval() {
10860  _oneof_case_[0] = kInterval;
10861 }
10863  if (_internal_has_interval()) {
10864  if (GetArenaForAllocation() == nullptr) {
10865  delete constraint_.interval_;
10866  }
10867  clear_has_constraint();
10868  }
10869 }
10870 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
10871  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
10872  if (_internal_has_interval()) {
10873  clear_has_constraint();
10874  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10875  if (GetArenaForAllocation() != nullptr) {
10876  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10877  }
10878  constraint_.interval_ = nullptr;
10879  return temp;
10880  } else {
10881  return nullptr;
10882  }
10883 }
10884 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
10885  return _internal_has_interval()
10886  ? *constraint_.interval_
10887  : reinterpret_cast< ::operations_research::sat::IntervalConstraintProto&>(::operations_research::sat::_IntervalConstraintProto_default_instance_);
10888 }
10889 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
10890  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
10891  return _internal_interval();
10892 }
10893 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::unsafe_arena_release_interval() {
10894  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
10895  if (_internal_has_interval()) {
10896  clear_has_constraint();
10897  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10898  constraint_.interval_ = nullptr;
10899  return temp;
10900  } else {
10901  return nullptr;
10902  }
10903 }
10905  clear_constraint();
10906  if (interval) {
10907  set_has_interval();
10908  constraint_.interval_ = interval;
10909  }
10910  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
10911 }
10912 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::_internal_mutable_interval() {
10913  if (!_internal_has_interval()) {
10914  clear_constraint();
10915  set_has_interval();
10916  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(GetArenaForAllocation());
10917  }
10918  return constraint_.interval_;
10919 }
10920 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
10921  ::operations_research::sat::IntervalConstraintProto* _msg = _internal_mutable_interval();
10922  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
10923  return _msg;
10924 }
10925 
10926 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
10927 inline bool ConstraintProto::_internal_has_no_overlap() const {
10928  return constraint_case() == kNoOverlap;
10929 }
10930 inline bool ConstraintProto::has_no_overlap() const {
10931  return _internal_has_no_overlap();
10932 }
10933 inline void ConstraintProto::set_has_no_overlap() {
10934  _oneof_case_[0] = kNoOverlap;
10935 }
10937  if (_internal_has_no_overlap()) {
10938  if (GetArenaForAllocation() == nullptr) {
10939  delete constraint_.no_overlap_;
10940  }
10941  clear_has_constraint();
10942  }
10943 }
10944 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
10945  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
10946  if (_internal_has_no_overlap()) {
10947  clear_has_constraint();
10948  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10949  if (GetArenaForAllocation() != nullptr) {
10950  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10951  }
10952  constraint_.no_overlap_ = nullptr;
10953  return temp;
10954  } else {
10955  return nullptr;
10956  }
10957 }
10958 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
10959  return _internal_has_no_overlap()
10960  ? *constraint_.no_overlap_
10961  : reinterpret_cast< ::operations_research::sat::NoOverlapConstraintProto&>(::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
10962 }
10963 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
10964  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
10965  return _internal_no_overlap();
10966 }
10967 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap() {
10968  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
10969  if (_internal_has_no_overlap()) {
10970  clear_has_constraint();
10971  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10972  constraint_.no_overlap_ = nullptr;
10973  return temp;
10974  } else {
10975  return nullptr;
10976  }
10977 }
10979  clear_constraint();
10980  if (no_overlap) {
10981  set_has_no_overlap();
10982  constraint_.no_overlap_ = no_overlap;
10983  }
10984  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
10985 }
10986 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::_internal_mutable_no_overlap() {
10987  if (!_internal_has_no_overlap()) {
10988  clear_constraint();
10989  set_has_no_overlap();
10990  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(GetArenaForAllocation());
10991  }
10992  return constraint_.no_overlap_;
10993 }
10994 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
10995  ::operations_research::sat::NoOverlapConstraintProto* _msg = _internal_mutable_no_overlap();
10996  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
10997  return _msg;
10998 }
10999 
11000 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
11001 inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
11002  return constraint_case() == kNoOverlap2D;
11003 }
11005  return _internal_has_no_overlap_2d();
11006 }
11007 inline void ConstraintProto::set_has_no_overlap_2d() {
11008  _oneof_case_[0] = kNoOverlap2D;
11009 }
11011  if (_internal_has_no_overlap_2d()) {
11012  if (GetArenaForAllocation() == nullptr) {
11013  delete constraint_.no_overlap_2d_;
11014  }
11015  clear_has_constraint();
11016  }
11017 }
11018 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
11019  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
11020  if (_internal_has_no_overlap_2d()) {
11021  clear_has_constraint();
11022  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
11023  if (GetArenaForAllocation() != nullptr) {
11024  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11025  }
11026  constraint_.no_overlap_2d_ = nullptr;
11027  return temp;
11028  } else {
11029  return nullptr;
11030  }
11031 }
11032 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
11033  return _internal_has_no_overlap_2d()
11034  ? *constraint_.no_overlap_2d_
11035  : reinterpret_cast< ::operations_research::sat::NoOverlap2DConstraintProto&>(::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
11036 }
11037 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
11038  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
11039  return _internal_no_overlap_2d();
11040 }
11041 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap_2d() {
11042  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
11043  if (_internal_has_no_overlap_2d()) {
11044  clear_has_constraint();
11045  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
11046  constraint_.no_overlap_2d_ = nullptr;
11047  return temp;
11048  } else {
11049  return nullptr;
11050  }
11051 }
11053  clear_constraint();
11054  if (no_overlap_2d) {
11055  set_has_no_overlap_2d();
11056  constraint_.no_overlap_2d_ = no_overlap_2d;
11057  }
11058  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
11059 }
11060 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::_internal_mutable_no_overlap_2d() {
11061  if (!_internal_has_no_overlap_2d()) {
11062  clear_constraint();
11063  set_has_no_overlap_2d();
11064  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(GetArenaForAllocation());
11065  }
11066  return constraint_.no_overlap_2d_;
11067 }
11068 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
11069  ::operations_research::sat::NoOverlap2DConstraintProto* _msg = _internal_mutable_no_overlap_2d();
11070  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
11071  return _msg;
11072 }
11073 
11074 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
11075 inline bool ConstraintProto::_internal_has_cumulative() const {
11076  return constraint_case() == kCumulative;
11077 }
11078 inline bool ConstraintProto::has_cumulative() const {
11079  return _internal_has_cumulative();
11080 }
11081 inline void ConstraintProto::set_has_cumulative() {
11082  _oneof_case_[0] = kCumulative;
11083 }
11085  if (_internal_has_cumulative()) {
11086  if (GetArenaForAllocation() == nullptr) {
11087  delete constraint_.cumulative_;
11088  }
11089  clear_has_constraint();
11090  }
11091 }
11092 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
11093  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
11094  if (_internal_has_cumulative()) {
11095  clear_has_constraint();
11096  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
11097  if (GetArenaForAllocation() != nullptr) {
11098  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11099  }
11100  constraint_.cumulative_ = nullptr;
11101  return temp;
11102  } else {
11103  return nullptr;
11104  }
11105 }
11106 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
11107  return _internal_has_cumulative()
11108  ? *constraint_.cumulative_
11109  : reinterpret_cast< ::operations_research::sat::CumulativeConstraintProto&>(::operations_research::sat::_CumulativeConstraintProto_default_instance_);
11110 }
11111 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
11112  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
11113  return _internal_cumulative();
11114 }
11115 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::unsafe_arena_release_cumulative() {
11116  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
11117  if (_internal_has_cumulative()) {
11118  clear_has_constraint();
11119  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
11120  constraint_.cumulative_ = nullptr;
11121  return temp;
11122  } else {
11123  return nullptr;
11124  }
11125 }
11127  clear_constraint();
11128  if (cumulative) {
11129  set_has_cumulative();
11130  constraint_.cumulative_ = cumulative;
11131  }
11132  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
11133 }
11134 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::_internal_mutable_cumulative() {
11135  if (!_internal_has_cumulative()) {
11136  clear_constraint();
11137  set_has_cumulative();
11138  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(GetArenaForAllocation());
11139  }
11140  return constraint_.cumulative_;
11141 }
11142 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
11143  ::operations_research::sat::CumulativeConstraintProto* _msg = _internal_mutable_cumulative();
11144  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
11145  return _msg;
11146 }
11147 
11148 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
11149 inline bool ConstraintProto::_internal_has_dummy_constraint() const {
11150  return constraint_case() == kDummyConstraint;
11151 }
11153  return _internal_has_dummy_constraint();
11154 }
11155 inline void ConstraintProto::set_has_dummy_constraint() {
11156  _oneof_case_[0] = kDummyConstraint;
11157 }
11159  if (_internal_has_dummy_constraint()) {
11160  if (GetArenaForAllocation() == nullptr) {
11161  delete constraint_.dummy_constraint_;
11162  }
11163  clear_has_constraint();
11164  }
11165 }
11166 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::release_dummy_constraint() {
11167  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.dummy_constraint)
11168  if (_internal_has_dummy_constraint()) {
11169  clear_has_constraint();
11170  ::operations_research::sat::ListOfVariablesProto* temp = constraint_.dummy_constraint_;
11171  if (GetArenaForAllocation() != nullptr) {
11172  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11173  }
11174  constraint_.dummy_constraint_ = nullptr;
11175  return temp;
11176  } else {
11177  return nullptr;
11178  }
11179 }
11180 inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::_internal_dummy_constraint() const {
11181  return _internal_has_dummy_constraint()
11182  ? *constraint_.dummy_constraint_
11183  : reinterpret_cast< ::operations_research::sat::ListOfVariablesProto&>(::operations_research::sat::_ListOfVariablesProto_default_instance_);
11184 }
11185 inline const ::operations_research::sat::ListOfVariablesProto& ConstraintProto::dummy_constraint() const {
11186  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.dummy_constraint)
11187  return _internal_dummy_constraint();
11188 }
11189 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::unsafe_arena_release_dummy_constraint() {
11190  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.dummy_constraint)
11191  if (_internal_has_dummy_constraint()) {
11192  clear_has_constraint();
11193  ::operations_research::sat::ListOfVariablesProto* temp = constraint_.dummy_constraint_;
11194  constraint_.dummy_constraint_ = nullptr;
11195  return temp;
11196  } else {
11197  return nullptr;
11198  }
11199 }
11201  clear_constraint();
11202  if (dummy_constraint) {
11203  set_has_dummy_constraint();
11204  constraint_.dummy_constraint_ = dummy_constraint;
11205  }
11206  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.dummy_constraint)
11207 }
11208 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::_internal_mutable_dummy_constraint() {
11209  if (!_internal_has_dummy_constraint()) {
11210  clear_constraint();
11211  set_has_dummy_constraint();
11212  constraint_.dummy_constraint_ = CreateMaybeMessage< ::operations_research::sat::ListOfVariablesProto >(GetArenaForAllocation());
11213  }
11214  return constraint_.dummy_constraint_;
11215 }
11216 inline ::operations_research::sat::ListOfVariablesProto* ConstraintProto::mutable_dummy_constraint() {
11217  ::operations_research::sat::ListOfVariablesProto* _msg = _internal_mutable_dummy_constraint();
11218  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.dummy_constraint)
11219  return _msg;
11220 }
11221 
11222 inline bool ConstraintProto::has_constraint() const {
11223  return constraint_case() != CONSTRAINT_NOT_SET;
11224 }
11225 inline void ConstraintProto::clear_has_constraint() {
11226  _oneof_case_[0] = CONSTRAINT_NOT_SET;
11227 }
11229  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
11230 }
11231 // -------------------------------------------------------------------
11232 
11233 // CpObjectiveProto
11234 
11235 // repeated int32 vars = 1;
11236 inline int CpObjectiveProto::_internal_vars_size() const {
11237  return vars_.size();
11238 }
11239 inline int CpObjectiveProto::vars_size() const {
11240  return _internal_vars_size();
11241 }
11243  vars_.Clear();
11244 }
11245 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::_internal_vars(int index) const {
11246  return vars_.Get(index);
11247 }
11248 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::vars(int index) const {
11249  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
11250  return _internal_vars(index);
11251 }
11252 inline void CpObjectiveProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11253  vars_.Set(index, value);
11254  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
11255 }
11256 inline void CpObjectiveProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11257  vars_.Add(value);
11258 }
11259 inline void CpObjectiveProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11260  _internal_add_vars(value);
11261  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
11262 }
11263 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11264 CpObjectiveProto::_internal_vars() const {
11265  return vars_;
11266 }
11267 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11269  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
11270  return _internal_vars();
11271 }
11272 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11273 CpObjectiveProto::_internal_mutable_vars() {
11274  return &vars_;
11275 }
11276 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11278  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
11279  return _internal_mutable_vars();
11280 }
11281 
11282 // repeated int64 coeffs = 4;
11283 inline int CpObjectiveProto::_internal_coeffs_size() const {
11284  return coeffs_.size();
11285 }
11286 inline int CpObjectiveProto::coeffs_size() const {
11287  return _internal_coeffs_size();
11288 }
11290  coeffs_.Clear();
11291 }
11292 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_coeffs(int index) const {
11293  return coeffs_.Get(index);
11294 }
11295 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::coeffs(int index) const {
11296  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
11297  return _internal_coeffs(index);
11298 }
11299 inline void CpObjectiveProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11300  coeffs_.Set(index, value);
11301  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
11302 }
11303 inline void CpObjectiveProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
11304  coeffs_.Add(value);
11305 }
11306 inline void CpObjectiveProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
11307  _internal_add_coeffs(value);
11308  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
11309 }
11310 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11311 CpObjectiveProto::_internal_coeffs() const {
11312  return coeffs_;
11313 }
11314 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11316  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
11317  return _internal_coeffs();
11318 }
11319 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11320 CpObjectiveProto::_internal_mutable_coeffs() {
11321  return &coeffs_;
11322 }
11323 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11325  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
11326  return _internal_mutable_coeffs();
11327 }
11328 
11329 // double offset = 2;
11331  offset_ = 0;
11332 }
11333 inline double CpObjectiveProto::_internal_offset() const {
11334  return offset_;
11335 }
11336 inline double CpObjectiveProto::offset() const {
11337  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
11338  return _internal_offset();
11339 }
11340 inline void CpObjectiveProto::_internal_set_offset(double value) {
11341 
11342  offset_ = value;
11343 }
11345  _internal_set_offset(value);
11346  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
11347 }
11348 
11349 // double scaling_factor = 3;
11351  scaling_factor_ = 0;
11352 }
11353 inline double CpObjectiveProto::_internal_scaling_factor() const {
11354  return scaling_factor_;
11355 }
11356 inline double CpObjectiveProto::scaling_factor() const {
11357  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
11358  return _internal_scaling_factor();
11359 }
11360 inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
11361 
11362  scaling_factor_ = value;
11363 }
11365  _internal_set_scaling_factor(value);
11366  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
11367 }
11368 
11369 // repeated int64 domain = 5;
11370 inline int CpObjectiveProto::_internal_domain_size() const {
11371  return domain_.size();
11372 }
11373 inline int CpObjectiveProto::domain_size() const {
11374  return _internal_domain_size();
11375 }
11377  domain_.Clear();
11378 }
11379 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_domain(int index) const {
11380  return domain_.Get(index);
11381 }
11382 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::domain(int index) const {
11383  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
11384  return _internal_domain(index);
11385 }
11386 inline void CpObjectiveProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11387  domain_.Set(index, value);
11388  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
11389 }
11390 inline void CpObjectiveProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
11391  domain_.Add(value);
11392 }
11393 inline void CpObjectiveProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
11394  _internal_add_domain(value);
11395  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
11396 }
11397 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11398 CpObjectiveProto::_internal_domain() const {
11399  return domain_;
11400 }
11401 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11403  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
11404  return _internal_domain();
11405 }
11406 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11407 CpObjectiveProto::_internal_mutable_domain() {
11408  return &domain_;
11409 }
11410 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11412  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
11413  return _internal_mutable_domain();
11414 }
11415 
11416 // -------------------------------------------------------------------
11417 
11418 // DecisionStrategyProto_AffineTransformation
11419 
11420 // int32 index = 1;
11422  index_ = 0;
11423 }
11424 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::_internal_index() const {
11425  return index_;
11426 }
11427 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::index() const {
11428  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.index)
11429  return _internal_index();
11430 }
11431 inline void DecisionStrategyProto_AffineTransformation::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
11432 
11433  index_ = value;
11434 }
11435 inline void DecisionStrategyProto_AffineTransformation::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
11436  _internal_set_index(value);
11437  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.index)
11438 }
11439 
11440 // int64 offset = 2;
11442  offset_ = int64_t{0};
11443 }
11444 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_offset() const {
11445  return offset_;
11446 }
11447 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::offset() const {
11448  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
11449  return _internal_offset();
11450 }
11451 inline void DecisionStrategyProto_AffineTransformation::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
11452 
11453  offset_ = value;
11454 }
11455 inline void DecisionStrategyProto_AffineTransformation::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
11456  _internal_set_offset(value);
11457  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
11458 }
11459 
11460 // int64 positive_coeff = 3;
11462  positive_coeff_ = int64_t{0};
11463 }
11464 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_positive_coeff() const {
11465  return positive_coeff_;
11466 }
11467 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::positive_coeff() const {
11468  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11469  return _internal_positive_coeff();
11470 }
11471 inline void DecisionStrategyProto_AffineTransformation::_internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
11472 
11473  positive_coeff_ = value;
11474 }
11475 inline void DecisionStrategyProto_AffineTransformation::set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
11476  _internal_set_positive_coeff(value);
11477  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11478 }
11479 
11480 // -------------------------------------------------------------------
11481 
11482 // DecisionStrategyProto
11483 
11484 // repeated int32 variables = 1;
11485 inline int DecisionStrategyProto::_internal_variables_size() const {
11486  return variables_.size();
11487 }
11489  return _internal_variables_size();
11490 }
11492  variables_.Clear();
11493 }
11494 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::_internal_variables(int index) const {
11495  return variables_.Get(index);
11496 }
11497 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::variables(int index) const {
11498  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
11499  return _internal_variables(index);
11500 }
11501 inline void DecisionStrategyProto::set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11502  variables_.Set(index, value);
11503  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
11504 }
11505 inline void DecisionStrategyProto::_internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
11506  variables_.Add(value);
11507 }
11508 inline void DecisionStrategyProto::add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
11509  _internal_add_variables(value);
11510  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
11511 }
11512 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11513 DecisionStrategyProto::_internal_variables() const {
11514  return variables_;
11515 }
11516 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11518  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
11519  return _internal_variables();
11520 }
11521 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11522 DecisionStrategyProto::_internal_mutable_variables() {
11523  return &variables_;
11524 }
11525 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11527  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
11528  return _internal_mutable_variables();
11529 }
11530 
11531 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
11533  variable_selection_strategy_ = 0;
11534 }
11535 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
11536  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
11537 }
11539  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11540  return _internal_variable_selection_strategy();
11541 }
11542 inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
11543 
11544  variable_selection_strategy_ = value;
11545 }
11547  _internal_set_variable_selection_strategy(value);
11548  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11549 }
11550 
11551 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
11553  domain_reduction_strategy_ = 0;
11554 }
11555 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
11556  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
11557 }
11559  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11560  return _internal_domain_reduction_strategy();
11561 }
11562 inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
11563 
11564  domain_reduction_strategy_ = value;
11565 }
11567  _internal_set_domain_reduction_strategy(value);
11568  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11569 }
11570 
11571 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
11572 inline int DecisionStrategyProto::_internal_transformations_size() const {
11573  return transformations_.size();
11574 }
11576  return _internal_transformations_size();
11577 }
11579  transformations_.Clear();
11580 }
11581 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
11582  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
11583  return transformations_.Mutable(index);
11584 }
11585 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
11587  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
11588  return &transformations_;
11589 }
11590 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::_internal_transformations(int index) const {
11591  return transformations_.Get(index);
11592 }
11593 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
11594  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
11595  return _internal_transformations(index);
11596 }
11597 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::_internal_add_transformations() {
11598  return transformations_.Add();
11599 }
11600 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
11601  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* _add = _internal_add_transformations();
11602  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
11603  return _add;
11604 }
11605 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
11607  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
11608  return transformations_;
11609 }
11610 
11611 // -------------------------------------------------------------------
11612 
11613 // PartialVariableAssignment
11614 
11615 // repeated int32 vars = 1;
11616 inline int PartialVariableAssignment::_internal_vars_size() const {
11617  return vars_.size();
11618 }
11620  return _internal_vars_size();
11621 }
11623  vars_.Clear();
11624 }
11625 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::_internal_vars(int index) const {
11626  return vars_.Get(index);
11627 }
11628 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::vars(int index) const {
11629  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
11630  return _internal_vars(index);
11631 }
11632 inline void PartialVariableAssignment::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11633  vars_.Set(index, value);
11634  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
11635 }
11636 inline void PartialVariableAssignment::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11637  vars_.Add(value);
11638 }
11639 inline void PartialVariableAssignment::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11640  _internal_add_vars(value);
11641  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
11642 }
11643 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11644 PartialVariableAssignment::_internal_vars() const {
11645  return vars_;
11646 }
11647 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11649  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
11650  return _internal_vars();
11651 }
11652 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11653 PartialVariableAssignment::_internal_mutable_vars() {
11654  return &vars_;
11655 }
11656 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11658  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
11659  return _internal_mutable_vars();
11660 }
11661 
11662 // repeated int64 values = 2;
11663 inline int PartialVariableAssignment::_internal_values_size() const {
11664  return values_.size();
11665 }
11667  return _internal_values_size();
11668 }
11670  values_.Clear();
11671 }
11672 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::_internal_values(int index) const {
11673  return values_.Get(index);
11674 }
11675 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::values(int index) const {
11676  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
11677  return _internal_values(index);
11678 }
11679 inline void PartialVariableAssignment::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11680  values_.Set(index, value);
11681  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
11682 }
11683 inline void PartialVariableAssignment::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
11684  values_.Add(value);
11685 }
11686 inline void PartialVariableAssignment::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
11687  _internal_add_values(value);
11688  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
11689 }
11690 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11691 PartialVariableAssignment::_internal_values() const {
11692  return values_;
11693 }
11694 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11696  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
11697  return _internal_values();
11698 }
11699 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11700 PartialVariableAssignment::_internal_mutable_values() {
11701  return &values_;
11702 }
11703 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11705  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
11706  return _internal_mutable_values();
11707 }
11708 
11709 // -------------------------------------------------------------------
11710 
11711 // SparsePermutationProto
11712 
11713 // repeated int32 support = 1;
11714 inline int SparsePermutationProto::_internal_support_size() const {
11715  return support_.size();
11716 }
11718  return _internal_support_size();
11719 }
11721  support_.Clear();
11722 }
11723 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::_internal_support(int index) const {
11724  return support_.Get(index);
11725 }
11726 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::support(int index) const {
11727  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.support)
11728  return _internal_support(index);
11729 }
11730 inline void SparsePermutationProto::set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11731  support_.Set(index, value);
11732  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.support)
11733 }
11734 inline void SparsePermutationProto::_internal_add_support(::PROTOBUF_NAMESPACE_ID::int32 value) {
11735  support_.Add(value);
11736 }
11737 inline void SparsePermutationProto::add_support(::PROTOBUF_NAMESPACE_ID::int32 value) {
11738  _internal_add_support(value);
11739  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.support)
11740 }
11741 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11742 SparsePermutationProto::_internal_support() const {
11743  return support_;
11744 }
11745 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11747  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.support)
11748  return _internal_support();
11749 }
11750 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11751 SparsePermutationProto::_internal_mutable_support() {
11752  return &support_;
11753 }
11754 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11756  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.support)
11757  return _internal_mutable_support();
11758 }
11759 
11760 // repeated int32 cycle_sizes = 2;
11761 inline int SparsePermutationProto::_internal_cycle_sizes_size() const {
11762  return cycle_sizes_.size();
11763 }
11765  return _internal_cycle_sizes_size();
11766 }
11768  cycle_sizes_.Clear();
11769 }
11770 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::_internal_cycle_sizes(int index) const {
11771  return cycle_sizes_.Get(index);
11772 }
11773 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::cycle_sizes(int index) const {
11774  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.cycle_sizes)
11775  return _internal_cycle_sizes(index);
11776 }
11777 inline void SparsePermutationProto::set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11778  cycle_sizes_.Set(index, value);
11779  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.cycle_sizes)
11780 }
11781 inline void SparsePermutationProto::_internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value) {
11782  cycle_sizes_.Add(value);
11783 }
11784 inline void SparsePermutationProto::add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value) {
11785  _internal_add_cycle_sizes(value);
11786  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.cycle_sizes)
11787 }
11788 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11789 SparsePermutationProto::_internal_cycle_sizes() const {
11790  return cycle_sizes_;
11791 }
11792 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11794  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11795  return _internal_cycle_sizes();
11796 }
11797 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11798 SparsePermutationProto::_internal_mutable_cycle_sizes() {
11799  return &cycle_sizes_;
11800 }
11801 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11803  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11804  return _internal_mutable_cycle_sizes();
11805 }
11806 
11807 // -------------------------------------------------------------------
11808 
11809 // DenseMatrixProto
11810 
11811 // int32 num_rows = 1;
11813  num_rows_ = 0;
11814 }
11815 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_num_rows() const {
11816  return num_rows_;
11817 }
11818 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::num_rows() const {
11819  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_rows)
11820  return _internal_num_rows();
11821 }
11822 inline void DenseMatrixProto::_internal_set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value) {
11823 
11824  num_rows_ = value;
11825 }
11826 inline void DenseMatrixProto::set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value) {
11827  _internal_set_num_rows(value);
11828  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_rows)
11829 }
11830 
11831 // int32 num_cols = 2;
11833  num_cols_ = 0;
11834 }
11835 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_num_cols() const {
11836  return num_cols_;
11837 }
11838 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::num_cols() const {
11839  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_cols)
11840  return _internal_num_cols();
11841 }
11842 inline void DenseMatrixProto::_internal_set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value) {
11843 
11844  num_cols_ = value;
11845 }
11846 inline void DenseMatrixProto::set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value) {
11847  _internal_set_num_cols(value);
11848  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_cols)
11849 }
11850 
11851 // repeated int32 entries = 3;
11852 inline int DenseMatrixProto::_internal_entries_size() const {
11853  return entries_.size();
11854 }
11856  return _internal_entries_size();
11857 }
11859  entries_.Clear();
11860 }
11861 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_entries(int index) const {
11862  return entries_.Get(index);
11863 }
11864 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::entries(int index) const {
11865  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.entries)
11866  return _internal_entries(index);
11867 }
11868 inline void DenseMatrixProto::set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11869  entries_.Set(index, value);
11870  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.entries)
11871 }
11872 inline void DenseMatrixProto::_internal_add_entries(::PROTOBUF_NAMESPACE_ID::int32 value) {
11873  entries_.Add(value);
11874 }
11875 inline void DenseMatrixProto::add_entries(::PROTOBUF_NAMESPACE_ID::int32 value) {
11876  _internal_add_entries(value);
11877  // @@protoc_insertion_point(field_add:operations_research.sat.DenseMatrixProto.entries)
11878 }
11879 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11880 DenseMatrixProto::_internal_entries() const {
11881  return entries_;
11882 }
11883 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11885  // @@protoc_insertion_point(field_list:operations_research.sat.DenseMatrixProto.entries)
11886  return _internal_entries();
11887 }
11888 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11889 DenseMatrixProto::_internal_mutable_entries() {
11890  return &entries_;
11891 }
11892 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11894  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DenseMatrixProto.entries)
11895  return _internal_mutable_entries();
11896 }
11897 
11898 // -------------------------------------------------------------------
11899 
11900 // SymmetryProto
11901 
11902 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
11903 inline int SymmetryProto::_internal_permutations_size() const {
11904  return permutations_.size();
11905 }
11907  return _internal_permutations_size();
11908 }
11910  permutations_.Clear();
11911 }
11912 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::mutable_permutations(int index) {
11913  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.permutations)
11914  return permutations_.Mutable(index);
11915 }
11916 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
11918  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.permutations)
11919  return &permutations_;
11920 }
11921 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::_internal_permutations(int index) const {
11922  return permutations_.Get(index);
11923 }
11924 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::permutations(int index) const {
11925  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.permutations)
11926  return _internal_permutations(index);
11927 }
11928 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::_internal_add_permutations() {
11929  return permutations_.Add();
11930 }
11931 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::add_permutations() {
11932  ::operations_research::sat::SparsePermutationProto* _add = _internal_add_permutations();
11933  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.permutations)
11934  return _add;
11935 }
11936 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
11938  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.permutations)
11939  return permutations_;
11940 }
11941 
11942 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
11943 inline int SymmetryProto::_internal_orbitopes_size() const {
11944  return orbitopes_.size();
11945 }
11946 inline int SymmetryProto::orbitopes_size() const {
11947  return _internal_orbitopes_size();
11948 }
11950  orbitopes_.Clear();
11951 }
11952 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::mutable_orbitopes(int index) {
11953  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.orbitopes)
11954  return orbitopes_.Mutable(index);
11955 }
11956 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
11958  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.orbitopes)
11959  return &orbitopes_;
11960 }
11961 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::_internal_orbitopes(int index) const {
11962  return orbitopes_.Get(index);
11963 }
11964 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::orbitopes(int index) const {
11965  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.orbitopes)
11966  return _internal_orbitopes(index);
11967 }
11968 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::_internal_add_orbitopes() {
11969  return orbitopes_.Add();
11970 }
11971 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::add_orbitopes() {
11972  ::operations_research::sat::DenseMatrixProto* _add = _internal_add_orbitopes();
11973  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.orbitopes)
11974  return _add;
11975 }
11976 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
11978  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.orbitopes)
11979  return orbitopes_;
11980 }
11981 
11982 // -------------------------------------------------------------------
11983 
11984 // CpModelProto
11985 
11986 // string name = 1;
11988  name_.ClearToEmpty();
11989 }
11990 inline const std::string& CpModelProto::name() const {
11991  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
11992  return _internal_name();
11993 }
11994 template <typename ArgT0, typename... ArgT>
11995 inline PROTOBUF_ALWAYS_INLINE
11996 void CpModelProto::set_name(ArgT0&& arg0, ArgT... args) {
11997 
11998  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
11999  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
12000 }
12001 inline std::string* CpModelProto::mutable_name() {
12002  std::string* _s = _internal_mutable_name();
12003  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
12004  return _s;
12005 }
12006 inline const std::string& CpModelProto::_internal_name() const {
12007  return name_.Get();
12008 }
12009 inline void CpModelProto::_internal_set_name(const std::string& value) {
12010 
12011  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
12012 }
12013 inline std::string* CpModelProto::_internal_mutable_name() {
12014 
12015  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
12016 }
12017 inline std::string* CpModelProto::release_name() {
12018  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
12019  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
12020 }
12021 inline void CpModelProto::set_allocated_name(std::string* name) {
12022  if (name != nullptr) {
12023 
12024  } else {
12025 
12026  }
12027  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
12028  GetArenaForAllocation());
12029  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
12030 }
12031 
12032 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
12033 inline int CpModelProto::_internal_variables_size() const {
12034  return variables_.size();
12035 }
12036 inline int CpModelProto::variables_size() const {
12037  return _internal_variables_size();
12038 }
12040  variables_.Clear();
12041 }
12042 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
12043  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
12044  return variables_.Mutable(index);
12045 }
12046 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
12048  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
12049  return &variables_;
12050 }
12051 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::_internal_variables(int index) const {
12052  return variables_.Get(index);
12053 }
12054 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
12055  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
12056  return _internal_variables(index);
12057 }
12058 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::_internal_add_variables() {
12059  return variables_.Add();
12060 }
12061 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
12062  ::operations_research::sat::IntegerVariableProto* _add = _internal_add_variables();
12063  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
12064  return _add;
12065 }
12066 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
12068  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
12069  return variables_;
12070 }
12071 
12072 // repeated .operations_research.sat.ConstraintProto constraints = 3;
12073 inline int CpModelProto::_internal_constraints_size() const {
12074  return constraints_.size();
12075 }
12077  return _internal_constraints_size();
12078 }
12080  constraints_.Clear();
12081 }
12082 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
12083  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
12084  return constraints_.Mutable(index);
12085 }
12086 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
12088  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
12089  return &constraints_;
12090 }
12091 inline const ::operations_research::sat::ConstraintProto& CpModelProto::_internal_constraints(int index) const {
12092  return constraints_.Get(index);
12093 }
12094 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
12095  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
12096  return _internal_constraints(index);
12097 }
12098 inline ::operations_research::sat::ConstraintProto* CpModelProto::_internal_add_constraints() {
12099  return constraints_.Add();
12100 }
12101 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
12102  ::operations_research::sat::ConstraintProto* _add = _internal_add_constraints();
12103  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
12104  return _add;
12105 }
12106 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
12108  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
12109  return constraints_;
12110 }
12111 
12112 // .operations_research.sat.CpObjectiveProto objective = 4;
12113 inline bool CpModelProto::_internal_has_objective() const {
12114  return this != internal_default_instance() && objective_ != nullptr;
12115 }
12116 inline bool CpModelProto::has_objective() const {
12117  return _internal_has_objective();
12118 }
12120  if (GetArenaForAllocation() == nullptr && objective_ != nullptr) {
12121  delete objective_;
12122  }
12123  objective_ = nullptr;
12124 }
12125 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
12126  const ::operations_research::sat::CpObjectiveProto* p = objective_;
12127  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::CpObjectiveProto&>(
12129 }
12130 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
12131  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
12132  return _internal_objective();
12133 }
12136  if (GetArenaForAllocation() == nullptr) {
12137  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
12138  }
12140  if (objective) {
12141 
12142  } else {
12143 
12144  }
12145  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
12146 }
12147 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
12148 
12150  objective_ = nullptr;
12151 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12152  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
12153  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12154  if (GetArenaForAllocation() == nullptr) { delete old; }
12155 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
12156  if (GetArenaForAllocation() != nullptr) {
12157  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12158  }
12159 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
12160  return temp;
12161 }
12162 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::unsafe_arena_release_objective() {
12163  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
12164 
12166  objective_ = nullptr;
12167  return temp;
12168 }
12169 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::_internal_mutable_objective() {
12170 
12171  if (objective_ == nullptr) {
12172  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArenaForAllocation());
12173  objective_ = p;
12174  }
12175  return objective_;
12176 }
12177 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
12178  ::operations_research::sat::CpObjectiveProto* _msg = _internal_mutable_objective();
12179  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
12180  return _msg;
12181 }
12183  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
12184  if (message_arena == nullptr) {
12185  delete objective_;
12186  }
12187  if (objective) {
12188  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12189  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::CpObjectiveProto>::GetOwningArena(objective);
12190  if (message_arena != submessage_arena) {
12191  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12192  message_arena, objective, submessage_arena);
12193  }
12194 
12195  } else {
12196 
12197  }
12199  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
12200 }
12201 
12202 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
12203 inline int CpModelProto::_internal_search_strategy_size() const {
12204  return search_strategy_.size();
12205 }
12207  return _internal_search_strategy_size();
12208 }
12210  search_strategy_.Clear();
12211 }
12212 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
12213  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
12214  return search_strategy_.Mutable(index);
12215 }
12216 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
12218  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
12219  return &search_strategy_;
12220 }
12221 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::_internal_search_strategy(int index) const {
12222  return search_strategy_.Get(index);
12223 }
12224 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
12225  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
12226  return _internal_search_strategy(index);
12227 }
12228 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::_internal_add_search_strategy() {
12229  return search_strategy_.Add();
12230 }
12231 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
12232  ::operations_research::sat::DecisionStrategyProto* _add = _internal_add_search_strategy();
12233  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
12234  return _add;
12235 }
12236 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
12238  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
12239  return search_strategy_;
12240 }
12241 
12242 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
12243 inline bool CpModelProto::_internal_has_solution_hint() const {
12244  return this != internal_default_instance() && solution_hint_ != nullptr;
12245 }
12246 inline bool CpModelProto::has_solution_hint() const {
12247  return _internal_has_solution_hint();
12248 }
12250  if (GetArenaForAllocation() == nullptr && solution_hint_ != nullptr) {
12251  delete solution_hint_;
12252  }
12253  solution_hint_ = nullptr;
12254 }
12255 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
12256  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
12257  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment&>(
12259 }
12260 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
12261  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
12262  return _internal_solution_hint();
12263 }
12266  if (GetArenaForAllocation() == nullptr) {
12267  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
12268  }
12269  solution_hint_ = solution_hint;
12270  if (solution_hint) {
12271 
12272  } else {
12273 
12274  }
12275  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
12276 }
12277 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
12278 
12280  solution_hint_ = nullptr;
12281 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12282  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
12283  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12284  if (GetArenaForAllocation() == nullptr) { delete old; }
12285 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
12286  if (GetArenaForAllocation() != nullptr) {
12287  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12288  }
12289 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
12290  return temp;
12291 }
12292 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::unsafe_arena_release_solution_hint() {
12293  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
12294 
12296  solution_hint_ = nullptr;
12297  return temp;
12298 }
12299 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::_internal_mutable_solution_hint() {
12300 
12301  if (solution_hint_ == nullptr) {
12302  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArenaForAllocation());
12303  solution_hint_ = p;
12304  }
12305  return solution_hint_;
12306 }
12307 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
12308  ::operations_research::sat::PartialVariableAssignment* _msg = _internal_mutable_solution_hint();
12309  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
12310  return _msg;
12311 }
12313  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
12314  if (message_arena == nullptr) {
12315  delete solution_hint_;
12316  }
12317  if (solution_hint) {
12318  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12319  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::PartialVariableAssignment>::GetOwningArena(solution_hint);
12320  if (message_arena != submessage_arena) {
12321  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12322  message_arena, solution_hint, submessage_arena);
12323  }
12324 
12325  } else {
12326 
12327  }
12328  solution_hint_ = solution_hint;
12329  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
12330 }
12331 
12332 // repeated int32 assumptions = 7;
12333 inline int CpModelProto::_internal_assumptions_size() const {
12334  return assumptions_.size();
12335 }
12337  return _internal_assumptions_size();
12338 }
12340  assumptions_.Clear();
12341 }
12342 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::_internal_assumptions(int index) const {
12343  return assumptions_.Get(index);
12344 }
12345 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::assumptions(int index) const {
12346  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
12347  return _internal_assumptions(index);
12348 }
12349 inline void CpModelProto::set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
12350  assumptions_.Set(index, value);
12351  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
12352 }
12353 inline void CpModelProto::_internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
12354  assumptions_.Add(value);
12355 }
12356 inline void CpModelProto::add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
12357  _internal_add_assumptions(value);
12358  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
12359 }
12360 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12361 CpModelProto::_internal_assumptions() const {
12362  return assumptions_;
12363 }
12364 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12366  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
12367  return _internal_assumptions();
12368 }
12369 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12370 CpModelProto::_internal_mutable_assumptions() {
12371  return &assumptions_;
12372 }
12373 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12375  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
12376  return _internal_mutable_assumptions();
12377 }
12378 
12379 // .operations_research.sat.SymmetryProto symmetry = 8;
12380 inline bool CpModelProto::_internal_has_symmetry() const {
12381  return this != internal_default_instance() && symmetry_ != nullptr;
12382 }
12383 inline bool CpModelProto::has_symmetry() const {
12384  return _internal_has_symmetry();
12385 }
12387  if (GetArenaForAllocation() == nullptr && symmetry_ != nullptr) {
12388  delete symmetry_;
12389  }
12390  symmetry_ = nullptr;
12391 }
12392 inline const ::operations_research::sat::SymmetryProto& CpModelProto::_internal_symmetry() const {
12393  const ::operations_research::sat::SymmetryProto* p = symmetry_;
12394  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::SymmetryProto&>(
12396 }
12397 inline const ::operations_research::sat::SymmetryProto& CpModelProto::symmetry() const {
12398  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.symmetry)
12399  return _internal_symmetry();
12400 }
12403  if (GetArenaForAllocation() == nullptr) {
12404  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(symmetry_);
12405  }
12406  symmetry_ = symmetry;
12407  if (symmetry) {
12408 
12409  } else {
12410 
12411  }
12412  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.symmetry)
12413 }
12414 inline ::operations_research::sat::SymmetryProto* CpModelProto::release_symmetry() {
12415 
12417  symmetry_ = nullptr;
12418 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12419  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
12420  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12421  if (GetArenaForAllocation() == nullptr) { delete old; }
12422 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
12423  if (GetArenaForAllocation() != nullptr) {
12424  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
12425  }
12426 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
12427  return temp;
12428 }
12429 inline ::operations_research::sat::SymmetryProto* CpModelProto::unsafe_arena_release_symmetry() {
12430  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.symmetry)
12431 
12433  symmetry_ = nullptr;
12434  return temp;
12435 }
12436 inline ::operations_research::sat::SymmetryProto* CpModelProto::_internal_mutable_symmetry() {
12437 
12438  if (symmetry_ == nullptr) {
12439  auto* p = CreateMaybeMessage<::operations_research::sat::SymmetryProto>(GetArenaForAllocation());
12440  symmetry_ = p;
12441  }
12442  return symmetry_;
12443 }
12444 inline ::operations_research::sat::SymmetryProto* CpModelProto::mutable_symmetry() {
12445  ::operations_research::sat::SymmetryProto* _msg = _internal_mutable_symmetry();
12446  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.symmetry)
12447  return _msg;
12448 }
12450  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
12451  if (message_arena == nullptr) {
12452  delete symmetry_;
12453  }
12454  if (symmetry) {
12455  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12456  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::SymmetryProto>::GetOwningArena(symmetry);
12457  if (message_arena != submessage_arena) {
12458  symmetry = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12459  message_arena, symmetry, submessage_arena);
12460  }
12461 
12462  } else {
12463 
12464  }
12465  symmetry_ = symmetry;
12466  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.symmetry)
12467 }
12468 
12469 // -------------------------------------------------------------------
12470 
12471 // CpSolverResponse
12472 
12473 // .operations_research.sat.CpSolverStatus status = 1;
12475  status_ = 0;
12476 }
12477 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
12478  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
12479 }
12481  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
12482  return _internal_status();
12483 }
12484 inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
12485 
12486  status_ = value;
12487 }
12489  _internal_set_status(value);
12490  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
12491 }
12492 
12493 // repeated int64 solution = 2;
12494 inline int CpSolverResponse::_internal_solution_size() const {
12495  return solution_.size();
12496 }
12498  return _internal_solution_size();
12499 }
12501  solution_.Clear();
12502 }
12503 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution(int index) const {
12504  return solution_.Get(index);
12505 }
12506 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution(int index) const {
12507  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
12508  return _internal_solution(index);
12509 }
12510 inline void CpSolverResponse::set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12511  solution_.Set(index, value);
12512  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
12513 }
12514 inline void CpSolverResponse::_internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
12515  solution_.Add(value);
12516 }
12517 inline void CpSolverResponse::add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
12518  _internal_add_solution(value);
12519  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
12520 }
12521 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12522 CpSolverResponse::_internal_solution() const {
12523  return solution_;
12524 }
12525 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12527  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
12528  return _internal_solution();
12529 }
12530 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12531 CpSolverResponse::_internal_mutable_solution() {
12532  return &solution_;
12533 }
12534 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12536  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
12537  return _internal_mutable_solution();
12538 }
12539 
12540 // double objective_value = 3;
12542  objective_value_ = 0;
12543 }
12544 inline double CpSolverResponse::_internal_objective_value() const {
12545  return objective_value_;
12546 }
12547 inline double CpSolverResponse::objective_value() const {
12548  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
12549  return _internal_objective_value();
12550 }
12551 inline void CpSolverResponse::_internal_set_objective_value(double value) {
12552 
12553  objective_value_ = value;
12554 }
12556  _internal_set_objective_value(value);
12557  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
12558 }
12559 
12560 // double best_objective_bound = 4;
12562  best_objective_bound_ = 0;
12563 }
12564 inline double CpSolverResponse::_internal_best_objective_bound() const {
12565  return best_objective_bound_;
12566 }
12568  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
12569  return _internal_best_objective_bound();
12570 }
12571 inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
12572 
12573  best_objective_bound_ = value;
12574 }
12576  _internal_set_best_objective_bound(value);
12577  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
12578 }
12579 
12580 // repeated int64 solution_lower_bounds = 18;
12581 inline int CpSolverResponse::_internal_solution_lower_bounds_size() const {
12582  return solution_lower_bounds_.size();
12583 }
12585  return _internal_solution_lower_bounds_size();
12586 }
12588  solution_lower_bounds_.Clear();
12589 }
12590 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_lower_bounds(int index) const {
12591  return solution_lower_bounds_.Get(index);
12592 }
12593 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_lower_bounds(int index) const {
12594  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12595  return _internal_solution_lower_bounds(index);
12596 }
12597 inline void CpSolverResponse::set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12598  solution_lower_bounds_.Set(index, value);
12599  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12600 }
12601 inline void CpSolverResponse::_internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12602  solution_lower_bounds_.Add(value);
12603 }
12604 inline void CpSolverResponse::add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12605  _internal_add_solution_lower_bounds(value);
12606  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12607 }
12608 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12609 CpSolverResponse::_internal_solution_lower_bounds() const {
12610  return solution_lower_bounds_;
12611 }
12612 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12614  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12615  return _internal_solution_lower_bounds();
12616 }
12617 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12618 CpSolverResponse::_internal_mutable_solution_lower_bounds() {
12619  return &solution_lower_bounds_;
12620 }
12621 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12623  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12624  return _internal_mutable_solution_lower_bounds();
12625 }
12626 
12627 // repeated int64 solution_upper_bounds = 19;
12628 inline int CpSolverResponse::_internal_solution_upper_bounds_size() const {
12629  return solution_upper_bounds_.size();
12630 }
12632  return _internal_solution_upper_bounds_size();
12633 }
12635  solution_upper_bounds_.Clear();
12636 }
12637 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_upper_bounds(int index) const {
12638  return solution_upper_bounds_.Get(index);
12639 }
12640 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_upper_bounds(int index) const {
12641  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12642  return _internal_solution_upper_bounds(index);
12643 }
12644 inline void CpSolverResponse::set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12645  solution_upper_bounds_.Set(index, value);
12646  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12647 }
12648 inline void CpSolverResponse::_internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12649  solution_upper_bounds_.Add(value);
12650 }
12651 inline void CpSolverResponse::add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12652  _internal_add_solution_upper_bounds(value);
12653  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12654 }
12655 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12656 CpSolverResponse::_internal_solution_upper_bounds() const {
12657  return solution_upper_bounds_;
12658 }
12659 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12661  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12662  return _internal_solution_upper_bounds();
12663 }
12664 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12665 CpSolverResponse::_internal_mutable_solution_upper_bounds() {
12666  return &solution_upper_bounds_;
12667 }
12668 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12670  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12671  return _internal_mutable_solution_upper_bounds();
12672 }
12673 
12674 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
12675 inline int CpSolverResponse::_internal_tightened_variables_size() const {
12676  return tightened_variables_.size();
12677 }
12679  return _internal_tightened_variables_size();
12680 }
12682  tightened_variables_.Clear();
12683 }
12684 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
12685  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
12686  return tightened_variables_.Mutable(index);
12687 }
12688 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
12690  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
12691  return &tightened_variables_;
12692 }
12693 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::_internal_tightened_variables(int index) const {
12694  return tightened_variables_.Get(index);
12695 }
12696 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
12697  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
12698  return _internal_tightened_variables(index);
12699 }
12700 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::_internal_add_tightened_variables() {
12701  return tightened_variables_.Add();
12702 }
12703 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
12704  ::operations_research::sat::IntegerVariableProto* _add = _internal_add_tightened_variables();
12705  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
12706  return _add;
12707 }
12708 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
12710  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
12711  return tightened_variables_;
12712 }
12713 
12714 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
12715 inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
12716  return sufficient_assumptions_for_infeasibility_.size();
12717 }
12719  return _internal_sufficient_assumptions_for_infeasibility_size();
12720 }
12722  sufficient_assumptions_for_infeasibility_.Clear();
12723 }
12724 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility(int index) const {
12725  return sufficient_assumptions_for_infeasibility_.Get(index);
12726 }
12727 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
12728  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12729  return _internal_sufficient_assumptions_for_infeasibility(index);
12730 }
12731 inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
12732  sufficient_assumptions_for_infeasibility_.Set(index, value);
12733  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12734 }
12735 inline void CpSolverResponse::_internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
12736  sufficient_assumptions_for_infeasibility_.Add(value);
12737 }
12738 inline void CpSolverResponse::add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
12739  _internal_add_sufficient_assumptions_for_infeasibility(value);
12740  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12741 }
12742 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12743 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
12744  return sufficient_assumptions_for_infeasibility_;
12745 }
12746 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12748  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12749  return _internal_sufficient_assumptions_for_infeasibility();
12750 }
12751 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12752 CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
12753  return &sufficient_assumptions_for_infeasibility_;
12754 }
12755 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12757  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12758  return _internal_mutable_sufficient_assumptions_for_infeasibility();
12759 }
12760 
12761 // bool all_solutions_were_found = 5;
12763  all_solutions_were_found_ = false;
12764 }
12765 inline bool CpSolverResponse::_internal_all_solutions_were_found() const {
12766  return all_solutions_were_found_;
12767 }
12769  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.all_solutions_were_found)
12770  return _internal_all_solutions_were_found();
12771 }
12772 inline void CpSolverResponse::_internal_set_all_solutions_were_found(bool value) {
12773 
12774  all_solutions_were_found_ = value;
12775 }
12777  _internal_set_all_solutions_were_found(value);
12778  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.all_solutions_were_found)
12779 }
12780 
12781 // int64 num_booleans = 10;
12783  num_booleans_ = int64_t{0};
12784 }
12785 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_booleans() const {
12786  return num_booleans_;
12787 }
12788 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_booleans() const {
12789  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
12790  return _internal_num_booleans();
12791 }
12792 inline void CpSolverResponse::_internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
12793 
12794  num_booleans_ = value;
12795 }
12796 inline void CpSolverResponse::set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
12797  _internal_set_num_booleans(value);
12798  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
12799 }
12800 
12801 // int64 num_conflicts = 11;
12803  num_conflicts_ = int64_t{0};
12804 }
12805 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_conflicts() const {
12806  return num_conflicts_;
12807 }
12808 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_conflicts() const {
12809  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
12810  return _internal_num_conflicts();
12811 }
12812 inline void CpSolverResponse::_internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12813 
12814  num_conflicts_ = value;
12815 }
12816 inline void CpSolverResponse::set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12817  _internal_set_num_conflicts(value);
12818  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
12819 }
12820 
12821 // int64 num_branches = 12;
12823  num_branches_ = int64_t{0};
12824 }
12825 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_branches() const {
12826  return num_branches_;
12827 }
12828 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_branches() const {
12829  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
12830  return _internal_num_branches();
12831 }
12832 inline void CpSolverResponse::_internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
12833 
12834  num_branches_ = value;
12835 }
12836 inline void CpSolverResponse::set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
12837  _internal_set_num_branches(value);
12838  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
12839 }
12840 
12841 // int64 num_binary_propagations = 13;
12843  num_binary_propagations_ = int64_t{0};
12844 }
12845 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_binary_propagations() const {
12846  return num_binary_propagations_;
12847 }
12848 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_binary_propagations() const {
12849  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
12850  return _internal_num_binary_propagations();
12851 }
12852 inline void CpSolverResponse::_internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12853 
12854  num_binary_propagations_ = value;
12855 }
12856 inline void CpSolverResponse::set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12857  _internal_set_num_binary_propagations(value);
12858  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
12859 }
12860 
12861 // int64 num_integer_propagations = 14;
12863  num_integer_propagations_ = int64_t{0};
12864 }
12865 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_integer_propagations() const {
12866  return num_integer_propagations_;
12867 }
12868 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_integer_propagations() const {
12869  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
12870  return _internal_num_integer_propagations();
12871 }
12872 inline void CpSolverResponse::_internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12873 
12874  num_integer_propagations_ = value;
12875 }
12876 inline void CpSolverResponse::set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12877  _internal_set_num_integer_propagations(value);
12878  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
12879 }
12880 
12881 // int64 num_restarts = 24;
12883  num_restarts_ = int64_t{0};
12884 }
12885 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_restarts() const {
12886  return num_restarts_;
12887 }
12888 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_restarts() const {
12889  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_restarts)
12890  return _internal_num_restarts();
12891 }
12892 inline void CpSolverResponse::_internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12893 
12894  num_restarts_ = value;
12895 }
12896 inline void CpSolverResponse::set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12897  _internal_set_num_restarts(value);
12898  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_restarts)
12899 }
12900 
12901 // int64 num_lp_iterations = 25;
12903  num_lp_iterations_ = int64_t{0};
12904 }
12905 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_lp_iterations() const {
12906  return num_lp_iterations_;
12907 }
12908 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_lp_iterations() const {
12909  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_lp_iterations)
12910  return _internal_num_lp_iterations();
12911 }
12912 inline void CpSolverResponse::_internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12913 
12914  num_lp_iterations_ = value;
12915 }
12916 inline void CpSolverResponse::set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12917  _internal_set_num_lp_iterations(value);
12918  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_lp_iterations)
12919 }
12920 
12921 // double wall_time = 15;
12923  wall_time_ = 0;
12924 }
12925 inline double CpSolverResponse::_internal_wall_time() const {
12926  return wall_time_;
12927 }
12928 inline double CpSolverResponse::wall_time() const {
12929  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
12930  return _internal_wall_time();
12931 }
12932 inline void CpSolverResponse::_internal_set_wall_time(double value) {
12933 
12934  wall_time_ = value;
12935 }
12937  _internal_set_wall_time(value);
12938  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
12939 }
12940 
12941 // double user_time = 16;
12943  user_time_ = 0;
12944 }
12945 inline double CpSolverResponse::_internal_user_time() const {
12946  return user_time_;
12947 }
12948 inline double CpSolverResponse::user_time() const {
12949  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
12950  return _internal_user_time();
12951 }
12952 inline void CpSolverResponse::_internal_set_user_time(double value) {
12953 
12954  user_time_ = value;
12955 }
12957  _internal_set_user_time(value);
12958  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
12959 }
12960 
12961 // double deterministic_time = 17;
12963  deterministic_time_ = 0;
12964 }
12965 inline double CpSolverResponse::_internal_deterministic_time() const {
12966  return deterministic_time_;
12967 }
12969  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
12970  return _internal_deterministic_time();
12971 }
12972 inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
12973 
12974  deterministic_time_ = value;
12975 }
12977  _internal_set_deterministic_time(value);
12978  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
12979 }
12980 
12981 // double primal_integral = 22;
12983  primal_integral_ = 0;
12984 }
12985 inline double CpSolverResponse::_internal_primal_integral() const {
12986  return primal_integral_;
12987 }
12988 inline double CpSolverResponse::primal_integral() const {
12989  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.primal_integral)
12990  return _internal_primal_integral();
12991 }
12992 inline void CpSolverResponse::_internal_set_primal_integral(double value) {
12993 
12994  primal_integral_ = value;
12995 }
12997  _internal_set_primal_integral(value);
12998  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.primal_integral)
12999 }
13000 
13001 // string solution_info = 20;
13003  solution_info_.ClearToEmpty();
13004 }
13005 inline const std::string& CpSolverResponse::solution_info() const {
13006  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
13007  return _internal_solution_info();
13008 }
13009 template <typename ArgT0, typename... ArgT>
13010 inline PROTOBUF_ALWAYS_INLINE
13011 void CpSolverResponse::set_solution_info(ArgT0&& arg0, ArgT... args) {
13012 
13013  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
13014  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
13015 }
13017  std::string* _s = _internal_mutable_solution_info();
13018  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
13019  return _s;
13020 }
13021 inline const std::string& CpSolverResponse::_internal_solution_info() const {
13022  return solution_info_.Get();
13023 }
13024 inline void CpSolverResponse::_internal_set_solution_info(const std::string& value) {
13025 
13026  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
13027 }
13028 inline std::string* CpSolverResponse::_internal_mutable_solution_info() {
13029 
13030  return solution_info_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
13031 }
13033  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
13034  return solution_info_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
13035 }
13036 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
13037  if (solution_info != nullptr) {
13038 
13039  } else {
13040 
13041  }
13042  solution_info_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info,
13043  GetArenaForAllocation());
13044  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
13045 }
13046 
13047 // string solve_log = 26;
13049  solve_log_.ClearToEmpty();
13050 }
13051 inline const std::string& CpSolverResponse::solve_log() const {
13052  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solve_log)
13053  return _internal_solve_log();
13054 }
13055 template <typename ArgT0, typename... ArgT>
13056 inline PROTOBUF_ALWAYS_INLINE
13057 void CpSolverResponse::set_solve_log(ArgT0&& arg0, ArgT... args) {
13058 
13059  solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
13060  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solve_log)
13061 }
13063  std::string* _s = _internal_mutable_solve_log();
13064  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solve_log)
13065  return _s;
13066 }
13067 inline const std::string& CpSolverResponse::_internal_solve_log() const {
13068  return solve_log_.Get();
13069 }
13070 inline void CpSolverResponse::_internal_set_solve_log(const std::string& value) {
13071 
13072  solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
13073 }
13074 inline std::string* CpSolverResponse::_internal_mutable_solve_log() {
13075 
13076  return solve_log_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
13077 }
13079  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solve_log)
13080  return solve_log_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
13081 }
13082 inline void CpSolverResponse::set_allocated_solve_log(std::string* solve_log) {
13083  if (solve_log != nullptr) {
13084 
13085  } else {
13086 
13087  }
13088  solve_log_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solve_log,
13089  GetArenaForAllocation());
13090  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solve_log)
13091 }
13092 
13093 #ifdef __GNUC__
13094  #pragma GCC diagnostic pop
13095 #endif // __GNUC__
13096 // -------------------------------------------------------------------
13097 
13098 // -------------------------------------------------------------------
13099 
13100 // -------------------------------------------------------------------
13101 
13102 // -------------------------------------------------------------------
13103 
13104 // -------------------------------------------------------------------
13105 
13106 // -------------------------------------------------------------------
13107 
13108 // -------------------------------------------------------------------
13109 
13110 // -------------------------------------------------------------------
13111 
13112 // -------------------------------------------------------------------
13113 
13114 // -------------------------------------------------------------------
13115 
13116 // -------------------------------------------------------------------
13117 
13118 // -------------------------------------------------------------------
13119 
13120 // -------------------------------------------------------------------
13121 
13122 // -------------------------------------------------------------------
13123 
13124 // -------------------------------------------------------------------
13125 
13126 // -------------------------------------------------------------------
13127 
13128 // -------------------------------------------------------------------
13129 
13130 // -------------------------------------------------------------------
13131 
13132 // -------------------------------------------------------------------
13133 
13134 // -------------------------------------------------------------------
13135 
13136 // -------------------------------------------------------------------
13137 
13138 // -------------------------------------------------------------------
13139 
13140 // -------------------------------------------------------------------
13141 
13142 // -------------------------------------------------------------------
13143 
13144 // -------------------------------------------------------------------
13145 
13146 // -------------------------------------------------------------------
13147 
13148 // -------------------------------------------------------------------
13149 
13150 // -------------------------------------------------------------------
13151 
13152 
13153 // @@protoc_insertion_point(namespace_scope)
13154 
13155 } // namespace sat
13156 } // namespace operations_research
13157 
13158 PROTOBUF_NAMESPACE_OPEN
13159 
13160 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
13161 template <>
13162 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
13164 }
13165 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
13166 template <>
13167 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
13169 }
13170 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
13171 template <>
13172 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
13174 }
13175 
13176 PROTOBUF_NAMESPACE_CLOSE
13177 
13178 // @@protoc_insertion_point(global_scope)
13179 
13180 #include <google/protobuf/port_undef.inc>
13181 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntervalConstraintProto * release_interval()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_end(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7511
void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:9268
static const InverseConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3309
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
Definition: cp_model.pb.h:7367
::operations_research::sat::LinearExpressionProto * add_exprs()
Definition: cp_model.pb.h:7174
::operations_research::sat::ReservoirConstraintProto * unsafe_arena_release_reservoir()
IntervalConstraintProto & operator=(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1659
::PROTOBUF_NAMESPACE_ID::int64 offset() const
Definition: cp_model.pb.h:7038
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:5046
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:9073
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & entries() const
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.cc:270
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:982
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_variables()
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:9588
void set_allocated_solution_info(std::string *solution_info)
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8346
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3898
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.cc:354
static constexpr DomainReductionStrategy DomainReductionStrategy_MIN
Definition: cp_model.pb.h:5171
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > * mutable_permutations()
LinearConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1333
void set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
Definition: cp_model.pb.h:7125
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8696
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3475
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:617
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_sufficient_assumptions_for_infeasibility()
void set_allocated_name(std::string *name)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2043
SymmetryProto & operator=(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5824
const ::operations_research::sat::TableConstraintProto & table() const
DecisionStrategyProto(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:5015
::PROTOBUF_NAMESPACE_ID::int64 num_branches() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_inverse() const
Definition: cp_model.pb.h:8877
void set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5037
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8295
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:7282
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:9196
AutomatonConstraintProto(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3456
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & actives() const
Definition: cp_model.pb.h:8304
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_head()
Definition: cp_model.pb.h:9051
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7213
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
Definition: cp_model.pb.h:8458
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void unsafe_arena_set_allocated_size_view(::operations_research::sat::LinearExpressionProto *size_view)
Definition: cp_model.pb.h:7738
void add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2262
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:301
void unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
Definition: cp_model.pb.h:9942
void UnsafeArenaSwap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2899
const ::operations_research::sat::LinearArgumentProto & lin_min() const
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr DomainReductionStrategy SELECT_MIN_VALUE
Definition: cp_model.pb.h:5158
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1297
IntegerArgumentProto(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:598
static const LinearArgumentProto & default_instance()
Definition: cp_model.pb.h:979
const ::operations_research::sat::IntegerArgumentProto & int_prod() const
::operations_research::sat::LinearExpressionProto * mutable_end_view()
Definition: cp_model.pb.h:7691
AllDifferentConstraintProto * New() const final
Definition: cp_model.pb.h:1176
void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8670
::operations_research::sat::SparsePermutationProto * add_permutations()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3297
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:1310
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_MUST_USE_RESULT ::operations_research::sat::AutomatonConstraintProto * release_automaton()
void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7994
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_energies()
Definition: cp_model.pb.h:8108
::operations_research::sat::AllDifferentConstraintProto * mutable_all_diff()
void UnsafeArenaSwap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5511
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:620
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
InverseConstraintProto * New() const final
Definition: cp_model.pb.h:3335
void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.cc:152
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_direct()
Definition: cp_model.pb.h:8839
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto * release_bool_or()
Definition: cp_model.pb.h:9316
static const IntervalConstraintProto & default_instance()
Definition: cp_model.pb.h:1678
::operations_research::sat::AllDifferentConstraintProto * unsafe_arena_release_all_diff()
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1902
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2251
void MergeFrom(const IntervalConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const ::operations_research::sat::BoolArgumentProto & bool_or() const
Definition: cp_model.pb.h:9335
void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8194
CumulativeConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2274
::operations_research::sat::NoOverlapConstraintProto * unsafe_arena_release_no_overlap()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
ConstraintProto(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3873
void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:9275
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:8721
void MergeFrom(const CumulativeConstraintProto &from)
void CopyFrom(const SymmetryProto &from)
::PROTOBUF_NAMESPACE_ID::int64 min_level() const
Definition: cp_model.pb.h:8144
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
Definition: cp_model.pb.h:7160
::operations_research::sat::ElementConstraintProto * mutable_element()
::PROTOBUF_NAMESPACE_ID::int32 target() const
Definition: cp_model.pb.h:6873
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:9145
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::ReservoirConstraintProto * release_reservoir()
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
Definition: cp_model.pb.h:9483
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & assumptions() const
void MergeFrom(const IntegerVariableProto &from)
::PROTOBUF_NAMESPACE_ID::int32 capacity() const
Definition: cp_model.pb.h:7986
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:205
void MergeFrom(const RoutesConstraintProto &from)
void MergeFrom(const BoolArgumentProto &from)
void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
LinearArgumentProto & operator=(const LinearArgumentProto &from)
Definition: cp_model.pb.h:956
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto * release_start_view()
Definition: cp_model.pb.h:7571
const ::operations_research::sat::BoolArgumentProto & bool_and() const
Definition: cp_model.pb.h:9409
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:248
void set_allocated_name(std::string *name)
Definition: cp_model.pb.h:9240
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_assumptions()
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8531
static const IntegerVariableProto & default_instance()
Definition: cp_model.pb.h:304
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_label() const
Definition: cp_model.pb.h:9089
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5284
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
friend void swap(DenseMatrixProto &a, DenseMatrixProto &b)
Definition: cp_model.pb.h:5678
void UnsafeArenaSwap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2696
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
SparsePermutationProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5523
IntervalConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1711
void MergeFrom(const DenseMatrixProto &from)
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto * release_int_min()
Definition: cp_model.pb.h:9982
void MergeFrom(const SymmetryProto &from)
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8578
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:623
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
IntegerVariableProto * New() const final
Definition: cp_model.pb.h:333
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_max()
Definition: cp_model.pb.h:9857
void set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value)
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto * release_int_max()
Definition: cp_model.pb.h:9834
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2453
void set_start(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7491
void UnsafeArenaSwap(IntegerVariableProto *other)
Definition: cp_model.pb.h:325
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & times() const
Definition: cp_model.pb.h:8210
void MergeFrom(const LinearConstraintProto &from)
void UnsafeArenaSwap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1524
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:5166
::operations_research::sat::LinearConstraintProto * unsafe_arena_release_linear()
void CopyFrom(const IntervalConstraintProto &from)
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1513
static bool VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.h:5132
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8484
static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:5124
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & enforcement_literal() const
Definition: cp_model.pb.h:9284
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & sufficient_assumptions_for_infeasibility() const
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
DecisionStrategyProto_AffineTransformation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4915
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
void Swap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:5056
CpSolverResponse & operator=(const CpSolverResponse &from)
Definition: cp_model.pb.h:6277
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: cp_model.pb.h:53
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5659
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
::operations_research::sat::CircuitConstraintProto * mutable_circuit()
CpModelProto(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5983
static const DenseMatrixProto * internal_default_instance()
Definition: cp_model.pb.h:5671
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
Definition: cp_model.pb.h:8364
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.cc:181
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:973
void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8814
static const std::string & VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:5146
void MergeFrom(const LinearExpressionProto &from)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
Definition: cp_model.pb.cc:61
::PROTOBUF_NAMESPACE_ID::int32 num_rows() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
LinearExpressionProto & operator=(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:771
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:6008
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5345
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
InverseConstraintProto & operator=(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3287
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
void UnsafeArenaSwap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2471
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8023
static const SymmetryProto & default_instance()
Definition: cp_model.pb.h:5843
void unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
Definition: cp_model.pb.h:9646
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() const
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8932
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
Definition: cp_model.pb.h:8449
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
Definition: cp_model.pb.h:5289
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8433
::PROTOBUF_NAMESPACE_ID::int32 size() const
Definition: cp_model.pb.h:7523
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:787
const std::string name
void CopyFrom(const LinearArgumentProto &from)
void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value)
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1655
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_demands()
Definition: cp_model.pb.h:8266
ConstraintProto & operator=(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3882
void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
void unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
void MergeFrom(const LinearArgumentProto &from)
void CopyFrom(const CpSolverResponse &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5665
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto *dummy_constraint)
LinearArgumentProto & operator=(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:960
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8070
friend void swap(DecisionStrategyProto_AffineTransformation &a, DecisionStrategyProto_AffineTransformation &b)
Definition: cp_model.pb.h:4892
void MergeFrom(const NoOverlapConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
SparsePermutationProto & operator=(const SparsePermutationProto &from)
Definition: cp_model.pb.h:5467
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:467
void CopyFrom(const DecisionStrategyProto_AffineTransformation &from)
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::ListOfVariablesProto * release_dummy_constraint()
void Swap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:639
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5040
void UnsafeArenaSwap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3327
ElementConstraintProto(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1475
void MergeFrom(const ConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
Definition: cp_model.pb.h:7852
void CopyFrom(const BoolArgumentProto &from)
void Swap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5325
DecisionStrategyProto & operator=(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:5024
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.cc:386
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:5315
::operations_research::sat::NoOverlapConstraintProto * mutable_no_overlap()
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_or()
Definition: cp_model.pb.h:9339
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7311
::operations_research::sat::AutomatonConstraintProto * mutable_automaton()
CpObjectiveProto & operator=(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4638
::operations_research::sat::TableConstraintProto * mutable_table()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
Definition: cp_model.pb.h:6848
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:6002
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:784
static const CircuitConstraintProto & default_instance()
Definition: cp_model.pb.h:2675
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8241
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7932
void set_size(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7531
const ::operations_research::sat::ElementConstraintProto & element() const
const ::operations_research::sat::IntegerArgumentProto & int_min() const
void Swap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2688
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
IntegerArgumentProto & operator=(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:607
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2666
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & y_intervals() const
Definition: cp_model.pb.h:7941
void MergeFrom(const CpModelProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
Definition: cp_model.pb.h:8594
bool DecisionStrategyProto_DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:233
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_entries()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:7231
void UnsafeArenaSwap(ConstraintProto *other)
Definition: cp_model.pb.h:3952
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_tightened_variables()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:6294
void MergeFrom(const CpSolverResponse &from)
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_div()
Definition: cp_model.pb.h:9709
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6839
void UnsafeArenaSwap(LinearExpressionProto *other)
Definition: cp_model.pb.h:811
static const DecisionStrategyProto_AffineTransformation & default_instance()
Definition: cp_model.pb.h:4882
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::LinearExpressionProto * mutable_size_view()
Definition: cp_model.pb.h:7781
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
Definition: cp_model.pb.h:8650
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5306
void MergeFrom(const CircuitConstraintProto &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:4876
CumulativeConstraintProto & operator=(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2222
::operations_research::sat::CumulativeConstraintProto * mutable_cumulative()
static const ClassData _class_data_
Definition: cp_model.pb.h:6080
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_final_states()
Definition: cp_model.pb.h:8957
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:220
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
Definition: cp_model.pb.h:8355
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.cc:368
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2855
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6961
void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8861
void Swap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4670
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5034
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
CpObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4690
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_xor()
Definition: cp_model.pb.h:9635
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
Definition: cp_model.pb.h:7376
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2872
void set_status(::operations_research::sat::CpSolverStatus value)
LinearConstraintProto(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1272
void Swap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:2065
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7827
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
TableConstraintProto & operator=(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3098
::operations_research::sat::NoOverlap2DConstraintProto * mutable_no_overlap_2d()
const ::operations_research::sat::RoutesConstraintProto & routes() const
void Swap(CpSolverResponse *other)
Definition: cp_model.pb.h:6313
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1506
static const ElementConstraintProto & default_instance()
Definition: cp_model.pb.h:1503
void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:5126
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:989
::PROTOBUF_NAMESPACE_ID::int64 num_restarts() const
static constexpr DomainReductionStrategy DomainReductionStrategy_MAX
Definition: cp_model.pb.h:5173
::operations_research::sat::IntegerArgumentProto * mutable_int_max()
Definition: cp_model.pb.h:9884
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7449
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:4634
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:4651
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
Definition: cp_model.pb.h:7026
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4854
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.cc:254
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
Definition: cp_model.pb.h:8500
::operations_research::sat::IntegerVariableProto * add_variables()
static const LinearExpressionProto * internal_default_instance()
Definition: cp_model.pb.h:793
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::ElementConstraintProto * release_element()
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:276
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.cc:103
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void Swap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5503
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:4873
void MergeFrom(const DecisionStrategyProto &from)
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:250
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7264
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8440
ReservoirConstraintProto & operator=(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2431
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1141
CpModelProto & operator=(const CpModelProto &from)
Definition: cp_model.pb.h:5988
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
Definition: cp_model.pb.h:314
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
Definition: cp_model.pb.h:6857
::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
TableConstraintProto * New() const final
Definition: cp_model.pb.h:3146
void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8939
void CopyFrom(const DenseMatrixProto &from)
TableConstraintProto(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3089
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
ListOfVariablesProto * New() const final
Definition: cp_model.pb.h:3777
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:4648
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_tail()
Definition: cp_model.pb.h:9004
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:9187
::operations_research::sat::InverseConstraintProto * mutable_inverse()
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_prod()
void CopyFrom(const AutomatonConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7358
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
Definition: cp_model.pb.cc:444
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3300
ReservoirConstraintProto * New() const final
Definition: cp_model.pb.h:2479
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.cc:198
static constexpr VariableSelectionStrategy CHOOSE_FIRST
Definition: cp_model.pb.h:5122
void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:9026
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:7222
int64_t b
void Swap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1516
PROTOBUF_MUST_USE_RESULT std::string * release_solve_log()
void UnsafeArenaSwap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1920
void CopyFrom(const NoOverlapConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
SparsePermutationProto(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5462
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:1277
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
Definition: cp_model.pb.h:8411
static const BoolArgumentProto & default_instance()
Definition: cp_model.pb.h:473
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
Definition: cp_model.pb.h:7320
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4660
const std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:226
friend void swap(SparsePermutationProto &a, SparsePermutationProto &b)
Definition: cp_model.pb.h:5500
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2672
void unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
Definition: cp_model.pb.h:9572
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7420
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5484
const ::operations_research::sat::LinearExpressionProto & end_view() const
Definition: cp_model.pb.h:7644
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:9178
const std::string & name() const
Definition: cp_model.pb.h:9209
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2444
void UnsafeArenaSwap(CpModelProto *other)
Definition: cp_model.pb.h:6032
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
ReservoirConstraintProto(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2422
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3934
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2049
static const CpSolverResponse & default_instance()
Definition: cp_model.pb.h:6300
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:3461
::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2238
::operations_research::sat::DecisionStrategyProto_AffineTransformation * add_transformations()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3481
void UnsafeArenaSwap(CpSolverResponse *other)
Definition: cp_model.pb.h:6321
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_max()
Definition: cp_model.pb.h:9931
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto * release_end_view()
Definition: cp_model.pb.h:7661
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:1124
const ::operations_research::sat::PartialVariableAssignment & solution_hint() const
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
CircuitConstraintProto * New() const final
Definition: cp_model.pb.h:2704
void CopyFrom(const CpModelProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::operations_research::sat::IntegerArgumentProto * mutable_int_min()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1669
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:6291
::operations_research::sat::LinearExpressionProto * mutable_target()
Definition: cp_model.pb.h:7120
const ::operations_research::sat::BoolArgumentProto & exactly_one() const
Definition: cp_model.pb.h:9557
static bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableSelectionStrategy *value)
Definition: cp_model.pb.h:5152
void CopyFrom(const IntegerVariableProto &from)
void Swap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2254
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:6005
void unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
Definition: cp_model.pb.h:9720
AllDifferentConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1180
::operations_research::sat::PartialVariableAssignment * unsafe_arena_release_solution_hint()
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
Definition: cp_model.pb.h:2427
void MergeFrom(const InverseConstraintProto &from)
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
::operations_research::sat::IntegerArgumentProto * mutable_int_div()
Definition: cp_model.pb.h:9736
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_lower_bounds() const
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: cp_model.pb.h:52
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto *table)
void unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
const ::operations_research::sat::SymmetryProto & symmetry() const
::operations_research::sat::RoutesConstraintProto * mutable_routes()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
SparsePermutationProto * New() const final
Definition: cp_model.pb.h:5519
void Swap(BoolArgumentProto *other)
Definition: cp_model.pb.h:486
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_enforcement_literal()
Definition: cp_model.pb.h:9293
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5662
void MergeFrom(const AutomatonConstraintProto &from)
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:5182
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:5137
void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7878
static const DecisionStrategyProto & default_instance()
Definition: cp_model.pb.h:5043
::operations_research::sat::BoolArgumentProto * mutable_bool_or()
Definition: cp_model.pb.h:9366
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:5837
static constexpr int kIndexInFileMessages
Definition: cp_model.pb.h:5850
const ::operations_research::sat::LinearConstraintProto & linear() const
LinearExpressionProto * New() const final
Definition: cp_model.pb.h:819
int64_t max
Definition: alldiff_cst.cc:140
void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8288
DenseMatrixProto & operator=(const DenseMatrixProto &from)
Definition: cp_model.pb.h:5645
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
Definition: cp_model.pb.h:7329
void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:9033
static const TableConstraintProto & default_instance()
Definition: cp_model.pb.h:3117
static const DecisionStrategyProto_AffineTransformation * internal_default_instance()
Definition: cp_model.pb.h:4885
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto * release_int_mod()
Definition: cp_model.pb.h:9760
void UnsafeArenaSwap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:5064
NoOverlap2DConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2085
void MergeFrom(const AllDifferentConstraintProto &from)
void set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const ElementConstraintProto &from)
void Swap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4895
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:781
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::InverseConstraintProto * release_inverse()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:6970
static const InverseConstraintProto & default_instance()
Definition: cp_model.pb.h:3306
void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value)
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:307
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & energies() const
Definition: cp_model.pb.h:8128
static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:5130
void set_solution_info(ArgT0 &&arg0, ArgT... args)
::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const
void MergeFrom(const DecisionStrategyProto_AffineTransformation &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:464
static const LinearExpressionProto & default_instance()
Definition: cp_model.pb.h:790
LinearArgumentProto * New() const final
Definition: cp_model.pb.h:1008
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void UnsafeArenaSwap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:2073
SymmetryProto & operator=(const SymmetryProto &from)
Definition: cp_model.pb.h:5820
void UnsafeArenaSwap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1168
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7206
const ::operations_research::sat::LinearArgumentProto & lin_max() const
Definition: cp_model.pb.h:9927
void UnsafeArenaSwap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3505
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearConstraintProto * release_linear()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
SymmetryProto(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5815
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto * release_int_prod()
static const CpModelProto & default_instance()
Definition: cp_model.pb.h:6011
void set_name(ArgT0 &&arg0, ArgT... args)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void add_times(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8201
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:6014
void unsafe_arena_set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
Definition: cp_model.pb.h:7077
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto * release_at_most_one()
Definition: cp_model.pb.h:9464
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6903
DecisionStrategyProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5076
LinearExpressionProto & operator=(const LinearExpressionProto &from)
Definition: cp_model.pb.h:767
::operations_research::sat::IntegerVariableProto * add_tightened_variables()
void CopyFrom(const DecisionStrategyProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1138
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
::operations_research::sat::BoolArgumentProto * mutable_bool_and()
Definition: cp_model.pb.h:9440
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::operations_research::sat::InverseConstraintProto * unsafe_arena_release_inverse()
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto * release_exactly_one()
Definition: cp_model.pb.h:9538
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::SymmetryProto * release_symmetry()
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:6919
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:450
void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8986
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value)
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::NoOverlapConstraintProto * release_no_overlap()
DenseMatrixProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5701
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:6979
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:5142
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & demands() const
Definition: cp_model.pb.h:8257
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:5053
void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
bool CpSolverStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus *value)
Definition: cp_model.pb.h:261
void UnsafeArenaSwap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:647
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
IntegerVariableProto & operator=(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:285
void CopyFrom(const PartialVariableAssignment &from)
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
::operations_research::sat::CircuitConstraintProto * unsafe_arena_release_circuit()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const SymmetryProto * internal_default_instance()
Definition: cp_model.pb.h:5846
ListOfVariablesProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3781
void UnsafeArenaSwap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1321
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_head() const
Definition: cp_model.pb.h:9042
static const ListOfVariablesProto & default_instance()
Definition: cp_model.pb.h:3748
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
Definition: cp_model.pb.h:8556
void CopyFrom(const NoOverlap2DConstraintProto &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3745
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
Definition: cp_model.pb.h:2460
friend void swap(SymmetryProto &a, SymmetryProto &b)
Definition: cp_model.pb.h:5853
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:298
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:5168
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_x_intervals()
Definition: cp_model.pb.h:7903
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_support()
void unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
void MergeFrom(const PartialVariableAssignment &from)
void CopyFrom(const LinearExpressionProto &from)
::operations_research::sat::NoOverlap2DConstraintProto * unsafe_arena_release_no_overlap_2d()
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1150
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto * release_size_view()
Definition: cp_model.pb.h:7751
::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:9487
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:7458
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:198
static const AutomatonConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3487
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.cc:234
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6832
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:193
void Swap(TableConstraintProto *other)
Definition: cp_model.pb.h:3130
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
IntervalConstraintProto * New() const final
Definition: cp_model.pb.h:1707
ConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3964
void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
IntVar *const objective_
Definition: search.cc:2966
void MergeFrom(const TableConstraintProto &from)
void CopyFrom(const InverseConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:483
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1303
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::PartialVariableAssignment * release_solution_hint()
::operations_research::sat::ConstraintProto * add_constraints()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8585
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
Definition: cp_model.pb.h:2029
void UnsafeArenaSwap(BoolArgumentProto *other)
Definition: cp_model.pb.h:494
void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
static const RoutesConstraintProto & default_instance()
Definition: cp_model.pb.h:2878
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
Definition: cp_model.pb.cc:431
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3739
const ::operations_research::sat::LinearExpressionProto & target() const
Definition: cp_model.pb.h:7073
static const LinearConstraintProto & default_instance()
Definition: cp_model.pb.h:1300
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::CpObjectiveProto * release_objective()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:6928
RoutesConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2911
void unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
Definition: cp_model.pb.h:9868
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2441
const std::string & solve_log() const
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_start_view()
Definition: cp_model.pb.h:7586
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
::PROTOBUF_NAMESPACE_ID::int32 num_cols() const
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:3283
AutomatonConstraintProto * New() const final
Definition: cp_model.pb.h:3513
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3494
const ::operations_research::sat::LinearExpressionProto & size_view() const
Definition: cp_model.pb.h:7734
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:3316
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::operations_research::sat::CpObjectiveProto & objective() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2235
CircuitConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2708
CpSolverResponse(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:6272
static const ReservoirConstraintProto & default_instance()
Definition: cp_model.pb.h:2450
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::operations_research::sat::LinearExpressionProto & start_view() const
Definition: cp_model.pb.h:7554
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_lower_bounds()
void unsafe_arena_set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:9136
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5293
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
Definition: cp_model.pb.h:7843
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:6788
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2232
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::CumulativeConstraintProto * release_cumulative()
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7304
ElementConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1536
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2869
DenseMatrixProto * New() const final
Definition: cp_model.pb.h:5697
InverseConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3339
CpSolverResponse * New() const final
Definition: cp_model.pb.h:6329
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1294
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6910
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::TableConstraintProto * release_table()
::PROTOBUF_NAMESPACE_ID::int32 end() const
Definition: cp_model.pb.h:7503
static const SparsePermutationProto * internal_default_instance()
Definition: cp_model.pb.h:5493
::operations_research::sat::SymmetryProto * unsafe_arena_release_symmetry()
IntervalConstraintProto(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1650
int index
Definition: pack.cc:509
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:7467
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & support() const
void UnsafeArenaSwap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5689
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_end_view()
Definition: cp_model.pb.h:7676
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.cc:120
void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8910
void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:9080
void unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
Definition: cp_model.pb.h:9794
::operations_research::sat::IntervalConstraintProto * mutable_interval()
CircuitConstraintProto(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2647
void unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
const ::operations_research::sat::InverseConstraintProto & inverse() const
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6954
BoolArgumentProto & operator=(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:454
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::RoutesConstraintProto * release_routes()
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8386
DenseMatrixProto & operator=(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5649
void Swap(LinearExpressionProto *other)
Definition: cp_model.pb.h:803
IntegerArgumentProto & operator=(const IntegerArgumentProto &from)
Definition: cp_model.pb.h:603
const std::string & name() const
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:2062
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2055
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:6303
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:222
void MergeFrom(const NoOverlap2DConstraintProto &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2875
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7257
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:5135
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & x_intervals() const
Definition: cp_model.pb.h:7894
void UnsafeArenaSwap(TableConstraintProto *other)
Definition: cp_model.pb.h:3138
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_direct() const
Definition: cp_model.pb.h:8830
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:1480
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > * mutable_orbitopes()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static constexpr int kIndexInFileMessages
Definition: cp_model.pb.h:6018
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1291
static constexpr DomainReductionStrategy SELECT_MAX_VALUE
Definition: cp_model.pb.h:5160
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5834
PROTOBUF_MUST_USE_RESULT std::string * release_name()
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:800
void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
ListOfVariablesProto & operator=(const ListOfVariablesProto &from)
Definition: cp_model.pb.h:3725
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3303
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_upper_bounds() const
static const AllDifferentConstraintProto & default_instance()
Definition: cp_model.pb.h:1147
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
Definition: cp_model.pb.h:7017
void Swap(LinearArgumentProto *other)
Definition: cp_model.pb.h:992
NoOverlapConstraintProto(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1871
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:254
IntegerArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:659
::operations_research::sat::ListOfVariablesProto * mutable_dummy_constraint()
const ::operations_research::sat::IntegerArgumentProto & int_div() const
Definition: cp_model.pb.h:9705
const std::vector< IntVar * > vars_
Definition: alldiff_cst.cc:44
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2046
::PROTOBUF_NAMESPACE_ID::int64 capacity() const
Definition: cp_model.pb.h:8662
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
PartialVariableAssignment * New() const final
Definition: cp_model.pb.h:5341
BoolArgumentProto * New() const final
Definition: cp_model.pb.h:502
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.cc:335
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::operations_research::sat::LinearExpressionProto * mutable_start_view()
Definition: cp_model.pb.h:7601
DecisionStrategyProto_AffineTransformation & operator=(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4863
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & variables() const
void CopyFrom(const SparsePermutationProto &from)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_exactly_one()
Definition: cp_model.pb.h:9561
void MergeFrom(const CpObjectiveProto &from)
::operations_research::sat::CpSolverStatus status() const
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:636
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5481
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2678
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_
Definition: cp_model.pb.cc:320
void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4903
static constexpr DomainReductionStrategy SELECT_UPPER_HALF
Definition: cp_model.pb.h:5164
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:3127
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_y_intervals()
Definition: cp_model.pb.h:7950
void set_allocated_size_view(::operations_research::sat::LinearExpressionProto *size_view)
Definition: cp_model.pb.h:7786
void add_entries(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
Definition: cp_model.pb.h:8041
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1893
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3108
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2888
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.cc:401
friend void swap(CpModelProto &a, CpModelProto &b)
Definition: cp_model.pb.h:6021
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:281
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1890
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8743
NoOverlap2DConstraintProto * New() const final
Definition: cp_model.pb.h:2081
void UnsafeArenaSwap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1699
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1497
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8016
void CopyFrom(const CumulativeConstraintProto &from)
AutomatonConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3517
CpObjectiveProto(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4629
::operations_research::sat::DenseMatrixProto * add_orbitopes()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::int32 start() const
Definition: cp_model.pb.h:7483
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::AllDifferentConstraintProto * release_all_diff()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.cc:307
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.cc:217
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void Swap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1691
void CopyFrom(const ListOfVariablesProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
InverseConstraintProto(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3278
static const AutomatonConstraintProto & default_instance()
Definition: cp_model.pb.h:3484
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
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:1157
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution() const
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
Definition: cp_model.pb.h:6806
const ::operations_research::sat::CircuitConstraintProto & circuit() const
NoOverlapConstraintProto & operator=(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1880
void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7885
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8703
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8750
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1144
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1681
void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8152
void CopyFrom(const ReservoirConstraintProto &from)
void set_name(ArgT0 &&arg0, ArgT... args)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_size_view()
Definition: cp_model.pb.h:7766
DenseMatrixProto(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5640
void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value)
RoutesConstraintProto & operator=(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2859
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_and()
Definition: cp_model.pb.h:9413
::PROTOBUF_NAMESPACE_ID::int64 max_level() const
Definition: cp_model.pb.h:8164
void Swap(SymmetryProto *other)
Definition: cp_model.pb.h:5856
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::IntegerArgumentProto * release_int_div()
Definition: cp_model.pb.h:9686
void set_solve_log(ArgT0 &&arg0, ArgT... args)
void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_index(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7400
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8172
void CopyFrom(const IntegerArgumentProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void Swap(IntegerVariableProto *other)
Definition: cp_model.pb.h:317
static const CumulativeConstraintProto & default_instance()
Definition: cp_model.pb.h:2241
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
const std::string & solution_info() const
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
AllDifferentConstraintProto & operator=(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1128
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8339
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_actives()
Definition: cp_model.pb.h:8313
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto * release_bool_xor()
Definition: cp_model.pb.h:9612
PROTOBUF_MUST_USE_RESULT std::string * release_name()
Definition: cp_model.pb.h:9236
void CopyFrom(const AllDifferentConstraintProto &from)
IntegerArgumentProto * New() const final
Definition: cp_model.pb.h:655
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:470
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:6310
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & final_states() const
Definition: cp_model.pb.h:8948
ElementConstraintProto * New() const final
Definition: cp_model.pb.h:1532
void MergeFrom(const IntegerArgumentProto &from)
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:194
void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
BoolArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:506
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8491
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:9127
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.cc:90
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
Definition: cp_model.pb.h:5157
CumulativeConstraintProto * New() const final
Definition: cp_model.pb.h:2270
static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:5128
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
Definition: cp_model.pb.h:8768
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:3941
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5309
static const IntegerArgumentProto & default_instance()
Definition: cp_model.pb.h:626
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
Definition: cp_model.pb.h:7180
void add_support(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_mod()
Definition: cp_model.pb.h:9783
void Swap(ListOfVariablesProto *other)
Definition: cp_model.pb.h:3761
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:9120
void Swap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2891
::operations_research::sat::IntegerArgumentProto * mutable_int_prod()
void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
void unsafe_arena_set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
Definition: cp_model.pb.h:8088
static const ConstraintProto & default_instance()
Definition: cp_model.pb.h:3901
void MergeFrom(const SparsePermutationProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
PROTOBUF_MUST_USE_RESULT std::string * release_name()
Definition: cp_model.pb.h:6749
static const IntegerArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:629
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3892
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8632
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
Definition: cp_model.pb.h:1876
AllDifferentConstraintProto(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1119
DecisionStrategyProto * New() const final
Definition: cp_model.pb.h:5072
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3111
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_name(ArgT0 &&arg0, ArgT... args)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
TableConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3150
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const CircuitConstraintProto &from)
void set_allocated_solve_log(std::string *solve_log)
void CopyFrom(const ConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
Definition: cp_model.pb.h:8547
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.cc:285
void unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
Definition: cp_model.pb.h:9424
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_target()
Definition: cp_model.pb.h:7105
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::operations_research::sat::CumulativeConstraintProto * unsafe_arena_release_cumulative()
void unsafe_arena_set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto *dummy_constraint)
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:2218
void Swap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3497
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearArgumentProto * release_lin_min()
void Swap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2463
::operations_research::sat::AutomatonConstraintProto * unsafe_arena_release_automaton()
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
Definition: cp_model.pb.h:9631
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1494
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DomainReductionStrategy_descriptor()
Definition: cp_model.pb.h:5178
void unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
void set_allocated_start_view(::operations_research::sat::LinearExpressionProto *start_view)
Definition: cp_model.pb.h:7606
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8538
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:5322
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:9171
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
Definition: cp_model.pb.h:8641
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3742
static const NoOverlapConstraintProto & default_instance()
Definition: cp_model.pb.h:1899
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2669
void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7046
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearExpressionProto * release_target()
Definition: cp_model.pb.h:7090
::PROTOBUF_NAMESPACE_ID::int64 starting_state() const
Definition: cp_model.pb.h:8902
::operations_research::sat::ElementConstraintProto * unsafe_arena_release_element()
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5840
::PROTOBUF_NAMESPACE_ID::int32 index() const
Definition: cp_model.pb.h:7392
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:295
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:8712
DecisionStrategyProto & operator=(const DecisionStrategyProto &from)
Definition: cp_model.pb.h:5020
static const SparsePermutationProto & default_instance()
Definition: cp_model.pb.h:5490
void unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
Definition: cp_model.pb.h:9498
static bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DomainReductionStrategy *value)
Definition: cp_model.pb.h:5188
static const NoOverlap2DConstraintProto & default_instance()
Definition: cp_model.pb.h:2052
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
Definition: cp_model.pb.h:6797
static const TableConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3120
void set_allocated_end_view(::operations_research::sat::LinearExpressionProto *end_view)
Definition: cp_model.pb.h:7696
CircuitConstraintProto & operator=(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2656
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.cc:165
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:2685
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:5487
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & tightened_variables() const
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2244
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Collection of objects used to extend the Constraint Solver library.
CumulativeConstraintProto(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2213
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
CpModelProto & operator=(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5992
void UnsafeArenaSwap(SymmetryProto *other)
Definition: cp_model.pb.h:5864
::operations_research::sat::CpObjectiveProto * mutable_objective()
PROTOBUF_MUST_USE_RESULT std::string * release_solution_info()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
Definition: cp_model.pb.h:8603
ListOfVariablesProto(ListOfVariablesProto &&from) noexcept
Definition: cp_model.pb.h:3720
void Swap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1160
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:2652
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:6281
void CopyFrom(const TableConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:3094
const int64_t offset_
Definition: interval.cc:2108
const ::operations_research::sat::IntervalConstraintProto & interval() const
void CopyFrom(const LinearConstraintProto &from)
RoutesConstraintProto(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2850
static constexpr int VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:5139
LinearArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1012
void set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7442
CpModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:6044
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:970
::operations_research::sat::LinearArgumentProto * mutable_lin_min()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void Swap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3319
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.cc:135
SymmetryProto * New() const final
Definition: cp_model.pb.h:5872
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::NoOverlap2DConstraintProto * release_no_overlap_2d()
SparsePermutationProto & operator=(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5471
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:192
::operations_research::sat::PartialVariableAssignment * mutable_solution_hint()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
Definition: cp_model.pb.h:8032
const ::operations_research::sat::IntegerArgumentProto & int_mod() const
Definition: cp_model.pb.h:9779
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:221
friend void swap(ListOfVariablesProto &a, ListOfVariablesProto &b)
Definition: cp_model.pb.h:3758
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::operations_research::sat::ListOfVariablesProto * unsafe_arena_release_dummy_constraint()
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7008
BoolArgumentProto(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:445
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:4654
void MergeFrom(const ReservoirConstraintProto &from)
void unsafe_arena_set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & cycle_sizes() const
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::operations_research::sat::LinearArgumentProto * mutable_lin_max()
Definition: cp_model.pb.h:9958
NoOverlapConstraintProto * New() const final
Definition: cp_model.pb.h:1928
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > * mutable_search_strategy()
static const RoutesConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2881
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
Definition: cp_model.pb.h:8759
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1672
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
void unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:3878
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:249
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void Swap(CpModelProto *other)
Definition: cp_model.pb.h:6024
void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
void UnsafeArenaSwap(ListOfVariablesProto *other)
Definition: cp_model.pb.h:3769
::operations_research::sat::ReservoirConstraintProto * mutable_reservoir()
::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void UnsafeArenaSwap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4678
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1500
static const CpObjectiveProto & default_instance()
Definition: cp_model.pb.h:4657
::operations_research::sat::LinearExpressionProto * add_energies()
Definition: cp_model.pb.h:8122
static const DenseMatrixProto & default_instance()
Definition: cp_model.pb.h:5668
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7351
void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
ReservoirConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2483
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6881
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:4879
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
Definition: cp_model.pb.h:8079
LinearExpressionProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:823
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void CopyFrom(const RoutesConstraintProto &from)
void Swap(ConstraintProto *other)
Definition: cp_model.pb.h:3944
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
Definition: cp_model.pb.h:8402
static constexpr DomainReductionStrategy SELECT_LOWER_HALF
Definition: cp_model.pb.h:5162
DecisionStrategyProto_AffineTransformation * New() const final
Definition: cp_model.pb.h:4911
PROTOBUF_MUST_USE_RESULT ::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:951
void unsafe_arena_set_allocated_end_view(::operations_research::sat::LinearExpressionProto *end_view)
Definition: cp_model.pb.h:7648
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_variables()
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_min()
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:4859
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
Definition: cp_model.pb.cc:464
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_times()
Definition: cp_model.pb.h:8219
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_cycle_sizes()
void MergeFrom(const ListOfVariablesProto &from)
void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8979
NoOverlapConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1932
LinearConstraintProto * New() const final
Definition: cp_model.pb.h:1329
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
ElementConstraintProto & operator=(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1484
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:6297
::operations_research::sat::SymmetryProto * mutable_symmetry()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::operations_research::sat::BoolArgumentProto * mutable_bool_xor()
Definition: cp_model.pb.h:9662
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1896
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
NoOverlap2DConstraintProto(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2024
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_min()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > & permutations() const
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1688
void CopyFrom(const CpObjectiveProto &from)
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8063
void Swap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1912
void Swap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5681
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:7273
void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
CpModelProto * New() const final
Definition: cp_model.pb.h:6040
::operations_research::sat::TableConstraintProto * unsafe_arena_release_table()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_upper_bounds()
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8393
void unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
Definition: cp_model.pb.h:9350
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
AutomatonConstraintProto & operator=(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3465
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::LinearArgumentProto * release_lin_max()
Definition: cp_model.pb.h:9908
void set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
bool CpSolverStatus_IsValid(int value)
void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8821
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void UnsafeArenaSwap(LinearArgumentProto *other)
Definition: cp_model.pb.h:1000
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1675
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7001
LinearConstraintProto & operator=(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1281
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:5303
IntegerVariableProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:337
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.cc:502
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:4667
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3478
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8625
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
Definition: cp_model.pb.cc:416
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7925
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:476
int64_t value
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:54
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > & constraints() const
::operations_research::sat::RoutesConstraintProto * unsafe_arena_release_routes()
::operations_research::sat::IntegerArgumentProto * mutable_int_mod()
Definition: cp_model.pb.h:9810
NoOverlap2DConstraintProto & operator=(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2033
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
IntervalVar * interval
Definition: resource.cc:100
ConstraintProto * New() const final
Definition: cp_model.pb.h:3960
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::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:1909
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_label()
Definition: cp_model.pb.h:9098
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
const ::operations_research::sat::IntegerArgumentProto & int_max() const
Definition: cp_model.pb.h:9853
LinearExpressionProto(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:762
void UnsafeArenaSwap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5333
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_inverse()
Definition: cp_model.pb.h:8886
static const PartialVariableAssignment & default_instance()
Definition: cp_model.pb.h:5312
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
CpObjectiveProto * New() const final
Definition: cp_model.pb.h:4686
void MergeFrom(const ElementConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::int32 target() const
Definition: cp_model.pb.h:7412
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3895
void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
ListOfVariablesProto & operator=(ListOfVariablesProto &&from) noexcept
Definition: cp_model.pb.h:3729
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7834
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2447
void Swap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1313
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:77
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3114
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:6781
::operations_research::sat::CpObjectiveProto * unsafe_arena_release_objective()
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:8868
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_tail() const
Definition: cp_model.pb.h:8995
void unsafe_arena_set_allocated_start_view(::operations_research::sat::LinearExpressionProto *start_view)
Definition: cp_model.pb.h:7558
::operations_research::sat::BoolArgumentProto * mutable_at_most_one()
Definition: cp_model.pb.h:9514
void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:8248
RoutesConstraintProto * New() const final
Definition: cp_model.pb.h:2907
SymmetryProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5876
int64_t a
CpSolverResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:6333
PROTOBUF_MUST_USE_RESULT ::operations_research::sat::BoolArgumentProto * release_bool_and()
Definition: cp_model.pb.h:9390
static const ListOfVariablesProto * internal_default_instance()
Definition: cp_model.pb.h:3751
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
Definition: cp_model.pb.h:8509
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:976