OR-Tools  8.2
cp_model.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/cp_model.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3014000
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 3014000 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 // @@protoc_insertion_point(includes)
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto
38 PROTOBUF_NAMESPACE_OPEN
39 namespace internal {
40 class AnyMetadata;
41 } // namespace internal
42 PROTOBUF_NAMESPACE_CLOSE
43 
44 // Internal implementation detail -- do not use these members.
46  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
47  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
48  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
49  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[28]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
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 class AllDifferentConstraintProtoDefaultTypeInternal;
62 class AutomatonConstraintProto;
65 class BoolArgumentProto;
68 class CircuitConstraintProto;
71 class ConstraintProto;
74 class CpModelProto;
77 class CpObjectiveProto;
80 class CpSolverResponse;
83 class CumulativeConstraintProto;
86 class DecisionStrategyProto;
89 class DecisionStrategyProto_AffineTransformation;
92 class DenseMatrixProto;
95 class ElementConstraintProto;
98 class IntegerArgumentProto;
101 class IntegerVariableProto;
104 class IntervalConstraintProto;
107 class InverseConstraintProto;
110 class LinearArgumentProto;
113 class LinearConstraintProto;
116 class LinearExpressionProto;
119 class NoOverlap2DConstraintProto;
122 class NoOverlapConstraintProto;
125 class PartialVariableAssignment;
128 class ReservoirConstraintProto;
131 class RoutesConstraintProto;
134 class SparsePermutationProto;
137 class SymmetryProto;
140 class TableConstraintProto;
143 } // namespace sat
144 } // namespace operations_research
145 PROTOBUF_NAMESPACE_OPEN
146 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
147 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
148 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
149 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
150 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
151 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
152 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
153 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
154 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
155 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
156 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
157 template<> ::operations_research::sat::DenseMatrixProto* Arena::CreateMaybeMessage<::operations_research::sat::DenseMatrixProto>(Arena*);
158 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
159 template<> ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerArgumentProto>(Arena*);
160 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
161 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
162 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
163 template<> ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearArgumentProto>(Arena*);
164 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
165 template<> ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(Arena*);
166 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
167 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
168 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
169 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
170 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
171 template<> ::operations_research::sat::SparsePermutationProto* Arena::CreateMaybeMessage<::operations_research::sat::SparsePermutationProto>(Arena*);
172 template<> ::operations_research::sat::SymmetryProto* Arena::CreateMaybeMessage<::operations_research::sat::SymmetryProto>(Arena*);
173 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
174 PROTOBUF_NAMESPACE_CLOSE
175 namespace operations_research {
176 namespace sat {
177 
186 };
191 
192 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
193 template<typename T>
194 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
197  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
198  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
200 }
202  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy* value) {
203  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
205 }
214 };
219 
220 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
221 template<typename T>
222 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
225  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
226  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
228 }
230  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy* value) {
231  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
233 }
234 enum CpSolverStatus : int {
235  UNKNOWN = 0,
237  FEASIBLE = 2,
239  OPTIMAL = 4,
242 };
243 bool CpSolverStatus_IsValid(int value);
247 
248 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
249 template<typename T>
250 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
251  static_assert(::std::is_same<T, CpSolverStatus>::value ||
253  "Incorrect type passed to function CpSolverStatus_Name.");
254  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
255  CpSolverStatus_descriptor(), enum_t_value);
256 }
258  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus* value) {
259  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
261 }
262 // ===================================================================
263 
264 class IntegerVariableProto PROTOBUF_FINAL :
265  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
266  public:
267  inline IntegerVariableProto() : IntegerVariableProto(nullptr) {}
269 
270  IntegerVariableProto(const IntegerVariableProto& from);
271  IntegerVariableProto(IntegerVariableProto&& from) noexcept
272  : IntegerVariableProto() {
273  *this = ::std::move(from);
274  }
275 
276  inline IntegerVariableProto& operator=(const IntegerVariableProto& from) {
277  CopyFrom(from);
278  return *this;
279  }
280  inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
281  if (GetArena() == from.GetArena()) {
282  if (this != &from) InternalSwap(&from);
283  } else {
284  CopyFrom(from);
285  }
286  return *this;
287  }
288 
289  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
290  return GetDescriptor();
291  }
292  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
293  return GetMetadataStatic().descriptor;
294  }
295  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
296  return GetMetadataStatic().reflection;
297  }
298  static const IntegerVariableProto& default_instance();
299 
300  static inline const IntegerVariableProto* internal_default_instance() {
301  return reinterpret_cast<const IntegerVariableProto*>(
303  }
304  static constexpr int kIndexInFileMessages =
305  0;
306 
307  friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) {
308  a.Swap(&b);
309  }
310  inline void Swap(IntegerVariableProto* other) {
311  if (other == this) return;
312  if (GetArena() == other->GetArena()) {
313  InternalSwap(other);
314  } else {
315  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
316  }
317  }
318  void UnsafeArenaSwap(IntegerVariableProto* other) {
319  if (other == this) return;
320  GOOGLE_DCHECK(GetArena() == other->GetArena());
321  InternalSwap(other);
322  }
323 
324  // implements Message ----------------------------------------------
325 
326  inline IntegerVariableProto* New() const final {
327  return CreateMaybeMessage<IntegerVariableProto>(nullptr);
328  }
329 
330  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
331  return CreateMaybeMessage<IntegerVariableProto>(arena);
332  }
333  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
334  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
335  void CopyFrom(const IntegerVariableProto& from);
336  void MergeFrom(const IntegerVariableProto& from);
337  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
338  bool IsInitialized() const final;
339 
340  size_t ByteSizeLong() const final;
341  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
342  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
343  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
344  int GetCachedSize() const final { return _cached_size_.Get(); }
345 
346  private:
347  inline void SharedCtor();
348  inline void SharedDtor();
349  void SetCachedSize(int size) const final;
350  void InternalSwap(IntegerVariableProto* other);
351  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
352  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
353  return "operations_research.sat.IntegerVariableProto";
354  }
355  protected:
356  explicit IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
357  private:
358  static void ArenaDtor(void* object);
359  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
360  public:
361 
362  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
363  private:
364  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
365  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
366  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
367  }
368 
369  public:
370 
371  // nested types ----------------------------------------------------
372 
373  // accessors -------------------------------------------------------
374 
375  enum : int {
376  kDomainFieldNumber = 2,
377  kNameFieldNumber = 1,
378  };
379  // repeated int64 domain = 2;
380  int domain_size() const;
381  private:
382  int _internal_domain_size() const;
383  public:
384  void clear_domain();
385  private:
386  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
387  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
388  _internal_domain() const;
389  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
390  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
391  _internal_mutable_domain();
392  public:
396  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
397  domain() const;
398  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
400 
401  // string name = 1;
402  void clear_name();
403  const std::string& name() const;
404  void set_name(const std::string& value);
405  void set_name(std::string&& value);
406  void set_name(const char* value);
407  void set_name(const char* value, size_t size);
408  std::string* mutable_name();
409  std::string* release_name();
410  void set_allocated_name(std::string* name);
411  private:
412  const std::string& _internal_name() const;
413  void _internal_set_name(const std::string& value);
414  std::string* _internal_mutable_name();
415  public:
416 
417  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
418  private:
419  class _Internal;
420 
421  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
422  typedef void InternalArenaConstructable_;
423  typedef void DestructorSkippable_;
424  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
425  mutable std::atomic<int> _domain_cached_byte_size_;
426  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
427  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
428  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
429 };
430 // -------------------------------------------------------------------
431 
432 class BoolArgumentProto PROTOBUF_FINAL :
433  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
434  public:
435  inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
437 
438  BoolArgumentProto(const BoolArgumentProto& from);
439  BoolArgumentProto(BoolArgumentProto&& from) noexcept
440  : BoolArgumentProto() {
441  *this = ::std::move(from);
442  }
443 
444  inline BoolArgumentProto& operator=(const BoolArgumentProto& from) {
445  CopyFrom(from);
446  return *this;
447  }
448  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
449  if (GetArena() == from.GetArena()) {
450  if (this != &from) InternalSwap(&from);
451  } else {
452  CopyFrom(from);
453  }
454  return *this;
455  }
456 
457  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
458  return GetDescriptor();
459  }
460  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
461  return GetMetadataStatic().descriptor;
462  }
463  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
464  return GetMetadataStatic().reflection;
465  }
466  static const BoolArgumentProto& default_instance();
467 
468  static inline const BoolArgumentProto* internal_default_instance() {
469  return reinterpret_cast<const BoolArgumentProto*>(
471  }
472  static constexpr int kIndexInFileMessages =
473  1;
474 
475  friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) {
476  a.Swap(&b);
477  }
478  inline void Swap(BoolArgumentProto* other) {
479  if (other == this) return;
480  if (GetArena() == other->GetArena()) {
481  InternalSwap(other);
482  } else {
483  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
484  }
485  }
486  void UnsafeArenaSwap(BoolArgumentProto* other) {
487  if (other == this) return;
488  GOOGLE_DCHECK(GetArena() == other->GetArena());
489  InternalSwap(other);
490  }
491 
492  // implements Message ----------------------------------------------
493 
494  inline BoolArgumentProto* New() const final {
495  return CreateMaybeMessage<BoolArgumentProto>(nullptr);
496  }
497 
498  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
499  return CreateMaybeMessage<BoolArgumentProto>(arena);
500  }
501  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
502  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
503  void CopyFrom(const BoolArgumentProto& from);
504  void MergeFrom(const BoolArgumentProto& from);
505  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
506  bool IsInitialized() const final;
507 
508  size_t ByteSizeLong() const final;
509  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
510  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
511  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
512  int GetCachedSize() const final { return _cached_size_.Get(); }
513 
514  private:
515  inline void SharedCtor();
516  inline void SharedDtor();
517  void SetCachedSize(int size) const final;
518  void InternalSwap(BoolArgumentProto* other);
519  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
520  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
521  return "operations_research.sat.BoolArgumentProto";
522  }
523  protected:
524  explicit BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
525  private:
526  static void ArenaDtor(void* object);
527  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
528  public:
529 
530  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
531  private:
532  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
533  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
534  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
535  }
536 
537  public:
538 
539  // nested types ----------------------------------------------------
540 
541  // accessors -------------------------------------------------------
542 
543  enum : int {
544  kLiteralsFieldNumber = 1,
545  };
546  // repeated int32 literals = 1;
547  int literals_size() const;
548  private:
549  int _internal_literals_size() const;
550  public:
552  private:
553  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
554  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
555  _internal_literals() const;
556  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
557  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
558  _internal_mutable_literals();
559  public:
563  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
564  literals() const;
565  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
567 
568  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
569  private:
570  class _Internal;
571 
572  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
573  typedef void InternalArenaConstructable_;
574  typedef void DestructorSkippable_;
575  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
576  mutable std::atomic<int> _literals_cached_byte_size_;
577  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
578  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
579 };
580 // -------------------------------------------------------------------
581 
582 class IntegerArgumentProto PROTOBUF_FINAL :
583  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerArgumentProto) */ {
584  public:
585  inline IntegerArgumentProto() : IntegerArgumentProto(nullptr) {}
587 
588  IntegerArgumentProto(const IntegerArgumentProto& from);
589  IntegerArgumentProto(IntegerArgumentProto&& from) noexcept
590  : IntegerArgumentProto() {
591  *this = ::std::move(from);
592  }
593 
594  inline IntegerArgumentProto& operator=(const IntegerArgumentProto& from) {
595  CopyFrom(from);
596  return *this;
597  }
598  inline IntegerArgumentProto& operator=(IntegerArgumentProto&& from) noexcept {
599  if (GetArena() == from.GetArena()) {
600  if (this != &from) InternalSwap(&from);
601  } else {
602  CopyFrom(from);
603  }
604  return *this;
605  }
606 
607  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
608  return GetDescriptor();
609  }
610  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
611  return GetMetadataStatic().descriptor;
612  }
613  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
614  return GetMetadataStatic().reflection;
615  }
616  static const IntegerArgumentProto& default_instance();
617 
618  static inline const IntegerArgumentProto* internal_default_instance() {
619  return reinterpret_cast<const IntegerArgumentProto*>(
621  }
622  static constexpr int kIndexInFileMessages =
623  2;
624 
625  friend void swap(IntegerArgumentProto& a, IntegerArgumentProto& b) {
626  a.Swap(&b);
627  }
628  inline void Swap(IntegerArgumentProto* other) {
629  if (other == this) return;
630  if (GetArena() == other->GetArena()) {
631  InternalSwap(other);
632  } else {
633  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
634  }
635  }
636  void UnsafeArenaSwap(IntegerArgumentProto* other) {
637  if (other == this) return;
638  GOOGLE_DCHECK(GetArena() == other->GetArena());
639  InternalSwap(other);
640  }
641 
642  // implements Message ----------------------------------------------
643 
644  inline IntegerArgumentProto* New() const final {
645  return CreateMaybeMessage<IntegerArgumentProto>(nullptr);
646  }
647 
648  IntegerArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
649  return CreateMaybeMessage<IntegerArgumentProto>(arena);
650  }
651  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
652  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
653  void CopyFrom(const IntegerArgumentProto& from);
654  void MergeFrom(const IntegerArgumentProto& from);
655  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
656  bool IsInitialized() const final;
657 
658  size_t ByteSizeLong() const final;
659  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
660  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
661  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
662  int GetCachedSize() const final { return _cached_size_.Get(); }
663 
664  private:
665  inline void SharedCtor();
666  inline void SharedDtor();
667  void SetCachedSize(int size) const final;
668  void InternalSwap(IntegerArgumentProto* other);
669  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
670  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
671  return "operations_research.sat.IntegerArgumentProto";
672  }
673  protected:
674  explicit IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
675  private:
676  static void ArenaDtor(void* object);
677  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
678  public:
679 
680  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
681  private:
682  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
683  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
684  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
685  }
686 
687  public:
688 
689  // nested types ----------------------------------------------------
690 
691  // accessors -------------------------------------------------------
692 
693  enum : int {
694  kVarsFieldNumber = 2,
695  kTargetFieldNumber = 1,
696  };
697  // repeated int32 vars = 2;
698  int vars_size() const;
699  private:
700  int _internal_vars_size() const;
701  public:
702  void clear_vars();
703  private:
704  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
705  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
706  _internal_vars() const;
707  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
708  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
709  _internal_mutable_vars();
710  public:
714  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
715  vars() const;
716  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
718 
719  // int32 target = 1;
720  void clear_target();
723  private:
724  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
725  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
726  public:
727 
728  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerArgumentProto)
729  private:
730  class _Internal;
731 
732  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
733  typedef void InternalArenaConstructable_;
734  typedef void DestructorSkippable_;
735  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
736  mutable std::atomic<int> _vars_cached_byte_size_;
738  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
739  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
740 };
741 // -------------------------------------------------------------------
742 
743 class LinearExpressionProto PROTOBUF_FINAL :
744  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
745  public:
746  inline LinearExpressionProto() : LinearExpressionProto(nullptr) {}
748 
749  LinearExpressionProto(const LinearExpressionProto& from);
750  LinearExpressionProto(LinearExpressionProto&& from) noexcept
751  : LinearExpressionProto() {
752  *this = ::std::move(from);
753  }
754 
755  inline LinearExpressionProto& operator=(const LinearExpressionProto& from) {
756  CopyFrom(from);
757  return *this;
758  }
759  inline LinearExpressionProto& operator=(LinearExpressionProto&& from) noexcept {
760  if (GetArena() == from.GetArena()) {
761  if (this != &from) InternalSwap(&from);
762  } else {
763  CopyFrom(from);
764  }
765  return *this;
766  }
767 
768  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
769  return GetDescriptor();
770  }
771  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
772  return GetMetadataStatic().descriptor;
773  }
774  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
775  return GetMetadataStatic().reflection;
776  }
777  static const LinearExpressionProto& default_instance();
778 
779  static inline const LinearExpressionProto* internal_default_instance() {
780  return reinterpret_cast<const LinearExpressionProto*>(
782  }
783  static constexpr int kIndexInFileMessages =
784  3;
785 
786  friend void swap(LinearExpressionProto& a, LinearExpressionProto& b) {
787  a.Swap(&b);
788  }
789  inline void Swap(LinearExpressionProto* other) {
790  if (other == this) return;
791  if (GetArena() == other->GetArena()) {
792  InternalSwap(other);
793  } else {
794  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
795  }
796  }
797  void UnsafeArenaSwap(LinearExpressionProto* other) {
798  if (other == this) return;
799  GOOGLE_DCHECK(GetArena() == other->GetArena());
800  InternalSwap(other);
801  }
802 
803  // implements Message ----------------------------------------------
804 
805  inline LinearExpressionProto* New() const final {
806  return CreateMaybeMessage<LinearExpressionProto>(nullptr);
807  }
808 
809  LinearExpressionProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
810  return CreateMaybeMessage<LinearExpressionProto>(arena);
811  }
812  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
813  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
814  void CopyFrom(const LinearExpressionProto& from);
815  void MergeFrom(const LinearExpressionProto& from);
816  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
817  bool IsInitialized() const final;
818 
819  size_t ByteSizeLong() const final;
820  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
821  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
822  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
823  int GetCachedSize() const final { return _cached_size_.Get(); }
824 
825  private:
826  inline void SharedCtor();
827  inline void SharedDtor();
828  void SetCachedSize(int size) const final;
829  void InternalSwap(LinearExpressionProto* other);
830  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
831  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
832  return "operations_research.sat.LinearExpressionProto";
833  }
834  protected:
835  explicit LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
836  private:
837  static void ArenaDtor(void* object);
838  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
839  public:
840 
841  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
842  private:
843  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
844  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
845  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
846  }
847 
848  public:
849 
850  // nested types ----------------------------------------------------
851 
852  // accessors -------------------------------------------------------
853 
854  enum : int {
855  kVarsFieldNumber = 1,
856  kCoeffsFieldNumber = 2,
857  kOffsetFieldNumber = 3,
858  };
859  // repeated int32 vars = 1;
860  int vars_size() const;
861  private:
862  int _internal_vars_size() const;
863  public:
864  void clear_vars();
865  private:
866  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
867  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
868  _internal_vars() const;
869  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
870  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
871  _internal_mutable_vars();
872  public:
876  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
877  vars() const;
878  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
880 
881  // repeated int64 coeffs = 2;
882  int coeffs_size() const;
883  private:
884  int _internal_coeffs_size() const;
885  public:
886  void clear_coeffs();
887  private:
888  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
889  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
890  _internal_coeffs() const;
891  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
892  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
893  _internal_mutable_coeffs();
894  public:
898  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
899  coeffs() const;
900  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
902 
903  // int64 offset = 3;
904  void clear_offset();
907  private:
908  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
909  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
910  public:
911 
912  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
913  private:
914  class _Internal;
915 
916  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
917  typedef void InternalArenaConstructable_;
918  typedef void DestructorSkippable_;
919  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
920  mutable std::atomic<int> _vars_cached_byte_size_;
921  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
922  mutable std::atomic<int> _coeffs_cached_byte_size_;
924  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
925  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
926 };
927 // -------------------------------------------------------------------
928 
929 class LinearArgumentProto PROTOBUF_FINAL :
930  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
931  public:
932  inline LinearArgumentProto() : LinearArgumentProto(nullptr) {}
934 
935  LinearArgumentProto(const LinearArgumentProto& from);
936  LinearArgumentProto(LinearArgumentProto&& from) noexcept
937  : LinearArgumentProto() {
938  *this = ::std::move(from);
939  }
940 
941  inline LinearArgumentProto& operator=(const LinearArgumentProto& from) {
942  CopyFrom(from);
943  return *this;
944  }
945  inline LinearArgumentProto& operator=(LinearArgumentProto&& from) noexcept {
946  if (GetArena() == from.GetArena()) {
947  if (this != &from) InternalSwap(&from);
948  } else {
949  CopyFrom(from);
950  }
951  return *this;
952  }
953 
954  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
955  return GetDescriptor();
956  }
957  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
958  return GetMetadataStatic().descriptor;
959  }
960  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
961  return GetMetadataStatic().reflection;
962  }
963  static const LinearArgumentProto& default_instance();
964 
965  static inline const LinearArgumentProto* internal_default_instance() {
966  return reinterpret_cast<const LinearArgumentProto*>(
968  }
969  static constexpr int kIndexInFileMessages =
970  4;
971 
972  friend void swap(LinearArgumentProto& a, LinearArgumentProto& b) {
973  a.Swap(&b);
974  }
975  inline void Swap(LinearArgumentProto* other) {
976  if (other == this) return;
977  if (GetArena() == other->GetArena()) {
978  InternalSwap(other);
979  } else {
980  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
981  }
982  }
983  void UnsafeArenaSwap(LinearArgumentProto* other) {
984  if (other == this) return;
985  GOOGLE_DCHECK(GetArena() == other->GetArena());
986  InternalSwap(other);
987  }
988 
989  // implements Message ----------------------------------------------
990 
991  inline LinearArgumentProto* New() const final {
992  return CreateMaybeMessage<LinearArgumentProto>(nullptr);
993  }
994 
995  LinearArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
996  return CreateMaybeMessage<LinearArgumentProto>(arena);
997  }
998  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
999  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1000  void CopyFrom(const LinearArgumentProto& from);
1001  void MergeFrom(const LinearArgumentProto& from);
1002  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1003  bool IsInitialized() const final;
1004 
1005  size_t ByteSizeLong() const final;
1006  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1007  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1008  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1009  int GetCachedSize() const final { return _cached_size_.Get(); }
1010 
1011  private:
1012  inline void SharedCtor();
1013  inline void SharedDtor();
1014  void SetCachedSize(int size) const final;
1015  void InternalSwap(LinearArgumentProto* other);
1016  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1017  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1018  return "operations_research.sat.LinearArgumentProto";
1019  }
1020  protected:
1021  explicit LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1022  private:
1023  static void ArenaDtor(void* object);
1024  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1025  public:
1026 
1027  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1028  private:
1029  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1030  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1031  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1032  }
1033 
1034  public:
1035 
1036  // nested types ----------------------------------------------------
1037 
1038  // accessors -------------------------------------------------------
1039 
1040  enum : int {
1041  kExprsFieldNumber = 2,
1042  kTargetFieldNumber = 1,
1043  };
1044  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1045  int exprs_size() const;
1046  private:
1047  int _internal_exprs_size() const;
1048  public:
1049  void clear_exprs();
1050  ::operations_research::sat::LinearExpressionProto* mutable_exprs(int index);
1051  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
1053  private:
1054  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
1055  ::operations_research::sat::LinearExpressionProto* _internal_add_exprs();
1056  public:
1057  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
1058  ::operations_research::sat::LinearExpressionProto* add_exprs();
1059  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
1060  exprs() const;
1061 
1062  // .operations_research.sat.LinearExpressionProto target = 1;
1063  bool has_target() const;
1064  private:
1065  bool _internal_has_target() const;
1066  public:
1068  const ::operations_research::sat::LinearExpressionProto& target() const;
1069  ::operations_research::sat::LinearExpressionProto* release_target();
1070  ::operations_research::sat::LinearExpressionProto* mutable_target();
1071  void set_allocated_target(::operations_research::sat::LinearExpressionProto* target);
1072  private:
1073  const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
1074  ::operations_research::sat::LinearExpressionProto* _internal_mutable_target();
1075  public:
1077  ::operations_research::sat::LinearExpressionProto* target);
1078  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_target();
1079 
1080  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
1081  private:
1082  class _Internal;
1083 
1084  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1085  typedef void InternalArenaConstructable_;
1086  typedef void DestructorSkippable_;
1087  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
1088  ::operations_research::sat::LinearExpressionProto* target_;
1089  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1090  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1091 };
1092 // -------------------------------------------------------------------
1093 
1094 class AllDifferentConstraintProto PROTOBUF_FINAL :
1095  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
1096  public:
1097  inline AllDifferentConstraintProto() : AllDifferentConstraintProto(nullptr) {}
1099 
1100  AllDifferentConstraintProto(const AllDifferentConstraintProto& from);
1101  AllDifferentConstraintProto(AllDifferentConstraintProto&& from) noexcept
1102  : AllDifferentConstraintProto() {
1103  *this = ::std::move(from);
1104  }
1105 
1106  inline AllDifferentConstraintProto& operator=(const AllDifferentConstraintProto& from) {
1107  CopyFrom(from);
1108  return *this;
1109  }
1110  inline AllDifferentConstraintProto& operator=(AllDifferentConstraintProto&& from) noexcept {
1111  if (GetArena() == from.GetArena()) {
1112  if (this != &from) InternalSwap(&from);
1113  } else {
1114  CopyFrom(from);
1115  }
1116  return *this;
1117  }
1118 
1119  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1120  return GetDescriptor();
1121  }
1122  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1123  return GetMetadataStatic().descriptor;
1124  }
1125  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1126  return GetMetadataStatic().reflection;
1127  }
1128  static const AllDifferentConstraintProto& default_instance();
1129 
1130  static inline const AllDifferentConstraintProto* internal_default_instance() {
1131  return reinterpret_cast<const AllDifferentConstraintProto*>(
1133  }
1134  static constexpr int kIndexInFileMessages =
1135  5;
1136 
1137  friend void swap(AllDifferentConstraintProto& a, AllDifferentConstraintProto& b) {
1138  a.Swap(&b);
1139  }
1140  inline void Swap(AllDifferentConstraintProto* other) {
1141  if (other == this) return;
1142  if (GetArena() == other->GetArena()) {
1143  InternalSwap(other);
1144  } else {
1145  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1146  }
1147  }
1148  void UnsafeArenaSwap(AllDifferentConstraintProto* other) {
1149  if (other == this) return;
1150  GOOGLE_DCHECK(GetArena() == other->GetArena());
1151  InternalSwap(other);
1152  }
1153 
1154  // implements Message ----------------------------------------------
1155 
1156  inline AllDifferentConstraintProto* New() const final {
1157  return CreateMaybeMessage<AllDifferentConstraintProto>(nullptr);
1158  }
1159 
1160  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1161  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
1162  }
1163  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1164  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1165  void CopyFrom(const AllDifferentConstraintProto& from);
1166  void MergeFrom(const AllDifferentConstraintProto& from);
1167  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1168  bool IsInitialized() const final;
1169 
1170  size_t ByteSizeLong() const final;
1171  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1172  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1173  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1174  int GetCachedSize() const final { return _cached_size_.Get(); }
1175 
1176  private:
1177  inline void SharedCtor();
1178  inline void SharedDtor();
1179  void SetCachedSize(int size) const final;
1180  void InternalSwap(AllDifferentConstraintProto* other);
1181  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1182  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1183  return "operations_research.sat.AllDifferentConstraintProto";
1184  }
1185  protected:
1186  explicit AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1187  private:
1188  static void ArenaDtor(void* object);
1189  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1190  public:
1191 
1192  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1193  private:
1194  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1195  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1196  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1197  }
1198 
1199  public:
1200 
1201  // nested types ----------------------------------------------------
1202 
1203  // accessors -------------------------------------------------------
1204 
1205  enum : int {
1206  kVarsFieldNumber = 1,
1207  };
1208  // repeated int32 vars = 1;
1209  int vars_size() const;
1210  private:
1211  int _internal_vars_size() const;
1212  public:
1213  void clear_vars();
1214  private:
1215  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1216  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1217  _internal_vars() const;
1218  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1219  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1220  _internal_mutable_vars();
1221  public:
1225  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1226  vars() const;
1227  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1229 
1230  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
1231  private:
1232  class _Internal;
1233 
1234  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1235  typedef void InternalArenaConstructable_;
1236  typedef void DestructorSkippable_;
1237  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1238  mutable std::atomic<int> _vars_cached_byte_size_;
1239  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1240  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1241 };
1242 // -------------------------------------------------------------------
1243 
1244 class LinearConstraintProto PROTOBUF_FINAL :
1245  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1246  public:
1247  inline LinearConstraintProto() : LinearConstraintProto(nullptr) {}
1249 
1250  LinearConstraintProto(const LinearConstraintProto& from);
1251  LinearConstraintProto(LinearConstraintProto&& from) noexcept
1252  : LinearConstraintProto() {
1253  *this = ::std::move(from);
1254  }
1255 
1256  inline LinearConstraintProto& operator=(const LinearConstraintProto& from) {
1257  CopyFrom(from);
1258  return *this;
1259  }
1260  inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
1261  if (GetArena() == from.GetArena()) {
1262  if (this != &from) InternalSwap(&from);
1263  } else {
1264  CopyFrom(from);
1265  }
1266  return *this;
1267  }
1268 
1269  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1270  return GetDescriptor();
1271  }
1272  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1273  return GetMetadataStatic().descriptor;
1274  }
1275  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1276  return GetMetadataStatic().reflection;
1277  }
1278  static const LinearConstraintProto& default_instance();
1279 
1280  static inline const LinearConstraintProto* internal_default_instance() {
1281  return reinterpret_cast<const LinearConstraintProto*>(
1283  }
1284  static constexpr int kIndexInFileMessages =
1285  6;
1286 
1287  friend void swap(LinearConstraintProto& a, LinearConstraintProto& b) {
1288  a.Swap(&b);
1289  }
1290  inline void Swap(LinearConstraintProto* other) {
1291  if (other == this) return;
1292  if (GetArena() == other->GetArena()) {
1293  InternalSwap(other);
1294  } else {
1295  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1296  }
1297  }
1298  void UnsafeArenaSwap(LinearConstraintProto* other) {
1299  if (other == this) return;
1300  GOOGLE_DCHECK(GetArena() == other->GetArena());
1301  InternalSwap(other);
1302  }
1303 
1304  // implements Message ----------------------------------------------
1305 
1306  inline LinearConstraintProto* New() const final {
1307  return CreateMaybeMessage<LinearConstraintProto>(nullptr);
1308  }
1309 
1310  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1311  return CreateMaybeMessage<LinearConstraintProto>(arena);
1312  }
1313  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1314  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1315  void CopyFrom(const LinearConstraintProto& from);
1316  void MergeFrom(const LinearConstraintProto& from);
1317  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1318  bool IsInitialized() const final;
1319 
1320  size_t ByteSizeLong() const final;
1321  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1322  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1323  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1324  int GetCachedSize() const final { return _cached_size_.Get(); }
1325 
1326  private:
1327  inline void SharedCtor();
1328  inline void SharedDtor();
1329  void SetCachedSize(int size) const final;
1330  void InternalSwap(LinearConstraintProto* other);
1331  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1332  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1333  return "operations_research.sat.LinearConstraintProto";
1334  }
1335  protected:
1336  explicit LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1337  private:
1338  static void ArenaDtor(void* object);
1339  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1340  public:
1341 
1342  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1343  private:
1344  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1345  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1346  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1347  }
1348 
1349  public:
1350 
1351  // nested types ----------------------------------------------------
1352 
1353  // accessors -------------------------------------------------------
1354 
1355  enum : int {
1356  kVarsFieldNumber = 1,
1357  kCoeffsFieldNumber = 2,
1358  kDomainFieldNumber = 3,
1359  };
1360  // repeated int32 vars = 1;
1361  int vars_size() const;
1362  private:
1363  int _internal_vars_size() const;
1364  public:
1365  void clear_vars();
1366  private:
1367  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1368  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1369  _internal_vars() const;
1370  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1371  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1372  _internal_mutable_vars();
1373  public:
1377  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1378  vars() const;
1379  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1381 
1382  // repeated int64 coeffs = 2;
1383  int coeffs_size() const;
1384  private:
1385  int _internal_coeffs_size() const;
1386  public:
1388  private:
1389  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
1390  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1391  _internal_coeffs() const;
1392  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1393  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1394  _internal_mutable_coeffs();
1395  public:
1399  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1400  coeffs() const;
1401  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1403 
1404  // repeated int64 domain = 3;
1405  int domain_size() const;
1406  private:
1407  int _internal_domain_size() const;
1408  public:
1410  private:
1411  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
1412  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1413  _internal_domain() const;
1414  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1415  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1416  _internal_mutable_domain();
1417  public:
1421  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1422  domain() const;
1423  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1425 
1426  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1427  private:
1428  class _Internal;
1429 
1430  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1431  typedef void InternalArenaConstructable_;
1432  typedef void DestructorSkippable_;
1433  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1434  mutable std::atomic<int> _vars_cached_byte_size_;
1435  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
1436  mutable std::atomic<int> _coeffs_cached_byte_size_;
1437  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
1438  mutable std::atomic<int> _domain_cached_byte_size_;
1439  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1440  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1441 };
1442 // -------------------------------------------------------------------
1443 
1444 class ElementConstraintProto PROTOBUF_FINAL :
1445  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
1446  public:
1447  inline ElementConstraintProto() : ElementConstraintProto(nullptr) {}
1449 
1450  ElementConstraintProto(const ElementConstraintProto& from);
1451  ElementConstraintProto(ElementConstraintProto&& from) noexcept
1452  : ElementConstraintProto() {
1453  *this = ::std::move(from);
1454  }
1455 
1456  inline ElementConstraintProto& operator=(const ElementConstraintProto& from) {
1457  CopyFrom(from);
1458  return *this;
1459  }
1460  inline ElementConstraintProto& operator=(ElementConstraintProto&& from) noexcept {
1461  if (GetArena() == from.GetArena()) {
1462  if (this != &from) InternalSwap(&from);
1463  } else {
1464  CopyFrom(from);
1465  }
1466  return *this;
1467  }
1468 
1469  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1470  return GetDescriptor();
1471  }
1472  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1473  return GetMetadataStatic().descriptor;
1474  }
1475  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1476  return GetMetadataStatic().reflection;
1477  }
1478  static const ElementConstraintProto& default_instance();
1479 
1480  static inline const ElementConstraintProto* internal_default_instance() {
1481  return reinterpret_cast<const ElementConstraintProto*>(
1483  }
1484  static constexpr int kIndexInFileMessages =
1485  7;
1486 
1487  friend void swap(ElementConstraintProto& a, ElementConstraintProto& b) {
1488  a.Swap(&b);
1489  }
1490  inline void Swap(ElementConstraintProto* other) {
1491  if (other == this) return;
1492  if (GetArena() == other->GetArena()) {
1493  InternalSwap(other);
1494  } else {
1495  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1496  }
1497  }
1498  void UnsafeArenaSwap(ElementConstraintProto* other) {
1499  if (other == this) return;
1500  GOOGLE_DCHECK(GetArena() == other->GetArena());
1501  InternalSwap(other);
1502  }
1503 
1504  // implements Message ----------------------------------------------
1505 
1506  inline ElementConstraintProto* New() const final {
1507  return CreateMaybeMessage<ElementConstraintProto>(nullptr);
1508  }
1509 
1510  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1511  return CreateMaybeMessage<ElementConstraintProto>(arena);
1512  }
1513  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1514  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1515  void CopyFrom(const ElementConstraintProto& from);
1516  void MergeFrom(const ElementConstraintProto& from);
1517  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1518  bool IsInitialized() const final;
1519 
1520  size_t ByteSizeLong() const final;
1521  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1522  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1523  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1524  int GetCachedSize() const final { return _cached_size_.Get(); }
1525 
1526  private:
1527  inline void SharedCtor();
1528  inline void SharedDtor();
1529  void SetCachedSize(int size) const final;
1530  void InternalSwap(ElementConstraintProto* other);
1531  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1532  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1533  return "operations_research.sat.ElementConstraintProto";
1534  }
1535  protected:
1536  explicit ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1537  private:
1538  static void ArenaDtor(void* object);
1539  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1540  public:
1541 
1542  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1543  private:
1544  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1545  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1546  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1547  }
1548 
1549  public:
1550 
1551  // nested types ----------------------------------------------------
1552 
1553  // accessors -------------------------------------------------------
1554 
1555  enum : int {
1556  kVarsFieldNumber = 3,
1557  kIndexFieldNumber = 1,
1558  kTargetFieldNumber = 2,
1559  };
1560  // repeated int32 vars = 3;
1561  int vars_size() const;
1562  private:
1563  int _internal_vars_size() const;
1564  public:
1565  void clear_vars();
1566  private:
1567  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1568  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1569  _internal_vars() const;
1570  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1571  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1572  _internal_mutable_vars();
1573  public:
1577  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1578  vars() const;
1579  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1581 
1582  // int32 index = 1;
1583  void clear_index();
1586  private:
1587  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
1588  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1589  public:
1590 
1591  // int32 target = 2;
1595  private:
1596  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
1597  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1598  public:
1599 
1600  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1601  private:
1602  class _Internal;
1603 
1604  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1605  typedef void InternalArenaConstructable_;
1606  typedef void DestructorSkippable_;
1607  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1608  mutable std::atomic<int> _vars_cached_byte_size_;
1611  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1612  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1613 };
1614 // -------------------------------------------------------------------
1615 
1616 class IntervalConstraintProto PROTOBUF_FINAL :
1617  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1618  public:
1619  inline IntervalConstraintProto() : IntervalConstraintProto(nullptr) {}
1621 
1622  IntervalConstraintProto(const IntervalConstraintProto& from);
1623  IntervalConstraintProto(IntervalConstraintProto&& from) noexcept
1624  : IntervalConstraintProto() {
1625  *this = ::std::move(from);
1626  }
1627 
1628  inline IntervalConstraintProto& operator=(const IntervalConstraintProto& from) {
1629  CopyFrom(from);
1630  return *this;
1631  }
1632  inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
1633  if (GetArena() == from.GetArena()) {
1634  if (this != &from) InternalSwap(&from);
1635  } else {
1636  CopyFrom(from);
1637  }
1638  return *this;
1639  }
1640 
1641  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1642  return GetDescriptor();
1643  }
1644  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1645  return GetMetadataStatic().descriptor;
1646  }
1647  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1648  return GetMetadataStatic().reflection;
1649  }
1650  static const IntervalConstraintProto& default_instance();
1651 
1652  static inline const IntervalConstraintProto* internal_default_instance() {
1653  return reinterpret_cast<const IntervalConstraintProto*>(
1655  }
1656  static constexpr int kIndexInFileMessages =
1657  8;
1658 
1659  friend void swap(IntervalConstraintProto& a, IntervalConstraintProto& b) {
1660  a.Swap(&b);
1661  }
1662  inline void Swap(IntervalConstraintProto* other) {
1663  if (other == this) return;
1664  if (GetArena() == other->GetArena()) {
1665  InternalSwap(other);
1666  } else {
1667  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1668  }
1669  }
1670  void UnsafeArenaSwap(IntervalConstraintProto* other) {
1671  if (other == this) return;
1672  GOOGLE_DCHECK(GetArena() == other->GetArena());
1673  InternalSwap(other);
1674  }
1675 
1676  // implements Message ----------------------------------------------
1677 
1678  inline IntervalConstraintProto* New() const final {
1679  return CreateMaybeMessage<IntervalConstraintProto>(nullptr);
1680  }
1681 
1682  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1683  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1684  }
1685  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1686  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1687  void CopyFrom(const IntervalConstraintProto& from);
1688  void MergeFrom(const IntervalConstraintProto& from);
1689  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1690  bool IsInitialized() const final;
1691 
1692  size_t ByteSizeLong() const final;
1693  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1694  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1695  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1696  int GetCachedSize() const final { return _cached_size_.Get(); }
1697 
1698  private:
1699  inline void SharedCtor();
1700  inline void SharedDtor();
1701  void SetCachedSize(int size) const final;
1702  void InternalSwap(IntervalConstraintProto* other);
1703  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1704  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1705  return "operations_research.sat.IntervalConstraintProto";
1706  }
1707  protected:
1708  explicit IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1709  private:
1710  static void ArenaDtor(void* object);
1711  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1712  public:
1713 
1714  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1715  private:
1716  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1717  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1718  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1719  }
1720 
1721  public:
1722 
1723  // nested types ----------------------------------------------------
1724 
1725  // accessors -------------------------------------------------------
1726 
1727  enum : int {
1728  kStartViewFieldNumber = 4,
1729  kEndViewFieldNumber = 5,
1730  kSizeViewFieldNumber = 6,
1731  kStartFieldNumber = 1,
1732  kEndFieldNumber = 2,
1733  kSizeFieldNumber = 3,
1734  };
1735  // .operations_research.sat.LinearExpressionProto start_view = 4;
1736  bool has_start_view() const;
1737  private:
1738  bool _internal_has_start_view() const;
1739  public:
1741  const ::operations_research::sat::LinearExpressionProto& start_view() const;
1742  ::operations_research::sat::LinearExpressionProto* release_start_view();
1743  ::operations_research::sat::LinearExpressionProto* mutable_start_view();
1744  void set_allocated_start_view(::operations_research::sat::LinearExpressionProto* start_view);
1745  private:
1746  const ::operations_research::sat::LinearExpressionProto& _internal_start_view() const;
1747  ::operations_research::sat::LinearExpressionProto* _internal_mutable_start_view();
1748  public:
1750  ::operations_research::sat::LinearExpressionProto* start_view);
1751  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_start_view();
1752 
1753  // .operations_research.sat.LinearExpressionProto end_view = 5;
1754  bool has_end_view() const;
1755  private:
1756  bool _internal_has_end_view() const;
1757  public:
1759  const ::operations_research::sat::LinearExpressionProto& end_view() const;
1760  ::operations_research::sat::LinearExpressionProto* release_end_view();
1761  ::operations_research::sat::LinearExpressionProto* mutable_end_view();
1762  void set_allocated_end_view(::operations_research::sat::LinearExpressionProto* end_view);
1763  private:
1764  const ::operations_research::sat::LinearExpressionProto& _internal_end_view() const;
1765  ::operations_research::sat::LinearExpressionProto* _internal_mutable_end_view();
1766  public:
1768  ::operations_research::sat::LinearExpressionProto* end_view);
1769  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_end_view();
1770 
1771  // .operations_research.sat.LinearExpressionProto size_view = 6;
1772  bool has_size_view() const;
1773  private:
1774  bool _internal_has_size_view() const;
1775  public:
1777  const ::operations_research::sat::LinearExpressionProto& size_view() const;
1778  ::operations_research::sat::LinearExpressionProto* release_size_view();
1779  ::operations_research::sat::LinearExpressionProto* mutable_size_view();
1780  void set_allocated_size_view(::operations_research::sat::LinearExpressionProto* size_view);
1781  private:
1782  const ::operations_research::sat::LinearExpressionProto& _internal_size_view() const;
1783  ::operations_research::sat::LinearExpressionProto* _internal_mutable_size_view();
1784  public:
1786  ::operations_research::sat::LinearExpressionProto* size_view);
1787  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_size_view();
1788 
1789  // int32 start = 1;
1790  void clear_start();
1793  private:
1794  ::PROTOBUF_NAMESPACE_ID::int32 _internal_start() const;
1795  void _internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1796  public:
1797 
1798  // int32 end = 2;
1799  void clear_end();
1802  private:
1803  ::PROTOBUF_NAMESPACE_ID::int32 _internal_end() const;
1804  void _internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1805  public:
1806 
1807  // int32 size = 3;
1808  void clear_size();
1811  private:
1812  ::PROTOBUF_NAMESPACE_ID::int32 _internal_size() const;
1813  void _internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1814  public:
1815 
1816  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1817  private:
1818  class _Internal;
1819 
1820  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1821  typedef void InternalArenaConstructable_;
1822  typedef void DestructorSkippable_;
1823  ::operations_research::sat::LinearExpressionProto* start_view_;
1824  ::operations_research::sat::LinearExpressionProto* end_view_;
1825  ::operations_research::sat::LinearExpressionProto* size_view_;
1829  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1830  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1831 };
1832 // -------------------------------------------------------------------
1833 
1834 class NoOverlapConstraintProto PROTOBUF_FINAL :
1835  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1836  public:
1837  inline NoOverlapConstraintProto() : NoOverlapConstraintProto(nullptr) {}
1839 
1840  NoOverlapConstraintProto(const NoOverlapConstraintProto& from);
1841  NoOverlapConstraintProto(NoOverlapConstraintProto&& from) noexcept
1842  : NoOverlapConstraintProto() {
1843  *this = ::std::move(from);
1844  }
1845 
1846  inline NoOverlapConstraintProto& operator=(const NoOverlapConstraintProto& from) {
1847  CopyFrom(from);
1848  return *this;
1849  }
1850  inline NoOverlapConstraintProto& operator=(NoOverlapConstraintProto&& from) noexcept {
1851  if (GetArena() == from.GetArena()) {
1852  if (this != &from) InternalSwap(&from);
1853  } else {
1854  CopyFrom(from);
1855  }
1856  return *this;
1857  }
1858 
1859  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1860  return GetDescriptor();
1861  }
1862  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1863  return GetMetadataStatic().descriptor;
1864  }
1865  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1866  return GetMetadataStatic().reflection;
1867  }
1868  static const NoOverlapConstraintProto& default_instance();
1869 
1870  static inline const NoOverlapConstraintProto* internal_default_instance() {
1871  return reinterpret_cast<const NoOverlapConstraintProto*>(
1873  }
1874  static constexpr int kIndexInFileMessages =
1875  9;
1876 
1877  friend void swap(NoOverlapConstraintProto& a, NoOverlapConstraintProto& b) {
1878  a.Swap(&b);
1879  }
1880  inline void Swap(NoOverlapConstraintProto* other) {
1881  if (other == this) return;
1882  if (GetArena() == other->GetArena()) {
1883  InternalSwap(other);
1884  } else {
1885  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1886  }
1887  }
1888  void UnsafeArenaSwap(NoOverlapConstraintProto* other) {
1889  if (other == this) return;
1890  GOOGLE_DCHECK(GetArena() == other->GetArena());
1891  InternalSwap(other);
1892  }
1893 
1894  // implements Message ----------------------------------------------
1895 
1896  inline NoOverlapConstraintProto* New() const final {
1897  return CreateMaybeMessage<NoOverlapConstraintProto>(nullptr);
1898  }
1899 
1900  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1901  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1902  }
1903  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1904  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1905  void CopyFrom(const NoOverlapConstraintProto& from);
1906  void MergeFrom(const NoOverlapConstraintProto& from);
1907  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1908  bool IsInitialized() const final;
1909 
1910  size_t ByteSizeLong() const final;
1911  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1912  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1913  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1914  int GetCachedSize() const final { return _cached_size_.Get(); }
1915 
1916  private:
1917  inline void SharedCtor();
1918  inline void SharedDtor();
1919  void SetCachedSize(int size) const final;
1920  void InternalSwap(NoOverlapConstraintProto* other);
1921  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1922  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1923  return "operations_research.sat.NoOverlapConstraintProto";
1924  }
1925  protected:
1926  explicit NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1927  private:
1928  static void ArenaDtor(void* object);
1929  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1930  public:
1931 
1932  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1933  private:
1934  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1935  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1936  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1937  }
1938 
1939  public:
1940 
1941  // nested types ----------------------------------------------------
1942 
1943  // accessors -------------------------------------------------------
1944 
1945  enum : int {
1946  kIntervalsFieldNumber = 1,
1947  };
1948  // repeated int32 intervals = 1;
1949  int intervals_size() const;
1950  private:
1951  int _internal_intervals_size() const;
1952  public:
1954  private:
1955  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
1956  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1957  _internal_intervals() const;
1958  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1959  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1960  _internal_mutable_intervals();
1961  public:
1965  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1966  intervals() const;
1967  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1969 
1970  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
1971  private:
1972  class _Internal;
1973 
1974  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1975  typedef void InternalArenaConstructable_;
1976  typedef void DestructorSkippable_;
1977  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
1978  mutable std::atomic<int> _intervals_cached_byte_size_;
1979  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1980  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1981 };
1982 // -------------------------------------------------------------------
1983 
1984 class NoOverlap2DConstraintProto PROTOBUF_FINAL :
1985  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
1986  public:
1987  inline NoOverlap2DConstraintProto() : NoOverlap2DConstraintProto(nullptr) {}
1989 
1990  NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto& from);
1991  NoOverlap2DConstraintProto(NoOverlap2DConstraintProto&& from) noexcept
1992  : NoOverlap2DConstraintProto() {
1993  *this = ::std::move(from);
1994  }
1995 
1996  inline NoOverlap2DConstraintProto& operator=(const NoOverlap2DConstraintProto& from) {
1997  CopyFrom(from);
1998  return *this;
1999  }
2000  inline NoOverlap2DConstraintProto& operator=(NoOverlap2DConstraintProto&& from) noexcept {
2001  if (GetArena() == from.GetArena()) {
2002  if (this != &from) InternalSwap(&from);
2003  } else {
2004  CopyFrom(from);
2005  }
2006  return *this;
2007  }
2008 
2009  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2010  return GetDescriptor();
2011  }
2012  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2013  return GetMetadataStatic().descriptor;
2014  }
2015  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2016  return GetMetadataStatic().reflection;
2017  }
2018  static const NoOverlap2DConstraintProto& default_instance();
2019 
2020  static inline const NoOverlap2DConstraintProto* internal_default_instance() {
2021  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
2023  }
2024  static constexpr int kIndexInFileMessages =
2025  10;
2026 
2027  friend void swap(NoOverlap2DConstraintProto& a, NoOverlap2DConstraintProto& b) {
2028  a.Swap(&b);
2029  }
2030  inline void Swap(NoOverlap2DConstraintProto* other) {
2031  if (other == this) return;
2032  if (GetArena() == other->GetArena()) {
2033  InternalSwap(other);
2034  } else {
2035  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2036  }
2037  }
2038  void UnsafeArenaSwap(NoOverlap2DConstraintProto* other) {
2039  if (other == this) return;
2040  GOOGLE_DCHECK(GetArena() == other->GetArena());
2041  InternalSwap(other);
2042  }
2043 
2044  // implements Message ----------------------------------------------
2045 
2046  inline NoOverlap2DConstraintProto* New() const final {
2047  return CreateMaybeMessage<NoOverlap2DConstraintProto>(nullptr);
2048  }
2049 
2050  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2051  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
2052  }
2053  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2054  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2055  void CopyFrom(const NoOverlap2DConstraintProto& from);
2056  void MergeFrom(const NoOverlap2DConstraintProto& from);
2057  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2058  bool IsInitialized() const final;
2059 
2060  size_t ByteSizeLong() const final;
2061  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2062  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2063  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2064  int GetCachedSize() const final { return _cached_size_.Get(); }
2065 
2066  private:
2067  inline void SharedCtor();
2068  inline void SharedDtor();
2069  void SetCachedSize(int size) const final;
2070  void InternalSwap(NoOverlap2DConstraintProto* other);
2071  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2072  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2073  return "operations_research.sat.NoOverlap2DConstraintProto";
2074  }
2075  protected:
2076  explicit NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2077  private:
2078  static void ArenaDtor(void* object);
2079  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2080  public:
2081 
2082  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2083  private:
2084  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2085  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2086  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2087  }
2088 
2089  public:
2090 
2091  // nested types ----------------------------------------------------
2092 
2093  // accessors -------------------------------------------------------
2094 
2095  enum : int {
2096  kXIntervalsFieldNumber = 1,
2097  kYIntervalsFieldNumber = 2,
2098  kBoxesWithNullAreaCanOverlapFieldNumber = 3,
2099  };
2100  // repeated int32 x_intervals = 1;
2101  int x_intervals_size() const;
2102  private:
2103  int _internal_x_intervals_size() const;
2104  public:
2106  private:
2107  ::PROTOBUF_NAMESPACE_ID::int32 _internal_x_intervals(int index) const;
2108  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2109  _internal_x_intervals() const;
2110  void _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2111  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2112  _internal_mutable_x_intervals();
2113  public:
2117  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2118  x_intervals() const;
2119  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2121 
2122  // repeated int32 y_intervals = 2;
2123  int y_intervals_size() const;
2124  private:
2125  int _internal_y_intervals_size() const;
2126  public:
2128  private:
2129  ::PROTOBUF_NAMESPACE_ID::int32 _internal_y_intervals(int index) const;
2130  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2131  _internal_y_intervals() const;
2132  void _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2133  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2134  _internal_mutable_y_intervals();
2135  public:
2139  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2140  y_intervals() const;
2141  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2143 
2144  // bool boxes_with_null_area_can_overlap = 3;
2148  private:
2149  bool _internal_boxes_with_null_area_can_overlap() const;
2150  void _internal_set_boxes_with_null_area_can_overlap(bool value);
2151  public:
2152 
2153  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
2154  private:
2155  class _Internal;
2156 
2157  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2158  typedef void InternalArenaConstructable_;
2159  typedef void DestructorSkippable_;
2160  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > x_intervals_;
2161  mutable std::atomic<int> _x_intervals_cached_byte_size_;
2162  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > y_intervals_;
2163  mutable std::atomic<int> _y_intervals_cached_byte_size_;
2164  bool boxes_with_null_area_can_overlap_;
2165  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2166  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2167 };
2168 // -------------------------------------------------------------------
2169 
2170 class CumulativeConstraintProto PROTOBUF_FINAL :
2171  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
2172  public:
2173  inline CumulativeConstraintProto() : CumulativeConstraintProto(nullptr) {}
2175 
2176  CumulativeConstraintProto(const CumulativeConstraintProto& from);
2177  CumulativeConstraintProto(CumulativeConstraintProto&& from) noexcept
2178  : CumulativeConstraintProto() {
2179  *this = ::std::move(from);
2180  }
2181 
2182  inline CumulativeConstraintProto& operator=(const CumulativeConstraintProto& from) {
2183  CopyFrom(from);
2184  return *this;
2185  }
2186  inline CumulativeConstraintProto& operator=(CumulativeConstraintProto&& from) noexcept {
2187  if (GetArena() == from.GetArena()) {
2188  if (this != &from) InternalSwap(&from);
2189  } else {
2190  CopyFrom(from);
2191  }
2192  return *this;
2193  }
2194 
2195  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2196  return GetDescriptor();
2197  }
2198  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2199  return GetMetadataStatic().descriptor;
2200  }
2201  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2202  return GetMetadataStatic().reflection;
2203  }
2204  static const CumulativeConstraintProto& default_instance();
2205 
2206  static inline const CumulativeConstraintProto* internal_default_instance() {
2207  return reinterpret_cast<const CumulativeConstraintProto*>(
2209  }
2210  static constexpr int kIndexInFileMessages =
2211  11;
2212 
2213  friend void swap(CumulativeConstraintProto& a, CumulativeConstraintProto& b) {
2214  a.Swap(&b);
2215  }
2216  inline void Swap(CumulativeConstraintProto* other) {
2217  if (other == this) return;
2218  if (GetArena() == other->GetArena()) {
2219  InternalSwap(other);
2220  } else {
2221  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2222  }
2223  }
2224  void UnsafeArenaSwap(CumulativeConstraintProto* other) {
2225  if (other == this) return;
2226  GOOGLE_DCHECK(GetArena() == other->GetArena());
2227  InternalSwap(other);
2228  }
2229 
2230  // implements Message ----------------------------------------------
2231 
2232  inline CumulativeConstraintProto* New() const final {
2233  return CreateMaybeMessage<CumulativeConstraintProto>(nullptr);
2234  }
2235 
2236  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2237  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
2238  }
2239  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2240  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2241  void CopyFrom(const CumulativeConstraintProto& from);
2242  void MergeFrom(const CumulativeConstraintProto& from);
2243  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2244  bool IsInitialized() const final;
2245 
2246  size_t ByteSizeLong() const final;
2247  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2248  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2249  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2250  int GetCachedSize() const final { return _cached_size_.Get(); }
2251 
2252  private:
2253  inline void SharedCtor();
2254  inline void SharedDtor();
2255  void SetCachedSize(int size) const final;
2256  void InternalSwap(CumulativeConstraintProto* other);
2257  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2258  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2259  return "operations_research.sat.CumulativeConstraintProto";
2260  }
2261  protected:
2262  explicit CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2263  private:
2264  static void ArenaDtor(void* object);
2265  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2266  public:
2267 
2268  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2269  private:
2270  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2271  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2272  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2273  }
2274 
2275  public:
2276 
2277  // nested types ----------------------------------------------------
2278 
2279  // accessors -------------------------------------------------------
2280 
2281  enum : int {
2282  kIntervalsFieldNumber = 2,
2283  kDemandsFieldNumber = 3,
2284  kCapacityFieldNumber = 1,
2285  };
2286  // repeated int32 intervals = 2;
2287  int intervals_size() const;
2288  private:
2289  int _internal_intervals_size() const;
2290  public:
2292  private:
2293  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
2294  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2295  _internal_intervals() const;
2296  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2297  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2298  _internal_mutable_intervals();
2299  public:
2303  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2304  intervals() const;
2305  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2307 
2308  // repeated int32 demands = 3;
2309  int demands_size() const;
2310  private:
2311  int _internal_demands_size() const;
2312  public:
2314  private:
2315  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2316  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2317  _internal_demands() const;
2318  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2319  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2320  _internal_mutable_demands();
2321  public:
2325  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2326  demands() const;
2327  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2329 
2330  // int32 capacity = 1;
2334  private:
2335  ::PROTOBUF_NAMESPACE_ID::int32 _internal_capacity() const;
2336  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2337  public:
2338 
2339  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
2340  private:
2341  class _Internal;
2342 
2343  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2344  typedef void InternalArenaConstructable_;
2345  typedef void DestructorSkippable_;
2346  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
2347  mutable std::atomic<int> _intervals_cached_byte_size_;
2348  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2349  mutable std::atomic<int> _demands_cached_byte_size_;
2351  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2352  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2353 };
2354 // -------------------------------------------------------------------
2355 
2356 class ReservoirConstraintProto PROTOBUF_FINAL :
2357  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
2358  public:
2359  inline ReservoirConstraintProto() : ReservoirConstraintProto(nullptr) {}
2361 
2362  ReservoirConstraintProto(const ReservoirConstraintProto& from);
2363  ReservoirConstraintProto(ReservoirConstraintProto&& from) noexcept
2364  : ReservoirConstraintProto() {
2365  *this = ::std::move(from);
2366  }
2367 
2368  inline ReservoirConstraintProto& operator=(const ReservoirConstraintProto& from) {
2369  CopyFrom(from);
2370  return *this;
2371  }
2372  inline ReservoirConstraintProto& operator=(ReservoirConstraintProto&& from) noexcept {
2373  if (GetArena() == from.GetArena()) {
2374  if (this != &from) InternalSwap(&from);
2375  } else {
2376  CopyFrom(from);
2377  }
2378  return *this;
2379  }
2380 
2381  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2382  return GetDescriptor();
2383  }
2384  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2385  return GetMetadataStatic().descriptor;
2386  }
2387  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2388  return GetMetadataStatic().reflection;
2389  }
2390  static const ReservoirConstraintProto& default_instance();
2391 
2392  static inline const ReservoirConstraintProto* internal_default_instance() {
2393  return reinterpret_cast<const ReservoirConstraintProto*>(
2395  }
2396  static constexpr int kIndexInFileMessages =
2397  12;
2398 
2399  friend void swap(ReservoirConstraintProto& a, ReservoirConstraintProto& b) {
2400  a.Swap(&b);
2401  }
2402  inline void Swap(ReservoirConstraintProto* other) {
2403  if (other == this) return;
2404  if (GetArena() == other->GetArena()) {
2405  InternalSwap(other);
2406  } else {
2407  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2408  }
2409  }
2410  void UnsafeArenaSwap(ReservoirConstraintProto* other) {
2411  if (other == this) return;
2412  GOOGLE_DCHECK(GetArena() == other->GetArena());
2413  InternalSwap(other);
2414  }
2415 
2416  // implements Message ----------------------------------------------
2417 
2418  inline ReservoirConstraintProto* New() const final {
2419  return CreateMaybeMessage<ReservoirConstraintProto>(nullptr);
2420  }
2421 
2422  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2423  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
2424  }
2425  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2426  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2427  void CopyFrom(const ReservoirConstraintProto& from);
2428  void MergeFrom(const ReservoirConstraintProto& from);
2429  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2430  bool IsInitialized() const final;
2431 
2432  size_t ByteSizeLong() const final;
2433  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2434  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2435  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2436  int GetCachedSize() const final { return _cached_size_.Get(); }
2437 
2438  private:
2439  inline void SharedCtor();
2440  inline void SharedDtor();
2441  void SetCachedSize(int size) const final;
2442  void InternalSwap(ReservoirConstraintProto* other);
2443  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2444  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2445  return "operations_research.sat.ReservoirConstraintProto";
2446  }
2447  protected:
2448  explicit ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2449  private:
2450  static void ArenaDtor(void* object);
2451  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2452  public:
2453 
2454  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2455  private:
2456  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2457  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2458  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2459  }
2460 
2461  public:
2462 
2463  // nested types ----------------------------------------------------
2464 
2465  // accessors -------------------------------------------------------
2466 
2467  enum : int {
2468  kTimesFieldNumber = 3,
2469  kDemandsFieldNumber = 4,
2470  kActivesFieldNumber = 5,
2471  kMinLevelFieldNumber = 1,
2472  kMaxLevelFieldNumber = 2,
2473  };
2474  // repeated int32 times = 3;
2475  int times_size() const;
2476  private:
2477  int _internal_times_size() const;
2478  public:
2479  void clear_times();
2480  private:
2481  ::PROTOBUF_NAMESPACE_ID::int32 _internal_times(int index) const;
2482  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2483  _internal_times() const;
2484  void _internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2485  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2486  _internal_mutable_times();
2487  public:
2491  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2492  times() const;
2493  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2495 
2496  // repeated int64 demands = 4;
2497  int demands_size() const;
2498  private:
2499  int _internal_demands_size() const;
2500  public:
2502  private:
2503  ::PROTOBUF_NAMESPACE_ID::int64 _internal_demands(int index) const;
2504  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2505  _internal_demands() const;
2506  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2507  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2508  _internal_mutable_demands();
2509  public:
2513  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2514  demands() const;
2515  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2517 
2518  // repeated int32 actives = 5;
2519  int actives_size() const;
2520  private:
2521  int _internal_actives_size() const;
2522  public:
2524  private:
2525  ::PROTOBUF_NAMESPACE_ID::int32 _internal_actives(int index) const;
2526  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2527  _internal_actives() const;
2528  void _internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2529  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2530  _internal_mutable_actives();
2531  public:
2535  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2536  actives() const;
2537  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2539 
2540  // int64 min_level = 1;
2544  private:
2545  ::PROTOBUF_NAMESPACE_ID::int64 _internal_min_level() const;
2546  void _internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2547  public:
2548 
2549  // int64 max_level = 2;
2553  private:
2554  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_level() const;
2555  void _internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2556  public:
2557 
2558  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
2559  private:
2560  class _Internal;
2561 
2562  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2563  typedef void InternalArenaConstructable_;
2564  typedef void DestructorSkippable_;
2565  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > times_;
2566  mutable std::atomic<int> _times_cached_byte_size_;
2567  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > demands_;
2568  mutable std::atomic<int> _demands_cached_byte_size_;
2569  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > actives_;
2570  mutable std::atomic<int> _actives_cached_byte_size_;
2571  ::PROTOBUF_NAMESPACE_ID::int64 min_level_;
2572  ::PROTOBUF_NAMESPACE_ID::int64 max_level_;
2573  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2574  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2575 };
2576 // -------------------------------------------------------------------
2577 
2578 class CircuitConstraintProto PROTOBUF_FINAL :
2579  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
2580  public:
2581  inline CircuitConstraintProto() : CircuitConstraintProto(nullptr) {}
2583 
2584  CircuitConstraintProto(const CircuitConstraintProto& from);
2585  CircuitConstraintProto(CircuitConstraintProto&& from) noexcept
2586  : CircuitConstraintProto() {
2587  *this = ::std::move(from);
2588  }
2589 
2590  inline CircuitConstraintProto& operator=(const CircuitConstraintProto& from) {
2591  CopyFrom(from);
2592  return *this;
2593  }
2594  inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
2595  if (GetArena() == from.GetArena()) {
2596  if (this != &from) InternalSwap(&from);
2597  } else {
2598  CopyFrom(from);
2599  }
2600  return *this;
2601  }
2602 
2603  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2604  return GetDescriptor();
2605  }
2606  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2607  return GetMetadataStatic().descriptor;
2608  }
2609  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2610  return GetMetadataStatic().reflection;
2611  }
2612  static const CircuitConstraintProto& default_instance();
2613 
2614  static inline const CircuitConstraintProto* internal_default_instance() {
2615  return reinterpret_cast<const CircuitConstraintProto*>(
2617  }
2618  static constexpr int kIndexInFileMessages =
2619  13;
2620 
2621  friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) {
2622  a.Swap(&b);
2623  }
2624  inline void Swap(CircuitConstraintProto* other) {
2625  if (other == this) return;
2626  if (GetArena() == other->GetArena()) {
2627  InternalSwap(other);
2628  } else {
2629  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2630  }
2631  }
2632  void UnsafeArenaSwap(CircuitConstraintProto* other) {
2633  if (other == this) return;
2634  GOOGLE_DCHECK(GetArena() == other->GetArena());
2635  InternalSwap(other);
2636  }
2637 
2638  // implements Message ----------------------------------------------
2639 
2640  inline CircuitConstraintProto* New() const final {
2641  return CreateMaybeMessage<CircuitConstraintProto>(nullptr);
2642  }
2643 
2644  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2645  return CreateMaybeMessage<CircuitConstraintProto>(arena);
2646  }
2647  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2648  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2649  void CopyFrom(const CircuitConstraintProto& from);
2650  void MergeFrom(const CircuitConstraintProto& from);
2651  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2652  bool IsInitialized() const final;
2653 
2654  size_t ByteSizeLong() const final;
2655  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2656  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2657  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2658  int GetCachedSize() const final { return _cached_size_.Get(); }
2659 
2660  private:
2661  inline void SharedCtor();
2662  inline void SharedDtor();
2663  void SetCachedSize(int size) const final;
2664  void InternalSwap(CircuitConstraintProto* other);
2665  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2666  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2667  return "operations_research.sat.CircuitConstraintProto";
2668  }
2669  protected:
2670  explicit CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2671  private:
2672  static void ArenaDtor(void* object);
2673  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2674  public:
2675 
2676  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2677  private:
2678  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2679  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2680  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2681  }
2682 
2683  public:
2684 
2685  // nested types ----------------------------------------------------
2686 
2687  // accessors -------------------------------------------------------
2688 
2689  enum : int {
2690  kTailsFieldNumber = 3,
2691  kHeadsFieldNumber = 4,
2692  kLiteralsFieldNumber = 5,
2693  };
2694  // repeated int32 tails = 3;
2695  int tails_size() const;
2696  private:
2697  int _internal_tails_size() const;
2698  public:
2699  void clear_tails();
2700  private:
2701  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2702  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2703  _internal_tails() const;
2704  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2705  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2706  _internal_mutable_tails();
2707  public:
2711  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2712  tails() const;
2713  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2715 
2716  // repeated int32 heads = 4;
2717  int heads_size() const;
2718  private:
2719  int _internal_heads_size() const;
2720  public:
2721  void clear_heads();
2722  private:
2723  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2724  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2725  _internal_heads() const;
2726  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2727  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2728  _internal_mutable_heads();
2729  public:
2733  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2734  heads() const;
2735  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2737 
2738  // repeated int32 literals = 5;
2739  int literals_size() const;
2740  private:
2741  int _internal_literals_size() const;
2742  public:
2744  private:
2745  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2746  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2747  _internal_literals() const;
2748  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2749  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2750  _internal_mutable_literals();
2751  public:
2755  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2756  literals() const;
2757  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2759 
2760  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2761  private:
2762  class _Internal;
2763 
2764  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2765  typedef void InternalArenaConstructable_;
2766  typedef void DestructorSkippable_;
2767  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2768  mutable std::atomic<int> _tails_cached_byte_size_;
2769  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2770  mutable std::atomic<int> _heads_cached_byte_size_;
2771  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2772  mutable std::atomic<int> _literals_cached_byte_size_;
2773  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2774  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2775 };
2776 // -------------------------------------------------------------------
2777 
2778 class RoutesConstraintProto PROTOBUF_FINAL :
2779  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2780  public:
2781  inline RoutesConstraintProto() : RoutesConstraintProto(nullptr) {}
2783 
2784  RoutesConstraintProto(const RoutesConstraintProto& from);
2785  RoutesConstraintProto(RoutesConstraintProto&& from) noexcept
2786  : RoutesConstraintProto() {
2787  *this = ::std::move(from);
2788  }
2789 
2790  inline RoutesConstraintProto& operator=(const RoutesConstraintProto& from) {
2791  CopyFrom(from);
2792  return *this;
2793  }
2794  inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
2795  if (GetArena() == from.GetArena()) {
2796  if (this != &from) InternalSwap(&from);
2797  } else {
2798  CopyFrom(from);
2799  }
2800  return *this;
2801  }
2802 
2803  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2804  return GetDescriptor();
2805  }
2806  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2807  return GetMetadataStatic().descriptor;
2808  }
2809  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2810  return GetMetadataStatic().reflection;
2811  }
2812  static const RoutesConstraintProto& default_instance();
2813 
2814  static inline const RoutesConstraintProto* internal_default_instance() {
2815  return reinterpret_cast<const RoutesConstraintProto*>(
2817  }
2818  static constexpr int kIndexInFileMessages =
2819  14;
2820 
2821  friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) {
2822  a.Swap(&b);
2823  }
2824  inline void Swap(RoutesConstraintProto* other) {
2825  if (other == this) return;
2826  if (GetArena() == other->GetArena()) {
2827  InternalSwap(other);
2828  } else {
2829  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2830  }
2831  }
2832  void UnsafeArenaSwap(RoutesConstraintProto* other) {
2833  if (other == this) return;
2834  GOOGLE_DCHECK(GetArena() == other->GetArena());
2835  InternalSwap(other);
2836  }
2837 
2838  // implements Message ----------------------------------------------
2839 
2840  inline RoutesConstraintProto* New() const final {
2841  return CreateMaybeMessage<RoutesConstraintProto>(nullptr);
2842  }
2843 
2844  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2845  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2846  }
2847  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2848  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2849  void CopyFrom(const RoutesConstraintProto& from);
2850  void MergeFrom(const RoutesConstraintProto& from);
2851  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2852  bool IsInitialized() const final;
2853 
2854  size_t ByteSizeLong() const final;
2855  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2856  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2857  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2858  int GetCachedSize() const final { return _cached_size_.Get(); }
2859 
2860  private:
2861  inline void SharedCtor();
2862  inline void SharedDtor();
2863  void SetCachedSize(int size) const final;
2864  void InternalSwap(RoutesConstraintProto* other);
2865  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2866  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2867  return "operations_research.sat.RoutesConstraintProto";
2868  }
2869  protected:
2870  explicit RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2871  private:
2872  static void ArenaDtor(void* object);
2873  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2874  public:
2875 
2876  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2877  private:
2878  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2879  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2880  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2881  }
2882 
2883  public:
2884 
2885  // nested types ----------------------------------------------------
2886 
2887  // accessors -------------------------------------------------------
2888 
2889  enum : int {
2890  kTailsFieldNumber = 1,
2891  kHeadsFieldNumber = 2,
2892  kLiteralsFieldNumber = 3,
2893  kDemandsFieldNumber = 4,
2894  kCapacityFieldNumber = 5,
2895  };
2896  // repeated int32 tails = 1;
2897  int tails_size() const;
2898  private:
2899  int _internal_tails_size() const;
2900  public:
2901  void clear_tails();
2902  private:
2903  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2904  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2905  _internal_tails() const;
2906  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2907  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2908  _internal_mutable_tails();
2909  public:
2913  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2914  tails() const;
2915  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2917 
2918  // repeated int32 heads = 2;
2919  int heads_size() const;
2920  private:
2921  int _internal_heads_size() const;
2922  public:
2923  void clear_heads();
2924  private:
2925  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2926  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2927  _internal_heads() const;
2928  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2929  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2930  _internal_mutable_heads();
2931  public:
2935  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2936  heads() const;
2937  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2939 
2940  // repeated int32 literals = 3;
2941  int literals_size() const;
2942  private:
2943  int _internal_literals_size() const;
2944  public:
2946  private:
2947  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2948  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2949  _internal_literals() const;
2950  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2951  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2952  _internal_mutable_literals();
2953  public:
2957  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2958  literals() const;
2959  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2961 
2962  // repeated int32 demands = 4;
2963  int demands_size() const;
2964  private:
2965  int _internal_demands_size() const;
2966  public:
2968  private:
2969  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2970  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2971  _internal_demands() const;
2972  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2973  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2974  _internal_mutable_demands();
2975  public:
2979  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2980  demands() const;
2981  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2983 
2984  // int64 capacity = 5;
2988  private:
2989  ::PROTOBUF_NAMESPACE_ID::int64 _internal_capacity() const;
2990  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
2991  public:
2992 
2993  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
2994  private:
2995  class _Internal;
2996 
2997  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2998  typedef void InternalArenaConstructable_;
2999  typedef void DestructorSkippable_;
3000  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
3001  mutable std::atomic<int> _tails_cached_byte_size_;
3002  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
3003  mutable std::atomic<int> _heads_cached_byte_size_;
3004  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
3005  mutable std::atomic<int> _literals_cached_byte_size_;
3006  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
3007  mutable std::atomic<int> _demands_cached_byte_size_;
3009  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3010  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3011 };
3012 // -------------------------------------------------------------------
3013 
3014 class TableConstraintProto PROTOBUF_FINAL :
3015  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3016  public:
3017  inline TableConstraintProto() : TableConstraintProto(nullptr) {}
3019 
3020  TableConstraintProto(const TableConstraintProto& from);
3021  TableConstraintProto(TableConstraintProto&& from) noexcept
3022  : TableConstraintProto() {
3023  *this = ::std::move(from);
3024  }
3025 
3026  inline TableConstraintProto& operator=(const TableConstraintProto& from) {
3027  CopyFrom(from);
3028  return *this;
3029  }
3030  inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
3031  if (GetArena() == from.GetArena()) {
3032  if (this != &from) InternalSwap(&from);
3033  } else {
3034  CopyFrom(from);
3035  }
3036  return *this;
3037  }
3038 
3039  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3040  return GetDescriptor();
3041  }
3042  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3043  return GetMetadataStatic().descriptor;
3044  }
3045  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3046  return GetMetadataStatic().reflection;
3047  }
3048  static const TableConstraintProto& default_instance();
3049 
3050  static inline const TableConstraintProto* internal_default_instance() {
3051  return reinterpret_cast<const TableConstraintProto*>(
3053  }
3054  static constexpr int kIndexInFileMessages =
3055  15;
3056 
3057  friend void swap(TableConstraintProto& a, TableConstraintProto& b) {
3058  a.Swap(&b);
3059  }
3060  inline void Swap(TableConstraintProto* other) {
3061  if (other == this) return;
3062  if (GetArena() == other->GetArena()) {
3063  InternalSwap(other);
3064  } else {
3065  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3066  }
3067  }
3068  void UnsafeArenaSwap(TableConstraintProto* other) {
3069  if (other == this) return;
3070  GOOGLE_DCHECK(GetArena() == other->GetArena());
3071  InternalSwap(other);
3072  }
3073 
3074  // implements Message ----------------------------------------------
3075 
3076  inline TableConstraintProto* New() const final {
3077  return CreateMaybeMessage<TableConstraintProto>(nullptr);
3078  }
3079 
3080  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3081  return CreateMaybeMessage<TableConstraintProto>(arena);
3082  }
3083  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3084  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3085  void CopyFrom(const TableConstraintProto& from);
3086  void MergeFrom(const TableConstraintProto& from);
3087  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3088  bool IsInitialized() const final;
3089 
3090  size_t ByteSizeLong() const final;
3091  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3092  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3093  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3094  int GetCachedSize() const final { return _cached_size_.Get(); }
3095 
3096  private:
3097  inline void SharedCtor();
3098  inline void SharedDtor();
3099  void SetCachedSize(int size) const final;
3100  void InternalSwap(TableConstraintProto* other);
3101  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3102  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3103  return "operations_research.sat.TableConstraintProto";
3104  }
3105  protected:
3106  explicit TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3107  private:
3108  static void ArenaDtor(void* object);
3109  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3110  public:
3111 
3112  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3113  private:
3114  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3115  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3116  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3117  }
3118 
3119  public:
3120 
3121  // nested types ----------------------------------------------------
3122 
3123  // accessors -------------------------------------------------------
3124 
3125  enum : int {
3126  kVarsFieldNumber = 1,
3127  kValuesFieldNumber = 2,
3128  kNegatedFieldNumber = 3,
3129  };
3130  // repeated int32 vars = 1;
3131  int vars_size() const;
3132  private:
3133  int _internal_vars_size() const;
3134  public:
3135  void clear_vars();
3136  private:
3137  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3138  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3139  _internal_vars() const;
3140  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3141  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3142  _internal_mutable_vars();
3143  public:
3147  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3148  vars() const;
3149  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3151 
3152  // repeated int64 values = 2;
3153  int values_size() const;
3154  private:
3155  int _internal_values_size() const;
3156  public:
3158  private:
3159  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
3160  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3161  _internal_values() const;
3162  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3163  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3164  _internal_mutable_values();
3165  public:
3169  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3170  values() const;
3171  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3173 
3174  // bool negated = 3;
3176  bool negated() const;
3177  void set_negated(bool value);
3178  private:
3179  bool _internal_negated() const;
3180  void _internal_set_negated(bool value);
3181  public:
3182 
3183  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3184  private:
3185  class _Internal;
3186 
3187  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3188  typedef void InternalArenaConstructable_;
3189  typedef void DestructorSkippable_;
3190  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3191  mutable std::atomic<int> _vars_cached_byte_size_;
3192  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
3193  mutable std::atomic<int> _values_cached_byte_size_;
3194  bool negated_;
3195  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3196  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3197 };
3198 // -------------------------------------------------------------------
3199 
3200 class InverseConstraintProto PROTOBUF_FINAL :
3201  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
3202  public:
3203  inline InverseConstraintProto() : InverseConstraintProto(nullptr) {}
3205 
3206  InverseConstraintProto(const InverseConstraintProto& from);
3207  InverseConstraintProto(InverseConstraintProto&& from) noexcept
3208  : InverseConstraintProto() {
3209  *this = ::std::move(from);
3210  }
3211 
3212  inline InverseConstraintProto& operator=(const InverseConstraintProto& from) {
3213  CopyFrom(from);
3214  return *this;
3215  }
3216  inline InverseConstraintProto& operator=(InverseConstraintProto&& from) noexcept {
3217  if (GetArena() == from.GetArena()) {
3218  if (this != &from) InternalSwap(&from);
3219  } else {
3220  CopyFrom(from);
3221  }
3222  return *this;
3223  }
3224 
3225  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3226  return GetDescriptor();
3227  }
3228  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3229  return GetMetadataStatic().descriptor;
3230  }
3231  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3232  return GetMetadataStatic().reflection;
3233  }
3234  static const InverseConstraintProto& default_instance();
3235 
3236  static inline const InverseConstraintProto* internal_default_instance() {
3237  return reinterpret_cast<const InverseConstraintProto*>(
3239  }
3240  static constexpr int kIndexInFileMessages =
3241  16;
3242 
3243  friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) {
3244  a.Swap(&b);
3245  }
3246  inline void Swap(InverseConstraintProto* other) {
3247  if (other == this) return;
3248  if (GetArena() == other->GetArena()) {
3249  InternalSwap(other);
3250  } else {
3251  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3252  }
3253  }
3254  void UnsafeArenaSwap(InverseConstraintProto* other) {
3255  if (other == this) return;
3256  GOOGLE_DCHECK(GetArena() == other->GetArena());
3257  InternalSwap(other);
3258  }
3259 
3260  // implements Message ----------------------------------------------
3261 
3262  inline InverseConstraintProto* New() const final {
3263  return CreateMaybeMessage<InverseConstraintProto>(nullptr);
3264  }
3265 
3266  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3267  return CreateMaybeMessage<InverseConstraintProto>(arena);
3268  }
3269  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3270  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3271  void CopyFrom(const InverseConstraintProto& from);
3272  void MergeFrom(const InverseConstraintProto& from);
3273  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3274  bool IsInitialized() const final;
3275 
3276  size_t ByteSizeLong() const final;
3277  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3278  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3279  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3280  int GetCachedSize() const final { return _cached_size_.Get(); }
3281 
3282  private:
3283  inline void SharedCtor();
3284  inline void SharedDtor();
3285  void SetCachedSize(int size) const final;
3286  void InternalSwap(InverseConstraintProto* other);
3287  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3288  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3289  return "operations_research.sat.InverseConstraintProto";
3290  }
3291  protected:
3292  explicit InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3293  private:
3294  static void ArenaDtor(void* object);
3295  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3296  public:
3297 
3298  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3299  private:
3300  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3301  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3302  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3303  }
3304 
3305  public:
3306 
3307  // nested types ----------------------------------------------------
3308 
3309  // accessors -------------------------------------------------------
3310 
3311  enum : int {
3312  kFDirectFieldNumber = 1,
3313  kFInverseFieldNumber = 2,
3314  };
3315  // repeated int32 f_direct = 1;
3316  int f_direct_size() const;
3317  private:
3318  int _internal_f_direct_size() const;
3319  public:
3321  private:
3322  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_direct(int index) const;
3323  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3324  _internal_f_direct() const;
3325  void _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3326  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3327  _internal_mutable_f_direct();
3328  public:
3332  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3333  f_direct() const;
3334  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3336 
3337  // repeated int32 f_inverse = 2;
3338  int f_inverse_size() const;
3339  private:
3340  int _internal_f_inverse_size() const;
3341  public:
3343  private:
3344  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_inverse(int index) const;
3345  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3346  _internal_f_inverse() const;
3347  void _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3348  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3349  _internal_mutable_f_inverse();
3350  public:
3354  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3355  f_inverse() const;
3356  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3358 
3359  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
3360  private:
3361  class _Internal;
3362 
3363  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3364  typedef void InternalArenaConstructable_;
3365  typedef void DestructorSkippable_;
3366  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_direct_;
3367  mutable std::atomic<int> _f_direct_cached_byte_size_;
3368  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_inverse_;
3369  mutable std::atomic<int> _f_inverse_cached_byte_size_;
3370  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3371  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3372 };
3373 // -------------------------------------------------------------------
3374 
3375 class AutomatonConstraintProto PROTOBUF_FINAL :
3376  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
3377  public:
3378  inline AutomatonConstraintProto() : AutomatonConstraintProto(nullptr) {}
3380 
3381  AutomatonConstraintProto(const AutomatonConstraintProto& from);
3382  AutomatonConstraintProto(AutomatonConstraintProto&& from) noexcept
3383  : AutomatonConstraintProto() {
3384  *this = ::std::move(from);
3385  }
3386 
3387  inline AutomatonConstraintProto& operator=(const AutomatonConstraintProto& from) {
3388  CopyFrom(from);
3389  return *this;
3390  }
3391  inline AutomatonConstraintProto& operator=(AutomatonConstraintProto&& from) noexcept {
3392  if (GetArena() == from.GetArena()) {
3393  if (this != &from) InternalSwap(&from);
3394  } else {
3395  CopyFrom(from);
3396  }
3397  return *this;
3398  }
3399 
3400  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3401  return GetDescriptor();
3402  }
3403  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3404  return GetMetadataStatic().descriptor;
3405  }
3406  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3407  return GetMetadataStatic().reflection;
3408  }
3409  static const AutomatonConstraintProto& default_instance();
3410 
3411  static inline const AutomatonConstraintProto* internal_default_instance() {
3412  return reinterpret_cast<const AutomatonConstraintProto*>(
3414  }
3415  static constexpr int kIndexInFileMessages =
3416  17;
3417 
3418  friend void swap(AutomatonConstraintProto& a, AutomatonConstraintProto& b) {
3419  a.Swap(&b);
3420  }
3421  inline void Swap(AutomatonConstraintProto* other) {
3422  if (other == this) return;
3423  if (GetArena() == other->GetArena()) {
3424  InternalSwap(other);
3425  } else {
3426  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3427  }
3428  }
3429  void UnsafeArenaSwap(AutomatonConstraintProto* other) {
3430  if (other == this) return;
3431  GOOGLE_DCHECK(GetArena() == other->GetArena());
3432  InternalSwap(other);
3433  }
3434 
3435  // implements Message ----------------------------------------------
3436 
3437  inline AutomatonConstraintProto* New() const final {
3438  return CreateMaybeMessage<AutomatonConstraintProto>(nullptr);
3439  }
3440 
3441  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3442  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
3443  }
3444  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3445  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3446  void CopyFrom(const AutomatonConstraintProto& from);
3447  void MergeFrom(const AutomatonConstraintProto& from);
3448  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3449  bool IsInitialized() const final;
3450 
3451  size_t ByteSizeLong() const final;
3452  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3453  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3454  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3455  int GetCachedSize() const final { return _cached_size_.Get(); }
3456 
3457  private:
3458  inline void SharedCtor();
3459  inline void SharedDtor();
3460  void SetCachedSize(int size) const final;
3461  void InternalSwap(AutomatonConstraintProto* other);
3462  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3463  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3464  return "operations_research.sat.AutomatonConstraintProto";
3465  }
3466  protected:
3467  explicit AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3468  private:
3469  static void ArenaDtor(void* object);
3470  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3471  public:
3472 
3473  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3474  private:
3475  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3476  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3477  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3478  }
3479 
3480  public:
3481 
3482  // nested types ----------------------------------------------------
3483 
3484  // accessors -------------------------------------------------------
3485 
3486  enum : int {
3487  kFinalStatesFieldNumber = 3,
3488  kTransitionTailFieldNumber = 4,
3489  kTransitionHeadFieldNumber = 5,
3490  kTransitionLabelFieldNumber = 6,
3491  kVarsFieldNumber = 7,
3492  kStartingStateFieldNumber = 2,
3493  };
3494  // repeated int64 final_states = 3;
3495  int final_states_size() const;
3496  private:
3497  int _internal_final_states_size() const;
3498  public:
3500  private:
3501  ::PROTOBUF_NAMESPACE_ID::int64 _internal_final_states(int index) const;
3502  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3503  _internal_final_states() const;
3504  void _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3505  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3506  _internal_mutable_final_states();
3507  public:
3511  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3512  final_states() const;
3513  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3515 
3516  // repeated int64 transition_tail = 4;
3518  private:
3519  int _internal_transition_tail_size() const;
3520  public:
3522  private:
3523  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_tail(int index) const;
3524  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3525  _internal_transition_tail() const;
3526  void _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3527  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3528  _internal_mutable_transition_tail();
3529  public:
3533  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3535  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3537 
3538  // repeated int64 transition_head = 5;
3540  private:
3541  int _internal_transition_head_size() const;
3542  public:
3544  private:
3545  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_head(int index) const;
3546  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3547  _internal_transition_head() const;
3548  void _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3549  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3550  _internal_mutable_transition_head();
3551  public:
3555  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3557  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3559 
3560  // repeated int64 transition_label = 6;
3562  private:
3563  int _internal_transition_label_size() const;
3564  public:
3566  private:
3567  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_label(int index) const;
3568  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3569  _internal_transition_label() const;
3570  void _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3571  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3572  _internal_mutable_transition_label();
3573  public:
3577  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3579  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3581 
3582  // repeated int32 vars = 7;
3583  int vars_size() const;
3584  private:
3585  int _internal_vars_size() const;
3586  public:
3587  void clear_vars();
3588  private:
3589  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3590  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3591  _internal_vars() const;
3592  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3593  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3594  _internal_mutable_vars();
3595  public:
3599  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3600  vars() const;
3601  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3603 
3604  // int64 starting_state = 2;
3608  private:
3609  ::PROTOBUF_NAMESPACE_ID::int64 _internal_starting_state() const;
3610  void _internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3611  public:
3612 
3613  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
3614  private:
3615  class _Internal;
3616 
3617  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3618  typedef void InternalArenaConstructable_;
3619  typedef void DestructorSkippable_;
3620  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > final_states_;
3621  mutable std::atomic<int> _final_states_cached_byte_size_;
3622  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_tail_;
3623  mutable std::atomic<int> _transition_tail_cached_byte_size_;
3624  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_head_;
3625  mutable std::atomic<int> _transition_head_cached_byte_size_;
3626  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_label_;
3627  mutable std::atomic<int> _transition_label_cached_byte_size_;
3628  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3629  mutable std::atomic<int> _vars_cached_byte_size_;
3630  ::PROTOBUF_NAMESPACE_ID::int64 starting_state_;
3631  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3632  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3633 };
3634 // -------------------------------------------------------------------
3635 
3636 class ConstraintProto PROTOBUF_FINAL :
3637  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
3638  public:
3639  inline ConstraintProto() : ConstraintProto(nullptr) {}
3640  virtual ~ConstraintProto();
3641 
3642  ConstraintProto(const ConstraintProto& from);
3643  ConstraintProto(ConstraintProto&& from) noexcept
3644  : ConstraintProto() {
3645  *this = ::std::move(from);
3646  }
3647 
3648  inline ConstraintProto& operator=(const ConstraintProto& from) {
3649  CopyFrom(from);
3650  return *this;
3651  }
3652  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
3653  if (GetArena() == from.GetArena()) {
3654  if (this != &from) InternalSwap(&from);
3655  } else {
3656  CopyFrom(from);
3657  }
3658  return *this;
3659  }
3660 
3661  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3662  return GetDescriptor();
3663  }
3664  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3665  return GetMetadataStatic().descriptor;
3666  }
3667  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3668  return GetMetadataStatic().reflection;
3669  }
3670  static const ConstraintProto& default_instance();
3671 
3673  kBoolOr = 3,
3674  kBoolAnd = 4,
3675  kAtMostOne = 26,
3676  kExactlyOne = 29,
3677  kBoolXor = 5,
3678  kIntDiv = 7,
3679  kIntMod = 8,
3680  kIntMax = 9,
3681  kLinMax = 27,
3682  kIntMin = 10,
3683  kLinMin = 28,
3684  kIntProd = 11,
3685  kLinear = 12,
3686  kAllDiff = 13,
3687  kElement = 14,
3688  kCircuit = 15,
3689  kRoutes = 23,
3690  kTable = 16,
3691  kAutomaton = 17,
3692  kInverse = 18,
3693  kReservoir = 24,
3694  kInterval = 19,
3695  kNoOverlap = 20,
3696  kNoOverlap2D = 21,
3697  kCumulative = 22,
3698  CONSTRAINT_NOT_SET = 0,
3699  };
3700 
3701  static inline const ConstraintProto* internal_default_instance() {
3702  return reinterpret_cast<const ConstraintProto*>(
3704  }
3705  static constexpr int kIndexInFileMessages =
3706  18;
3707 
3708  friend void swap(ConstraintProto& a, ConstraintProto& b) {
3709  a.Swap(&b);
3710  }
3711  inline void Swap(ConstraintProto* other) {
3712  if (other == this) return;
3713  if (GetArena() == other->GetArena()) {
3714  InternalSwap(other);
3715  } else {
3716  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3717  }
3718  }
3719  void UnsafeArenaSwap(ConstraintProto* other) {
3720  if (other == this) return;
3721  GOOGLE_DCHECK(GetArena() == other->GetArena());
3722  InternalSwap(other);
3723  }
3724 
3725  // implements Message ----------------------------------------------
3726 
3727  inline ConstraintProto* New() const final {
3728  return CreateMaybeMessage<ConstraintProto>(nullptr);
3729  }
3730 
3731  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3732  return CreateMaybeMessage<ConstraintProto>(arena);
3733  }
3734  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3735  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3736  void CopyFrom(const ConstraintProto& from);
3737  void MergeFrom(const ConstraintProto& from);
3738  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3739  bool IsInitialized() const final;
3740 
3741  size_t ByteSizeLong() const final;
3742  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3743  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3744  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3745  int GetCachedSize() const final { return _cached_size_.Get(); }
3746 
3747  private:
3748  inline void SharedCtor();
3749  inline void SharedDtor();
3750  void SetCachedSize(int size) const final;
3751  void InternalSwap(ConstraintProto* other);
3752  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3753  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3754  return "operations_research.sat.ConstraintProto";
3755  }
3756  protected:
3757  explicit ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3758  private:
3759  static void ArenaDtor(void* object);
3760  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3761  public:
3762 
3763  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3764  private:
3765  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3766  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3767  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3768  }
3769 
3770  public:
3771 
3772  // nested types ----------------------------------------------------
3773 
3774  // accessors -------------------------------------------------------
3775 
3776  enum : int {
3777  kEnforcementLiteralFieldNumber = 2,
3778  kNameFieldNumber = 1,
3779  kBoolOrFieldNumber = 3,
3780  kBoolAndFieldNumber = 4,
3781  kAtMostOneFieldNumber = 26,
3782  kExactlyOneFieldNumber = 29,
3783  kBoolXorFieldNumber = 5,
3784  kIntDivFieldNumber = 7,
3785  kIntModFieldNumber = 8,
3786  kIntMaxFieldNumber = 9,
3787  kLinMaxFieldNumber = 27,
3788  kIntMinFieldNumber = 10,
3789  kLinMinFieldNumber = 28,
3790  kIntProdFieldNumber = 11,
3791  kLinearFieldNumber = 12,
3792  kAllDiffFieldNumber = 13,
3793  kElementFieldNumber = 14,
3794  kCircuitFieldNumber = 15,
3795  kRoutesFieldNumber = 23,
3796  kTableFieldNumber = 16,
3797  kAutomatonFieldNumber = 17,
3798  kInverseFieldNumber = 18,
3799  kReservoirFieldNumber = 24,
3800  kIntervalFieldNumber = 19,
3801  kNoOverlapFieldNumber = 20,
3802  kNoOverlap2DFieldNumber = 21,
3803  kCumulativeFieldNumber = 22,
3804  };
3805  // repeated int32 enforcement_literal = 2;
3807  private:
3808  int _internal_enforcement_literal_size() const;
3809  public:
3811  private:
3812  ::PROTOBUF_NAMESPACE_ID::int32 _internal_enforcement_literal(int index) const;
3813  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3814  _internal_enforcement_literal() const;
3815  void _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
3816  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3817  _internal_mutable_enforcement_literal();
3818  public:
3822  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3824  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3826 
3827  // string name = 1;
3828  void clear_name();
3829  const std::string& name() const;
3830  void set_name(const std::string& value);
3831  void set_name(std::string&& value);
3832  void set_name(const char* value);
3833  void set_name(const char* value, size_t size);
3834  std::string* mutable_name();
3835  std::string* release_name();
3836  void set_allocated_name(std::string* name);
3837  private:
3838  const std::string& _internal_name() const;
3839  void _internal_set_name(const std::string& value);
3840  std::string* _internal_mutable_name();
3841  public:
3842 
3843  // .operations_research.sat.BoolArgumentProto bool_or = 3;
3844  bool has_bool_or() const;
3845  private:
3846  bool _internal_has_bool_or() const;
3847  public:
3849  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
3850  ::operations_research::sat::BoolArgumentProto* release_bool_or();
3851  ::operations_research::sat::BoolArgumentProto* mutable_bool_or();
3852  void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or);
3853  private:
3854  const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
3855  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_or();
3856  public:
3858  ::operations_research::sat::BoolArgumentProto* bool_or);
3859  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_or();
3860 
3861  // .operations_research.sat.BoolArgumentProto bool_and = 4;
3862  bool has_bool_and() const;
3863  private:
3864  bool _internal_has_bool_and() const;
3865  public:
3867  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
3868  ::operations_research::sat::BoolArgumentProto* release_bool_and();
3869  ::operations_research::sat::BoolArgumentProto* mutable_bool_and();
3870  void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and);
3871  private:
3872  const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
3873  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_and();
3874  public:
3876  ::operations_research::sat::BoolArgumentProto* bool_and);
3877  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_and();
3878 
3879  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
3880  bool has_at_most_one() const;
3881  private:
3882  bool _internal_has_at_most_one() const;
3883  public:
3885  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
3886  ::operations_research::sat::BoolArgumentProto* release_at_most_one();
3887  ::operations_research::sat::BoolArgumentProto* mutable_at_most_one();
3888  void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one);
3889  private:
3890  const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
3891  ::operations_research::sat::BoolArgumentProto* _internal_mutable_at_most_one();
3892  public:
3894  ::operations_research::sat::BoolArgumentProto* at_most_one);
3895  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_at_most_one();
3896 
3897  // .operations_research.sat.BoolArgumentProto exactly_one = 29;
3898  bool has_exactly_one() const;
3899  private:
3900  bool _internal_has_exactly_one() const;
3901  public:
3903  const ::operations_research::sat::BoolArgumentProto& exactly_one() const;
3904  ::operations_research::sat::BoolArgumentProto* release_exactly_one();
3905  ::operations_research::sat::BoolArgumentProto* mutable_exactly_one();
3906  void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto* exactly_one);
3907  private:
3908  const ::operations_research::sat::BoolArgumentProto& _internal_exactly_one() const;
3909  ::operations_research::sat::BoolArgumentProto* _internal_mutable_exactly_one();
3910  public:
3912  ::operations_research::sat::BoolArgumentProto* exactly_one);
3913  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_exactly_one();
3914 
3915  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
3916  bool has_bool_xor() const;
3917  private:
3918  bool _internal_has_bool_xor() const;
3919  public:
3921  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
3922  ::operations_research::sat::BoolArgumentProto* release_bool_xor();
3923  ::operations_research::sat::BoolArgumentProto* mutable_bool_xor();
3924  void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor);
3925  private:
3926  const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
3927  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_xor();
3928  public:
3930  ::operations_research::sat::BoolArgumentProto* bool_xor);
3931  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_xor();
3932 
3933  // .operations_research.sat.IntegerArgumentProto int_div = 7;
3934  bool has_int_div() const;
3935  private:
3936  bool _internal_has_int_div() const;
3937  public:
3939  const ::operations_research::sat::IntegerArgumentProto& int_div() const;
3940  ::operations_research::sat::IntegerArgumentProto* release_int_div();
3941  ::operations_research::sat::IntegerArgumentProto* mutable_int_div();
3942  void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div);
3943  private:
3944  const ::operations_research::sat::IntegerArgumentProto& _internal_int_div() const;
3945  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_div();
3946  public:
3948  ::operations_research::sat::IntegerArgumentProto* int_div);
3949  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_div();
3950 
3951  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
3952  bool has_int_mod() const;
3953  private:
3954  bool _internal_has_int_mod() const;
3955  public:
3957  const ::operations_research::sat::IntegerArgumentProto& int_mod() const;
3958  ::operations_research::sat::IntegerArgumentProto* release_int_mod();
3959  ::operations_research::sat::IntegerArgumentProto* mutable_int_mod();
3960  void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod);
3961  private:
3962  const ::operations_research::sat::IntegerArgumentProto& _internal_int_mod() const;
3963  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_mod();
3964  public:
3966  ::operations_research::sat::IntegerArgumentProto* int_mod);
3967  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_mod();
3968 
3969  // .operations_research.sat.IntegerArgumentProto int_max = 9;
3970  bool has_int_max() const;
3971  private:
3972  bool _internal_has_int_max() const;
3973  public:
3975  const ::operations_research::sat::IntegerArgumentProto& int_max() const;
3976  ::operations_research::sat::IntegerArgumentProto* release_int_max();
3977  ::operations_research::sat::IntegerArgumentProto* mutable_int_max();
3978  void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max);
3979  private:
3980  const ::operations_research::sat::IntegerArgumentProto& _internal_int_max() const;
3981  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_max();
3982  public:
3984  ::operations_research::sat::IntegerArgumentProto* int_max);
3985  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_max();
3986 
3987  // .operations_research.sat.LinearArgumentProto lin_max = 27;
3988  bool has_lin_max() const;
3989  private:
3990  bool _internal_has_lin_max() const;
3991  public:
3993  const ::operations_research::sat::LinearArgumentProto& lin_max() const;
3994  ::operations_research::sat::LinearArgumentProto* release_lin_max();
3995  ::operations_research::sat::LinearArgumentProto* mutable_lin_max();
3996  void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max);
3997  private:
3998  const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
3999  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_max();
4000  public:
4002  ::operations_research::sat::LinearArgumentProto* lin_max);
4003  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_max();
4004 
4005  // .operations_research.sat.IntegerArgumentProto int_min = 10;
4006  bool has_int_min() const;
4007  private:
4008  bool _internal_has_int_min() const;
4009  public:
4011  const ::operations_research::sat::IntegerArgumentProto& int_min() const;
4012  ::operations_research::sat::IntegerArgumentProto* release_int_min();
4013  ::operations_research::sat::IntegerArgumentProto* mutable_int_min();
4014  void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min);
4015  private:
4016  const ::operations_research::sat::IntegerArgumentProto& _internal_int_min() const;
4017  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_min();
4018  public:
4020  ::operations_research::sat::IntegerArgumentProto* int_min);
4021  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_min();
4022 
4023  // .operations_research.sat.LinearArgumentProto lin_min = 28;
4024  bool has_lin_min() const;
4025  private:
4026  bool _internal_has_lin_min() const;
4027  public:
4029  const ::operations_research::sat::LinearArgumentProto& lin_min() const;
4030  ::operations_research::sat::LinearArgumentProto* release_lin_min();
4031  ::operations_research::sat::LinearArgumentProto* mutable_lin_min();
4032  void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min);
4033  private:
4034  const ::operations_research::sat::LinearArgumentProto& _internal_lin_min() const;
4035  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_min();
4036  public:
4038  ::operations_research::sat::LinearArgumentProto* lin_min);
4039  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_min();
4040 
4041  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
4042  bool has_int_prod() const;
4043  private:
4044  bool _internal_has_int_prod() const;
4045  public:
4047  const ::operations_research::sat::IntegerArgumentProto& int_prod() const;
4048  ::operations_research::sat::IntegerArgumentProto* release_int_prod();
4049  ::operations_research::sat::IntegerArgumentProto* mutable_int_prod();
4050  void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod);
4051  private:
4052  const ::operations_research::sat::IntegerArgumentProto& _internal_int_prod() const;
4053  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_prod();
4054  public:
4056  ::operations_research::sat::IntegerArgumentProto* int_prod);
4057  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_prod();
4058 
4059  // .operations_research.sat.LinearConstraintProto linear = 12;
4060  bool has_linear() const;
4061  private:
4062  bool _internal_has_linear() const;
4063  public:
4065  const ::operations_research::sat::LinearConstraintProto& linear() const;
4066  ::operations_research::sat::LinearConstraintProto* release_linear();
4067  ::operations_research::sat::LinearConstraintProto* mutable_linear();
4068  void set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear);
4069  private:
4070  const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
4071  ::operations_research::sat::LinearConstraintProto* _internal_mutable_linear();
4072  public:
4074  ::operations_research::sat::LinearConstraintProto* linear);
4075  ::operations_research::sat::LinearConstraintProto* unsafe_arena_release_linear();
4076 
4077  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
4078  bool has_all_diff() const;
4079  private:
4080  bool _internal_has_all_diff() const;
4081  public:
4083  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
4084  ::operations_research::sat::AllDifferentConstraintProto* release_all_diff();
4085  ::operations_research::sat::AllDifferentConstraintProto* mutable_all_diff();
4086  void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff);
4087  private:
4088  const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
4089  ::operations_research::sat::AllDifferentConstraintProto* _internal_mutable_all_diff();
4090  public:
4092  ::operations_research::sat::AllDifferentConstraintProto* all_diff);
4093  ::operations_research::sat::AllDifferentConstraintProto* unsafe_arena_release_all_diff();
4094 
4095  // .operations_research.sat.ElementConstraintProto element = 14;
4096  bool has_element() const;
4097  private:
4098  bool _internal_has_element() const;
4099  public:
4101  const ::operations_research::sat::ElementConstraintProto& element() const;
4102  ::operations_research::sat::ElementConstraintProto* release_element();
4103  ::operations_research::sat::ElementConstraintProto* mutable_element();
4104  void set_allocated_element(::operations_research::sat::ElementConstraintProto* element);
4105  private:
4106  const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
4107  ::operations_research::sat::ElementConstraintProto* _internal_mutable_element();
4108  public:
4110  ::operations_research::sat::ElementConstraintProto* element);
4111  ::operations_research::sat::ElementConstraintProto* unsafe_arena_release_element();
4112 
4113  // .operations_research.sat.CircuitConstraintProto circuit = 15;
4114  bool has_circuit() const;
4115  private:
4116  bool _internal_has_circuit() const;
4117  public:
4119  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
4120  ::operations_research::sat::CircuitConstraintProto* release_circuit();
4121  ::operations_research::sat::CircuitConstraintProto* mutable_circuit();
4122  void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit);
4123  private:
4124  const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
4125  ::operations_research::sat::CircuitConstraintProto* _internal_mutable_circuit();
4126  public:
4128  ::operations_research::sat::CircuitConstraintProto* circuit);
4129  ::operations_research::sat::CircuitConstraintProto* unsafe_arena_release_circuit();
4130 
4131  // .operations_research.sat.RoutesConstraintProto routes = 23;
4132  bool has_routes() const;
4133  private:
4134  bool _internal_has_routes() const;
4135  public:
4137  const ::operations_research::sat::RoutesConstraintProto& routes() const;
4138  ::operations_research::sat::RoutesConstraintProto* release_routes();
4139  ::operations_research::sat::RoutesConstraintProto* mutable_routes();
4140  void set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes);
4141  private:
4142  const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
4143  ::operations_research::sat::RoutesConstraintProto* _internal_mutable_routes();
4144  public:
4146  ::operations_research::sat::RoutesConstraintProto* routes);
4147  ::operations_research::sat::RoutesConstraintProto* unsafe_arena_release_routes();
4148 
4149  // .operations_research.sat.TableConstraintProto table = 16;
4150  bool has_table() const;
4151  private:
4152  bool _internal_has_table() const;
4153  public:
4154  void clear_table();
4155  const ::operations_research::sat::TableConstraintProto& table() const;
4156  ::operations_research::sat::TableConstraintProto* release_table();
4157  ::operations_research::sat::TableConstraintProto* mutable_table();
4158  void set_allocated_table(::operations_research::sat::TableConstraintProto* table);
4159  private:
4160  const ::operations_research::sat::TableConstraintProto& _internal_table() const;
4161  ::operations_research::sat::TableConstraintProto* _internal_mutable_table();
4162  public:
4164  ::operations_research::sat::TableConstraintProto* table);
4165  ::operations_research::sat::TableConstraintProto* unsafe_arena_release_table();
4166 
4167  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
4168  bool has_automaton() const;
4169  private:
4170  bool _internal_has_automaton() const;
4171  public:
4173  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
4174  ::operations_research::sat::AutomatonConstraintProto* release_automaton();
4175  ::operations_research::sat::AutomatonConstraintProto* mutable_automaton();
4176  void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton);
4177  private:
4178  const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
4179  ::operations_research::sat::AutomatonConstraintProto* _internal_mutable_automaton();
4180  public:
4182  ::operations_research::sat::AutomatonConstraintProto* automaton);
4183  ::operations_research::sat::AutomatonConstraintProto* unsafe_arena_release_automaton();
4184 
4185  // .operations_research.sat.InverseConstraintProto inverse = 18;
4186  bool has_inverse() const;
4187  private:
4188  bool _internal_has_inverse() const;
4189  public:
4191  const ::operations_research::sat::InverseConstraintProto& inverse() const;
4192  ::operations_research::sat::InverseConstraintProto* release_inverse();
4193  ::operations_research::sat::InverseConstraintProto* mutable_inverse();
4194  void set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse);
4195  private:
4196  const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
4197  ::operations_research::sat::InverseConstraintProto* _internal_mutable_inverse();
4198  public:
4200  ::operations_research::sat::InverseConstraintProto* inverse);
4201  ::operations_research::sat::InverseConstraintProto* unsafe_arena_release_inverse();
4202 
4203  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
4204  bool has_reservoir() const;
4205  private:
4206  bool _internal_has_reservoir() const;
4207  public:
4209  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
4210  ::operations_research::sat::ReservoirConstraintProto* release_reservoir();
4211  ::operations_research::sat::ReservoirConstraintProto* mutable_reservoir();
4212  void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir);
4213  private:
4214  const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
4215  ::operations_research::sat::ReservoirConstraintProto* _internal_mutable_reservoir();
4216  public:
4218  ::operations_research::sat::ReservoirConstraintProto* reservoir);
4219  ::operations_research::sat::ReservoirConstraintProto* unsafe_arena_release_reservoir();
4220 
4221  // .operations_research.sat.IntervalConstraintProto interval = 19;
4222  bool has_interval() const;
4223  private:
4224  bool _internal_has_interval() const;
4225  public:
4227  const ::operations_research::sat::IntervalConstraintProto& interval() const;
4228  ::operations_research::sat::IntervalConstraintProto* release_interval();
4229  ::operations_research::sat::IntervalConstraintProto* mutable_interval();
4230  void set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval);
4231  private:
4232  const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
4233  ::operations_research::sat::IntervalConstraintProto* _internal_mutable_interval();
4234  public:
4236  ::operations_research::sat::IntervalConstraintProto* interval);
4237  ::operations_research::sat::IntervalConstraintProto* unsafe_arena_release_interval();
4238 
4239  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
4240  bool has_no_overlap() const;
4241  private:
4242  bool _internal_has_no_overlap() const;
4243  public:
4245  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
4246  ::operations_research::sat::NoOverlapConstraintProto* release_no_overlap();
4247  ::operations_research::sat::NoOverlapConstraintProto* mutable_no_overlap();
4248  void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4249  private:
4250  const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
4251  ::operations_research::sat::NoOverlapConstraintProto* _internal_mutable_no_overlap();
4252  public:
4254  ::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4255  ::operations_research::sat::NoOverlapConstraintProto* unsafe_arena_release_no_overlap();
4256 
4257  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
4258  bool has_no_overlap_2d() const;
4259  private:
4260  bool _internal_has_no_overlap_2d() const;
4261  public:
4263  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
4264  ::operations_research::sat::NoOverlap2DConstraintProto* release_no_overlap_2d();
4265  ::operations_research::sat::NoOverlap2DConstraintProto* mutable_no_overlap_2d();
4266  void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4267  private:
4268  const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
4269  ::operations_research::sat::NoOverlap2DConstraintProto* _internal_mutable_no_overlap_2d();
4270  public:
4272  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4273  ::operations_research::sat::NoOverlap2DConstraintProto* unsafe_arena_release_no_overlap_2d();
4274 
4275  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
4276  bool has_cumulative() const;
4277  private:
4278  bool _internal_has_cumulative() const;
4279  public:
4281  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
4282  ::operations_research::sat::CumulativeConstraintProto* release_cumulative();
4283  ::operations_research::sat::CumulativeConstraintProto* mutable_cumulative();
4284  void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative);
4285  private:
4286  const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
4287  ::operations_research::sat::CumulativeConstraintProto* _internal_mutable_cumulative();
4288  public:
4290  ::operations_research::sat::CumulativeConstraintProto* cumulative);
4291  ::operations_research::sat::CumulativeConstraintProto* unsafe_arena_release_cumulative();
4292 
4295  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
4296  private:
4297  class _Internal;
4298  void set_has_bool_or();
4299  void set_has_bool_and();
4300  void set_has_at_most_one();
4301  void set_has_exactly_one();
4302  void set_has_bool_xor();
4303  void set_has_int_div();
4304  void set_has_int_mod();
4305  void set_has_int_max();
4306  void set_has_lin_max();
4307  void set_has_int_min();
4308  void set_has_lin_min();
4309  void set_has_int_prod();
4310  void set_has_linear();
4311  void set_has_all_diff();
4312  void set_has_element();
4313  void set_has_circuit();
4314  void set_has_routes();
4315  void set_has_table();
4316  void set_has_automaton();
4317  void set_has_inverse();
4318  void set_has_reservoir();
4319  void set_has_interval();
4320  void set_has_no_overlap();
4321  void set_has_no_overlap_2d();
4322  void set_has_cumulative();
4323 
4324  inline bool has_constraint() const;
4325  inline void clear_has_constraint();
4326 
4327  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4328  typedef void InternalArenaConstructable_;
4329  typedef void DestructorSkippable_;
4330  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > enforcement_literal_;
4331  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
4332  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4333  union ConstraintUnion {
4334  ConstraintUnion() {}
4335  ::operations_research::sat::BoolArgumentProto* bool_or_;
4336  ::operations_research::sat::BoolArgumentProto* bool_and_;
4337  ::operations_research::sat::BoolArgumentProto* at_most_one_;
4338  ::operations_research::sat::BoolArgumentProto* exactly_one_;
4339  ::operations_research::sat::BoolArgumentProto* bool_xor_;
4340  ::operations_research::sat::IntegerArgumentProto* int_div_;
4341  ::operations_research::sat::IntegerArgumentProto* int_mod_;
4342  ::operations_research::sat::IntegerArgumentProto* int_max_;
4343  ::operations_research::sat::LinearArgumentProto* lin_max_;
4344  ::operations_research::sat::IntegerArgumentProto* int_min_;
4345  ::operations_research::sat::LinearArgumentProto* lin_min_;
4346  ::operations_research::sat::IntegerArgumentProto* int_prod_;
4347  ::operations_research::sat::LinearConstraintProto* linear_;
4348  ::operations_research::sat::AllDifferentConstraintProto* all_diff_;
4349  ::operations_research::sat::ElementConstraintProto* element_;
4350  ::operations_research::sat::CircuitConstraintProto* circuit_;
4351  ::operations_research::sat::RoutesConstraintProto* routes_;
4352  ::operations_research::sat::TableConstraintProto* table_;
4353  ::operations_research::sat::AutomatonConstraintProto* automaton_;
4354  ::operations_research::sat::InverseConstraintProto* inverse_;
4355  ::operations_research::sat::ReservoirConstraintProto* reservoir_;
4356  ::operations_research::sat::IntervalConstraintProto* interval_;
4357  ::operations_research::sat::NoOverlapConstraintProto* no_overlap_;
4358  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d_;
4359  ::operations_research::sat::CumulativeConstraintProto* cumulative_;
4360  } constraint_;
4361  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4362  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
4363 
4364  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4365 };
4366 // -------------------------------------------------------------------
4367 
4368 class CpObjectiveProto PROTOBUF_FINAL :
4369  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
4370  public:
4371  inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
4373 
4374  CpObjectiveProto(const CpObjectiveProto& from);
4375  CpObjectiveProto(CpObjectiveProto&& from) noexcept
4376  : CpObjectiveProto() {
4377  *this = ::std::move(from);
4378  }
4379 
4380  inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
4381  CopyFrom(from);
4382  return *this;
4383  }
4384  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
4385  if (GetArena() == from.GetArena()) {
4386  if (this != &from) InternalSwap(&from);
4387  } else {
4388  CopyFrom(from);
4389  }
4390  return *this;
4391  }
4392 
4393  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4394  return GetDescriptor();
4395  }
4396  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4397  return GetMetadataStatic().descriptor;
4398  }
4399  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4400  return GetMetadataStatic().reflection;
4401  }
4402  static const CpObjectiveProto& default_instance();
4403 
4404  static inline const CpObjectiveProto* internal_default_instance() {
4405  return reinterpret_cast<const CpObjectiveProto*>(
4407  }
4408  static constexpr int kIndexInFileMessages =
4409  19;
4410 
4411  friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) {
4412  a.Swap(&b);
4413  }
4414  inline void Swap(CpObjectiveProto* other) {
4415  if (other == this) return;
4416  if (GetArena() == other->GetArena()) {
4417  InternalSwap(other);
4418  } else {
4419  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4420  }
4421  }
4422  void UnsafeArenaSwap(CpObjectiveProto* other) {
4423  if (other == this) return;
4424  GOOGLE_DCHECK(GetArena() == other->GetArena());
4425  InternalSwap(other);
4426  }
4427 
4428  // implements Message ----------------------------------------------
4429 
4430  inline CpObjectiveProto* New() const final {
4431  return CreateMaybeMessage<CpObjectiveProto>(nullptr);
4432  }
4433 
4434  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4435  return CreateMaybeMessage<CpObjectiveProto>(arena);
4436  }
4437  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4438  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4439  void CopyFrom(const CpObjectiveProto& from);
4440  void MergeFrom(const CpObjectiveProto& from);
4441  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4442  bool IsInitialized() const final;
4443 
4444  size_t ByteSizeLong() const final;
4445  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4446  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4447  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4448  int GetCachedSize() const final { return _cached_size_.Get(); }
4449 
4450  private:
4451  inline void SharedCtor();
4452  inline void SharedDtor();
4453  void SetCachedSize(int size) const final;
4454  void InternalSwap(CpObjectiveProto* other);
4455  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4456  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4457  return "operations_research.sat.CpObjectiveProto";
4458  }
4459  protected:
4460  explicit CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4461  private:
4462  static void ArenaDtor(void* object);
4463  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4464  public:
4465 
4466  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4467  private:
4468  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4469  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4470  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4471  }
4472 
4473  public:
4474 
4475  // nested types ----------------------------------------------------
4476 
4477  // accessors -------------------------------------------------------
4478 
4479  enum : int {
4480  kVarsFieldNumber = 1,
4481  kCoeffsFieldNumber = 4,
4482  kDomainFieldNumber = 5,
4483  kOffsetFieldNumber = 2,
4484  kScalingFactorFieldNumber = 3,
4485  };
4486  // repeated int32 vars = 1;
4487  int vars_size() const;
4488  private:
4489  int _internal_vars_size() const;
4490  public:
4491  void clear_vars();
4492  private:
4493  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
4494  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4495  _internal_vars() const;
4496  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4497  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4498  _internal_mutable_vars();
4499  public:
4503  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4504  vars() const;
4505  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4507 
4508  // repeated int64 coeffs = 4;
4509  int coeffs_size() const;
4510  private:
4511  int _internal_coeffs_size() const;
4512  public:
4514  private:
4515  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
4516  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4517  _internal_coeffs() const;
4518  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4519  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4520  _internal_mutable_coeffs();
4521  public:
4525  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4526  coeffs() const;
4527  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4529 
4530  // repeated int64 domain = 5;
4531  int domain_size() const;
4532  private:
4533  int _internal_domain_size() const;
4534  public:
4536  private:
4537  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
4538  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4539  _internal_domain() const;
4540  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4541  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4542  _internal_mutable_domain();
4543  public:
4547  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4548  domain() const;
4549  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4551 
4552  // double offset = 2;
4554  double offset() const;
4555  void set_offset(double value);
4556  private:
4557  double _internal_offset() const;
4558  void _internal_set_offset(double value);
4559  public:
4560 
4561  // double scaling_factor = 3;
4563  double scaling_factor() const;
4565  private:
4566  double _internal_scaling_factor() const;
4567  void _internal_set_scaling_factor(double value);
4568  public:
4569 
4570  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
4571  private:
4572  class _Internal;
4573 
4574  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4575  typedef void InternalArenaConstructable_;
4576  typedef void DestructorSkippable_;
4577  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
4578  mutable std::atomic<int> _vars_cached_byte_size_;
4579  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
4580  mutable std::atomic<int> _coeffs_cached_byte_size_;
4581  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
4582  mutable std::atomic<int> _domain_cached_byte_size_;
4583  double offset_;
4584  double scaling_factor_;
4585  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4586  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4587 };
4588 // -------------------------------------------------------------------
4589 
4590 class DecisionStrategyProto_AffineTransformation PROTOBUF_FINAL :
4591  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
4592  public:
4593  inline DecisionStrategyProto_AffineTransformation() : DecisionStrategyProto_AffineTransformation(nullptr) {}
4595 
4596  DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation& from);
4597  DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation&& from) noexcept
4598  : DecisionStrategyProto_AffineTransformation() {
4599  *this = ::std::move(from);
4600  }
4601 
4602  inline DecisionStrategyProto_AffineTransformation& operator=(const DecisionStrategyProto_AffineTransformation& from) {
4603  CopyFrom(from);
4604  return *this;
4605  }
4606  inline DecisionStrategyProto_AffineTransformation& operator=(DecisionStrategyProto_AffineTransformation&& from) noexcept {
4607  if (GetArena() == from.GetArena()) {
4608  if (this != &from) InternalSwap(&from);
4609  } else {
4610  CopyFrom(from);
4611  }
4612  return *this;
4613  }
4614 
4615  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4616  return GetDescriptor();
4617  }
4618  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4619  return GetMetadataStatic().descriptor;
4620  }
4621  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4622  return GetMetadataStatic().reflection;
4623  }
4624  static const DecisionStrategyProto_AffineTransformation& default_instance();
4625 
4626  static inline const DecisionStrategyProto_AffineTransformation* internal_default_instance() {
4627  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
4629  }
4630  static constexpr int kIndexInFileMessages =
4631  20;
4632 
4633  friend void swap(DecisionStrategyProto_AffineTransformation& a, DecisionStrategyProto_AffineTransformation& b) {
4634  a.Swap(&b);
4635  }
4636  inline void Swap(DecisionStrategyProto_AffineTransformation* other) {
4637  if (other == this) return;
4638  if (GetArena() == other->GetArena()) {
4639  InternalSwap(other);
4640  } else {
4641  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4642  }
4643  }
4644  void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation* other) {
4645  if (other == this) return;
4646  GOOGLE_DCHECK(GetArena() == other->GetArena());
4647  InternalSwap(other);
4648  }
4649 
4650  // implements Message ----------------------------------------------
4651 
4652  inline DecisionStrategyProto_AffineTransformation* New() const final {
4653  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(nullptr);
4654  }
4655 
4656  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4657  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
4658  }
4659  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4660  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4661  void CopyFrom(const DecisionStrategyProto_AffineTransformation& from);
4662  void MergeFrom(const DecisionStrategyProto_AffineTransformation& from);
4663  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4664  bool IsInitialized() const final;
4665 
4666  size_t ByteSizeLong() const final;
4667  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4668  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4669  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4670  int GetCachedSize() const final { return _cached_size_.Get(); }
4671 
4672  private:
4673  inline void SharedCtor();
4674  inline void SharedDtor();
4675  void SetCachedSize(int size) const final;
4676  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
4677  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4678  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4679  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
4680  }
4681  protected:
4682  explicit DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4683  private:
4684  static void ArenaDtor(void* object);
4685  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4686  public:
4687 
4688  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4689  private:
4690  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4691  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4692  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4693  }
4694 
4695  public:
4696 
4697  // nested types ----------------------------------------------------
4698 
4699  // accessors -------------------------------------------------------
4700 
4701  enum : int {
4702  kOffsetFieldNumber = 2,
4703  kPositiveCoeffFieldNumber = 3,
4704  kVarFieldNumber = 1,
4705  };
4706  // int64 offset = 2;
4710  private:
4711  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
4712  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4713  public:
4714 
4715  // int64 positive_coeff = 3;
4719  private:
4720  ::PROTOBUF_NAMESPACE_ID::int64 _internal_positive_coeff() const;
4721  void _internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4722  public:
4723 
4724  // int32 var = 1;
4725  void clear_var();
4728  private:
4729  ::PROTOBUF_NAMESPACE_ID::int32 _internal_var() const;
4730  void _internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value);
4731  public:
4732 
4733  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
4734  private:
4735  class _Internal;
4736 
4737  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4738  typedef void InternalArenaConstructable_;
4739  typedef void DestructorSkippable_;
4741  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff_;
4743  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4744  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4745 };
4746 // -------------------------------------------------------------------
4747 
4748 class DecisionStrategyProto PROTOBUF_FINAL :
4749  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
4750  public:
4751  inline DecisionStrategyProto() : DecisionStrategyProto(nullptr) {}
4753 
4754  DecisionStrategyProto(const DecisionStrategyProto& from);
4755  DecisionStrategyProto(DecisionStrategyProto&& from) noexcept
4756  : DecisionStrategyProto() {
4757  *this = ::std::move(from);
4758  }
4759 
4760  inline DecisionStrategyProto& operator=(const DecisionStrategyProto& from) {
4761  CopyFrom(from);
4762  return *this;
4763  }
4764  inline DecisionStrategyProto& operator=(DecisionStrategyProto&& from) noexcept {
4765  if (GetArena() == from.GetArena()) {
4766  if (this != &from) InternalSwap(&from);
4767  } else {
4768  CopyFrom(from);
4769  }
4770  return *this;
4771  }
4772 
4773  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4774  return GetDescriptor();
4775  }
4776  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4777  return GetMetadataStatic().descriptor;
4778  }
4779  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4780  return GetMetadataStatic().reflection;
4781  }
4782  static const DecisionStrategyProto& default_instance();
4783 
4784  static inline const DecisionStrategyProto* internal_default_instance() {
4785  return reinterpret_cast<const DecisionStrategyProto*>(
4787  }
4788  static constexpr int kIndexInFileMessages =
4789  21;
4790 
4791  friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) {
4792  a.Swap(&b);
4793  }
4794  inline void Swap(DecisionStrategyProto* other) {
4795  if (other == this) return;
4796  if (GetArena() == other->GetArena()) {
4797  InternalSwap(other);
4798  } else {
4799  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4800  }
4801  }
4802  void UnsafeArenaSwap(DecisionStrategyProto* other) {
4803  if (other == this) return;
4804  GOOGLE_DCHECK(GetArena() == other->GetArena());
4805  InternalSwap(other);
4806  }
4807 
4808  // implements Message ----------------------------------------------
4809 
4810  inline DecisionStrategyProto* New() const final {
4811  return CreateMaybeMessage<DecisionStrategyProto>(nullptr);
4812  }
4813 
4814  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4815  return CreateMaybeMessage<DecisionStrategyProto>(arena);
4816  }
4817  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4818  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4819  void CopyFrom(const DecisionStrategyProto& from);
4820  void MergeFrom(const DecisionStrategyProto& from);
4821  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4822  bool IsInitialized() const final;
4823 
4824  size_t ByteSizeLong() const final;
4825  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4826  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4827  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4828  int GetCachedSize() const final { return _cached_size_.Get(); }
4829 
4830  private:
4831  inline void SharedCtor();
4832  inline void SharedDtor();
4833  void SetCachedSize(int size) const final;
4834  void InternalSwap(DecisionStrategyProto* other);
4835  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4836  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4837  return "operations_research.sat.DecisionStrategyProto";
4838  }
4839  protected:
4840  explicit DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4841  private:
4842  static void ArenaDtor(void* object);
4843  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4844  public:
4845 
4846  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4847  private:
4848  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4849  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4850  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4851  }
4852 
4853  public:
4854 
4855  // nested types ----------------------------------------------------
4856 
4857  typedef DecisionStrategyProto_AffineTransformation AffineTransformation;
4858 
4860  static constexpr VariableSelectionStrategy CHOOSE_FIRST =
4862  static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN =
4864  static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX =
4866  static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE =
4868  static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE =
4870  static inline bool VariableSelectionStrategy_IsValid(int value) {
4872  }
4873  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN =
4875  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX =
4877  static constexpr int VariableSelectionStrategy_ARRAYSIZE =
4879  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
4882  }
4883  template<typename T>
4884  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
4887  "Incorrect type passed to function VariableSelectionStrategy_Name.");
4889  }
4890  static inline bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
4893  }
4894 
4896  static constexpr DomainReductionStrategy SELECT_MIN_VALUE =
4898  static constexpr DomainReductionStrategy SELECT_MAX_VALUE =
4900  static constexpr DomainReductionStrategy SELECT_LOWER_HALF =
4902  static constexpr DomainReductionStrategy SELECT_UPPER_HALF =
4904  static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE =
4906  static inline bool DomainReductionStrategy_IsValid(int value) {
4908  }
4909  static constexpr DomainReductionStrategy DomainReductionStrategy_MIN =
4911  static constexpr DomainReductionStrategy DomainReductionStrategy_MAX =
4913  static constexpr int DomainReductionStrategy_ARRAYSIZE =
4915  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
4918  }
4919  template<typename T>
4920  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
4923  "Incorrect type passed to function DomainReductionStrategy_Name.");
4925  }
4926  static inline bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
4929  }
4930 
4931  // accessors -------------------------------------------------------
4932 
4933  enum : int {
4934  kVariablesFieldNumber = 1,
4935  kTransformationsFieldNumber = 4,
4936  kVariableSelectionStrategyFieldNumber = 2,
4937  kDomainReductionStrategyFieldNumber = 3,
4938  };
4939  // repeated int32 variables = 1;
4940  int variables_size() const;
4941  private:
4942  int _internal_variables_size() const;
4943  public:
4945  private:
4946  ::PROTOBUF_NAMESPACE_ID::int32 _internal_variables(int index) const;
4947  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4948  _internal_variables() const;
4949  void _internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
4950  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4951  _internal_mutable_variables();
4952  public:
4956  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4957  variables() const;
4958  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4960 
4961  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
4963  private:
4964  int _internal_transformations_size() const;
4965  public:
4967  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* mutable_transformations(int index);
4968  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
4970  private:
4971  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& _internal_transformations(int index) const;
4972  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* _internal_add_transformations();
4973  public:
4974  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
4975  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* add_transformations();
4976  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
4978 
4979  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
4983  private:
4984  ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
4985  void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
4986  public:
4987 
4988  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
4992  private:
4993  ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
4994  void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
4995  public:
4996 
4997  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
4998  private:
4999  class _Internal;
5000 
5001  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5002  typedef void InternalArenaConstructable_;
5003  typedef void DestructorSkippable_;
5004  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > variables_;
5005  mutable std::atomic<int> _variables_cached_byte_size_;
5006  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
5007  int variable_selection_strategy_;
5008  int domain_reduction_strategy_;
5009  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5010  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5011 };
5012 // -------------------------------------------------------------------
5013 
5014 class PartialVariableAssignment PROTOBUF_FINAL :
5015  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
5016  public:
5017  inline PartialVariableAssignment() : PartialVariableAssignment(nullptr) {}
5019 
5020  PartialVariableAssignment(const PartialVariableAssignment& from);
5021  PartialVariableAssignment(PartialVariableAssignment&& from) noexcept
5022  : PartialVariableAssignment() {
5023  *this = ::std::move(from);
5024  }
5025 
5026  inline PartialVariableAssignment& operator=(const PartialVariableAssignment& from) {
5027  CopyFrom(from);
5028  return *this;
5029  }
5030  inline PartialVariableAssignment& operator=(PartialVariableAssignment&& from) noexcept {
5031  if (GetArena() == from.GetArena()) {
5032  if (this != &from) InternalSwap(&from);
5033  } else {
5034  CopyFrom(from);
5035  }
5036  return *this;
5037  }
5038 
5039  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5040  return GetDescriptor();
5041  }
5042  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5043  return GetMetadataStatic().descriptor;
5044  }
5045  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5046  return GetMetadataStatic().reflection;
5047  }
5048  static const PartialVariableAssignment& default_instance();
5049 
5050  static inline const PartialVariableAssignment* internal_default_instance() {
5051  return reinterpret_cast<const PartialVariableAssignment*>(
5053  }
5054  static constexpr int kIndexInFileMessages =
5055  22;
5056 
5057  friend void swap(PartialVariableAssignment& a, PartialVariableAssignment& b) {
5058  a.Swap(&b);
5059  }
5060  inline void Swap(PartialVariableAssignment* other) {
5061  if (other == this) return;
5062  if (GetArena() == other->GetArena()) {
5063  InternalSwap(other);
5064  } else {
5065  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5066  }
5067  }
5068  void UnsafeArenaSwap(PartialVariableAssignment* other) {
5069  if (other == this) return;
5070  GOOGLE_DCHECK(GetArena() == other->GetArena());
5071  InternalSwap(other);
5072  }
5073 
5074  // implements Message ----------------------------------------------
5075 
5076  inline PartialVariableAssignment* New() const final {
5077  return CreateMaybeMessage<PartialVariableAssignment>(nullptr);
5078  }
5079 
5080  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5081  return CreateMaybeMessage<PartialVariableAssignment>(arena);
5082  }
5083  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5084  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5085  void CopyFrom(const PartialVariableAssignment& from);
5086  void MergeFrom(const PartialVariableAssignment& from);
5087  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5088  bool IsInitialized() const final;
5089 
5090  size_t ByteSizeLong() const final;
5091  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5092  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5093  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5094  int GetCachedSize() const final { return _cached_size_.Get(); }
5095 
5096  private:
5097  inline void SharedCtor();
5098  inline void SharedDtor();
5099  void SetCachedSize(int size) const final;
5100  void InternalSwap(PartialVariableAssignment* other);
5101  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5102  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5103  return "operations_research.sat.PartialVariableAssignment";
5104  }
5105  protected:
5106  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5107  private:
5108  static void ArenaDtor(void* object);
5109  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5110  public:
5111 
5112  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5113  private:
5114  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5115  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5116  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5117  }
5118 
5119  public:
5120 
5121  // nested types ----------------------------------------------------
5122 
5123  // accessors -------------------------------------------------------
5124 
5125  enum : int {
5126  kVarsFieldNumber = 1,
5127  kValuesFieldNumber = 2,
5128  };
5129  // repeated int32 vars = 1;
5130  int vars_size() const;
5131  private:
5132  int _internal_vars_size() const;
5133  public:
5134  void clear_vars();
5135  private:
5136  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
5137  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5138  _internal_vars() const;
5139  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5140  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5141  _internal_mutable_vars();
5142  public:
5146  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5147  vars() const;
5148  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5150 
5151  // repeated int64 values = 2;
5152  int values_size() const;
5153  private:
5154  int _internal_values_size() const;
5155  public:
5157  private:
5158  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
5159  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5160  _internal_values() const;
5161  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5162  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5163  _internal_mutable_values();
5164  public:
5168  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5169  values() const;
5170  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5172 
5173  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
5174  private:
5175  class _Internal;
5176 
5177  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5178  typedef void InternalArenaConstructable_;
5179  typedef void DestructorSkippable_;
5180  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
5181  mutable std::atomic<int> _vars_cached_byte_size_;
5182  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
5183  mutable std::atomic<int> _values_cached_byte_size_;
5184  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5185  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5186 };
5187 // -------------------------------------------------------------------
5188 
5189 class SparsePermutationProto PROTOBUF_FINAL :
5190  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SparsePermutationProto) */ {
5191  public:
5192  inline SparsePermutationProto() : SparsePermutationProto(nullptr) {}
5194 
5195  SparsePermutationProto(const SparsePermutationProto& from);
5196  SparsePermutationProto(SparsePermutationProto&& from) noexcept
5197  : SparsePermutationProto() {
5198  *this = ::std::move(from);
5199  }
5200 
5201  inline SparsePermutationProto& operator=(const SparsePermutationProto& from) {
5202  CopyFrom(from);
5203  return *this;
5204  }
5205  inline SparsePermutationProto& operator=(SparsePermutationProto&& from) noexcept {
5206  if (GetArena() == from.GetArena()) {
5207  if (this != &from) InternalSwap(&from);
5208  } else {
5209  CopyFrom(from);
5210  }
5211  return *this;
5212  }
5213 
5214  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5215  return GetDescriptor();
5216  }
5217  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5218  return GetMetadataStatic().descriptor;
5219  }
5220  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5221  return GetMetadataStatic().reflection;
5222  }
5223  static const SparsePermutationProto& default_instance();
5224 
5225  static inline const SparsePermutationProto* internal_default_instance() {
5226  return reinterpret_cast<const SparsePermutationProto*>(
5228  }
5229  static constexpr int kIndexInFileMessages =
5230  23;
5231 
5232  friend void swap(SparsePermutationProto& a, SparsePermutationProto& b) {
5233  a.Swap(&b);
5234  }
5235  inline void Swap(SparsePermutationProto* other) {
5236  if (other == this) return;
5237  if (GetArena() == other->GetArena()) {
5238  InternalSwap(other);
5239  } else {
5240  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5241  }
5242  }
5243  void UnsafeArenaSwap(SparsePermutationProto* other) {
5244  if (other == this) return;
5245  GOOGLE_DCHECK(GetArena() == other->GetArena());
5246  InternalSwap(other);
5247  }
5248 
5249  // implements Message ----------------------------------------------
5250 
5251  inline SparsePermutationProto* New() const final {
5252  return CreateMaybeMessage<SparsePermutationProto>(nullptr);
5253  }
5254 
5255  SparsePermutationProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5256  return CreateMaybeMessage<SparsePermutationProto>(arena);
5257  }
5258  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5259  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5260  void CopyFrom(const SparsePermutationProto& from);
5261  void MergeFrom(const SparsePermutationProto& from);
5262  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5263  bool IsInitialized() const final;
5264 
5265  size_t ByteSizeLong() const final;
5266  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5267  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5268  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5269  int GetCachedSize() const final { return _cached_size_.Get(); }
5270 
5271  private:
5272  inline void SharedCtor();
5273  inline void SharedDtor();
5274  void SetCachedSize(int size) const final;
5275  void InternalSwap(SparsePermutationProto* other);
5276  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5277  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5278  return "operations_research.sat.SparsePermutationProto";
5279  }
5280  protected:
5281  explicit SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5282  private:
5283  static void ArenaDtor(void* object);
5284  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5285  public:
5286 
5287  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5288  private:
5289  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5290  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5291  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5292  }
5293 
5294  public:
5295 
5296  // nested types ----------------------------------------------------
5297 
5298  // accessors -------------------------------------------------------
5299 
5300  enum : int {
5301  kSupportFieldNumber = 1,
5302  kCycleSizesFieldNumber = 2,
5303  };
5304  // repeated int32 support = 1;
5305  int support_size() const;
5306  private:
5307  int _internal_support_size() const;
5308  public:
5310  private:
5311  ::PROTOBUF_NAMESPACE_ID::int32 _internal_support(int index) const;
5312  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5313  _internal_support() const;
5314  void _internal_add_support(::PROTOBUF_NAMESPACE_ID::int32 value);
5315  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5316  _internal_mutable_support();
5317  public:
5321  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5322  support() const;
5323  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5325 
5326  // repeated int32 cycle_sizes = 2;
5327  int cycle_sizes_size() const;
5328  private:
5329  int _internal_cycle_sizes_size() const;
5330  public:
5332  private:
5333  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cycle_sizes(int index) const;
5334  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5335  _internal_cycle_sizes() const;
5336  void _internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value);
5337  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5338  _internal_mutable_cycle_sizes();
5339  public:
5343  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5344  cycle_sizes() const;
5345  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5347 
5348  // @@protoc_insertion_point(class_scope:operations_research.sat.SparsePermutationProto)
5349  private:
5350  class _Internal;
5351 
5352  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5353  typedef void InternalArenaConstructable_;
5354  typedef void DestructorSkippable_;
5355  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > support_;
5356  mutable std::atomic<int> _support_cached_byte_size_;
5357  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > cycle_sizes_;
5358  mutable std::atomic<int> _cycle_sizes_cached_byte_size_;
5359  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5360  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5361 };
5362 // -------------------------------------------------------------------
5363 
5364 class DenseMatrixProto PROTOBUF_FINAL :
5365  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DenseMatrixProto) */ {
5366  public:
5367  inline DenseMatrixProto() : DenseMatrixProto(nullptr) {}
5369 
5370  DenseMatrixProto(const DenseMatrixProto& from);
5371  DenseMatrixProto(DenseMatrixProto&& from) noexcept
5372  : DenseMatrixProto() {
5373  *this = ::std::move(from);
5374  }
5375 
5376  inline DenseMatrixProto& operator=(const DenseMatrixProto& from) {
5377  CopyFrom(from);
5378  return *this;
5379  }
5380  inline DenseMatrixProto& operator=(DenseMatrixProto&& from) noexcept {
5381  if (GetArena() == from.GetArena()) {
5382  if (this != &from) InternalSwap(&from);
5383  } else {
5384  CopyFrom(from);
5385  }
5386  return *this;
5387  }
5388 
5389  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5390  return GetDescriptor();
5391  }
5392  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5393  return GetMetadataStatic().descriptor;
5394  }
5395  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5396  return GetMetadataStatic().reflection;
5397  }
5398  static const DenseMatrixProto& default_instance();
5399 
5400  static inline const DenseMatrixProto* internal_default_instance() {
5401  return reinterpret_cast<const DenseMatrixProto*>(
5403  }
5404  static constexpr int kIndexInFileMessages =
5405  24;
5406 
5407  friend void swap(DenseMatrixProto& a, DenseMatrixProto& b) {
5408  a.Swap(&b);
5409  }
5410  inline void Swap(DenseMatrixProto* other) {
5411  if (other == this) return;
5412  if (GetArena() == other->GetArena()) {
5413  InternalSwap(other);
5414  } else {
5415  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5416  }
5417  }
5418  void UnsafeArenaSwap(DenseMatrixProto* other) {
5419  if (other == this) return;
5420  GOOGLE_DCHECK(GetArena() == other->GetArena());
5421  InternalSwap(other);
5422  }
5423 
5424  // implements Message ----------------------------------------------
5425 
5426  inline DenseMatrixProto* New() const final {
5427  return CreateMaybeMessage<DenseMatrixProto>(nullptr);
5428  }
5429 
5430  DenseMatrixProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5431  return CreateMaybeMessage<DenseMatrixProto>(arena);
5432  }
5433  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5434  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5435  void CopyFrom(const DenseMatrixProto& from);
5436  void MergeFrom(const DenseMatrixProto& from);
5437  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5438  bool IsInitialized() const final;
5439 
5440  size_t ByteSizeLong() const final;
5441  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5442  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5443  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5444  int GetCachedSize() const final { return _cached_size_.Get(); }
5445 
5446  private:
5447  inline void SharedCtor();
5448  inline void SharedDtor();
5449  void SetCachedSize(int size) const final;
5450  void InternalSwap(DenseMatrixProto* other);
5451  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5452  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5453  return "operations_research.sat.DenseMatrixProto";
5454  }
5455  protected:
5456  explicit DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5457  private:
5458  static void ArenaDtor(void* object);
5459  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5460  public:
5461 
5462  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5463  private:
5464  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5465  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5466  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5467  }
5468 
5469  public:
5470 
5471  // nested types ----------------------------------------------------
5472 
5473  // accessors -------------------------------------------------------
5474 
5475  enum : int {
5476  kEntriesFieldNumber = 3,
5477  kNumRowsFieldNumber = 1,
5478  kNumColsFieldNumber = 2,
5479  };
5480  // repeated int32 entries = 3;
5481  int entries_size() const;
5482  private:
5483  int _internal_entries_size() const;
5484  public:
5486  private:
5487  ::PROTOBUF_NAMESPACE_ID::int32 _internal_entries(int index) const;
5488  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5489  _internal_entries() const;
5490  void _internal_add_entries(::PROTOBUF_NAMESPACE_ID::int32 value);
5491  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5492  _internal_mutable_entries();
5493  public:
5497  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5498  entries() const;
5499  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5501 
5502  // int32 num_rows = 1;
5506  private:
5507  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_rows() const;
5508  void _internal_set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value);
5509  public:
5510 
5511  // int32 num_cols = 2;
5515  private:
5516  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_cols() const;
5517  void _internal_set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value);
5518  public:
5519 
5520  // @@protoc_insertion_point(class_scope:operations_research.sat.DenseMatrixProto)
5521  private:
5522  class _Internal;
5523 
5524  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5525  typedef void InternalArenaConstructable_;
5526  typedef void DestructorSkippable_;
5527  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > entries_;
5528  mutable std::atomic<int> _entries_cached_byte_size_;
5531  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5532  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5533 };
5534 // -------------------------------------------------------------------
5535 
5536 class SymmetryProto PROTOBUF_FINAL :
5537  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SymmetryProto) */ {
5538  public:
5539  inline SymmetryProto() : SymmetryProto(nullptr) {}
5540  virtual ~SymmetryProto();
5541 
5542  SymmetryProto(const SymmetryProto& from);
5543  SymmetryProto(SymmetryProto&& from) noexcept
5544  : SymmetryProto() {
5545  *this = ::std::move(from);
5546  }
5547 
5548  inline SymmetryProto& operator=(const SymmetryProto& from) {
5549  CopyFrom(from);
5550  return *this;
5551  }
5552  inline SymmetryProto& operator=(SymmetryProto&& from) noexcept {
5553  if (GetArena() == from.GetArena()) {
5554  if (this != &from) InternalSwap(&from);
5555  } else {
5556  CopyFrom(from);
5557  }
5558  return *this;
5559  }
5560 
5561  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5562  return GetDescriptor();
5563  }
5564  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5565  return GetMetadataStatic().descriptor;
5566  }
5567  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5568  return GetMetadataStatic().reflection;
5569  }
5570  static const SymmetryProto& default_instance();
5571 
5572  static inline const SymmetryProto* internal_default_instance() {
5573  return reinterpret_cast<const SymmetryProto*>(
5575  }
5576  static constexpr int kIndexInFileMessages =
5577  25;
5578 
5579  friend void swap(SymmetryProto& a, SymmetryProto& b) {
5580  a.Swap(&b);
5581  }
5582  inline void Swap(SymmetryProto* other) {
5583  if (other == this) return;
5584  if (GetArena() == other->GetArena()) {
5585  InternalSwap(other);
5586  } else {
5587  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5588  }
5589  }
5590  void UnsafeArenaSwap(SymmetryProto* other) {
5591  if (other == this) return;
5592  GOOGLE_DCHECK(GetArena() == other->GetArena());
5593  InternalSwap(other);
5594  }
5595 
5596  // implements Message ----------------------------------------------
5597 
5598  inline SymmetryProto* New() const final {
5599  return CreateMaybeMessage<SymmetryProto>(nullptr);
5600  }
5601 
5602  SymmetryProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5603  return CreateMaybeMessage<SymmetryProto>(arena);
5604  }
5605  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5606  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5607  void CopyFrom(const SymmetryProto& from);
5608  void MergeFrom(const SymmetryProto& from);
5609  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5610  bool IsInitialized() const final;
5611 
5612  size_t ByteSizeLong() const final;
5613  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5614  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5615  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5616  int GetCachedSize() const final { return _cached_size_.Get(); }
5617 
5618  private:
5619  inline void SharedCtor();
5620  inline void SharedDtor();
5621  void SetCachedSize(int size) const final;
5622  void InternalSwap(SymmetryProto* other);
5623  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5624  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5625  return "operations_research.sat.SymmetryProto";
5626  }
5627  protected:
5628  explicit SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5629  private:
5630  static void ArenaDtor(void* object);
5631  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5632  public:
5633 
5634  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5635  private:
5636  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5637  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5638  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5639  }
5640 
5641  public:
5642 
5643  // nested types ----------------------------------------------------
5644 
5645  // accessors -------------------------------------------------------
5646 
5647  enum : int {
5648  kPermutationsFieldNumber = 1,
5649  kOrbitopesFieldNumber = 2,
5650  };
5651  // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
5652  int permutations_size() const;
5653  private:
5654  int _internal_permutations_size() const;
5655  public:
5657  ::operations_research::sat::SparsePermutationProto* mutable_permutations(int index);
5658  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
5660  private:
5661  const ::operations_research::sat::SparsePermutationProto& _internal_permutations(int index) const;
5662  ::operations_research::sat::SparsePermutationProto* _internal_add_permutations();
5663  public:
5664  const ::operations_research::sat::SparsePermutationProto& permutations(int index) const;
5665  ::operations_research::sat::SparsePermutationProto* add_permutations();
5666  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
5667  permutations() const;
5668 
5669  // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
5670  int orbitopes_size() const;
5671  private:
5672  int _internal_orbitopes_size() const;
5673  public:
5675  ::operations_research::sat::DenseMatrixProto* mutable_orbitopes(int index);
5676  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
5678  private:
5679  const ::operations_research::sat::DenseMatrixProto& _internal_orbitopes(int index) const;
5680  ::operations_research::sat::DenseMatrixProto* _internal_add_orbitopes();
5681  public:
5682  const ::operations_research::sat::DenseMatrixProto& orbitopes(int index) const;
5683  ::operations_research::sat::DenseMatrixProto* add_orbitopes();
5684  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
5685  orbitopes() const;
5686 
5687  // @@protoc_insertion_point(class_scope:operations_research.sat.SymmetryProto)
5688  private:
5689  class _Internal;
5690 
5691  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5692  typedef void InternalArenaConstructable_;
5693  typedef void DestructorSkippable_;
5694  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > permutations_;
5695  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > orbitopes_;
5696  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5697  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5698 };
5699 // -------------------------------------------------------------------
5700 
5701 class CpModelProto PROTOBUF_FINAL :
5702  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
5703  public:
5704  inline CpModelProto() : CpModelProto(nullptr) {}
5705  virtual ~CpModelProto();
5706 
5707  CpModelProto(const CpModelProto& from);
5708  CpModelProto(CpModelProto&& from) noexcept
5709  : CpModelProto() {
5710  *this = ::std::move(from);
5711  }
5712 
5713  inline CpModelProto& operator=(const CpModelProto& from) {
5714  CopyFrom(from);
5715  return *this;
5716  }
5717  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
5718  if (GetArena() == from.GetArena()) {
5719  if (this != &from) InternalSwap(&from);
5720  } else {
5721  CopyFrom(from);
5722  }
5723  return *this;
5724  }
5725 
5726  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5727  return GetDescriptor();
5728  }
5729  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5730  return GetMetadataStatic().descriptor;
5731  }
5732  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5733  return GetMetadataStatic().reflection;
5734  }
5735  static const CpModelProto& default_instance();
5736 
5737  static inline const CpModelProto* internal_default_instance() {
5738  return reinterpret_cast<const CpModelProto*>(
5740  }
5741  static constexpr int kIndexInFileMessages =
5742  26;
5743 
5744  friend void swap(CpModelProto& a, CpModelProto& b) {
5745  a.Swap(&b);
5746  }
5747  inline void Swap(CpModelProto* other) {
5748  if (other == this) return;
5749  if (GetArena() == other->GetArena()) {
5750  InternalSwap(other);
5751  } else {
5752  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5753  }
5754  }
5755  void UnsafeArenaSwap(CpModelProto* other) {
5756  if (other == this) return;
5757  GOOGLE_DCHECK(GetArena() == other->GetArena());
5758  InternalSwap(other);
5759  }
5760 
5761  // implements Message ----------------------------------------------
5762 
5763  inline CpModelProto* New() const final {
5764  return CreateMaybeMessage<CpModelProto>(nullptr);
5765  }
5766 
5767  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5768  return CreateMaybeMessage<CpModelProto>(arena);
5769  }
5770  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5771  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5772  void CopyFrom(const CpModelProto& from);
5773  void MergeFrom(const CpModelProto& from);
5774  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5775  bool IsInitialized() const final;
5776 
5777  size_t ByteSizeLong() const final;
5778  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5779  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5780  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5781  int GetCachedSize() const final { return _cached_size_.Get(); }
5782 
5783  private:
5784  inline void SharedCtor();
5785  inline void SharedDtor();
5786  void SetCachedSize(int size) const final;
5787  void InternalSwap(CpModelProto* other);
5788  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5789  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5790  return "operations_research.sat.CpModelProto";
5791  }
5792  protected:
5793  explicit CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5794  private:
5795  static void ArenaDtor(void* object);
5796  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5797  public:
5798 
5799  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5800  private:
5801  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5802  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5803  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5804  }
5805 
5806  public:
5807 
5808  // nested types ----------------------------------------------------
5809 
5810  // accessors -------------------------------------------------------
5811 
5812  enum : int {
5813  kVariablesFieldNumber = 2,
5814  kConstraintsFieldNumber = 3,
5815  kSearchStrategyFieldNumber = 5,
5816  kAssumptionsFieldNumber = 7,
5817  kNameFieldNumber = 1,
5818  kObjectiveFieldNumber = 4,
5819  kSolutionHintFieldNumber = 6,
5820  kSymmetryFieldNumber = 8,
5821  };
5822  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
5823  int variables_size() const;
5824  private:
5825  int _internal_variables_size() const;
5826  public:
5828  ::operations_research::sat::IntegerVariableProto* mutable_variables(int index);
5829  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5831  private:
5832  const ::operations_research::sat::IntegerVariableProto& _internal_variables(int index) const;
5833  ::operations_research::sat::IntegerVariableProto* _internal_add_variables();
5834  public:
5835  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
5836  ::operations_research::sat::IntegerVariableProto* add_variables();
5837  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5838  variables() const;
5839 
5840  // repeated .operations_research.sat.ConstraintProto constraints = 3;
5841  int constraints_size() const;
5842  private:
5843  int _internal_constraints_size() const;
5844  public:
5846  ::operations_research::sat::ConstraintProto* mutable_constraints(int index);
5847  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
5849  private:
5850  const ::operations_research::sat::ConstraintProto& _internal_constraints(int index) const;
5851  ::operations_research::sat::ConstraintProto* _internal_add_constraints();
5852  public:
5853  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
5854  ::operations_research::sat::ConstraintProto* add_constraints();
5855  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
5856  constraints() const;
5857 
5858  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
5860  private:
5861  int _internal_search_strategy_size() const;
5862  public:
5864  ::operations_research::sat::DecisionStrategyProto* mutable_search_strategy(int index);
5865  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
5867  private:
5868  const ::operations_research::sat::DecisionStrategyProto& _internal_search_strategy(int index) const;
5869  ::operations_research::sat::DecisionStrategyProto* _internal_add_search_strategy();
5870  public:
5871  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
5872  ::operations_research::sat::DecisionStrategyProto* add_search_strategy();
5873  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
5875 
5876  // repeated int32 assumptions = 7;
5877  int assumptions_size() const;
5878  private:
5879  int _internal_assumptions_size() const;
5880  public:
5882  private:
5883  ::PROTOBUF_NAMESPACE_ID::int32 _internal_assumptions(int index) const;
5884  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5885  _internal_assumptions() const;
5886  void _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
5887  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5888  _internal_mutable_assumptions();
5889  public:
5893  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5894  assumptions() const;
5895  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5897 
5898  // string name = 1;
5899  void clear_name();
5900  const std::string& name() const;
5901  void set_name(const std::string& value);
5902  void set_name(std::string&& value);
5903  void set_name(const char* value);
5904  void set_name(const char* value, size_t size);
5905  std::string* mutable_name();
5906  std::string* release_name();
5907  void set_allocated_name(std::string* name);
5908  private:
5909  const std::string& _internal_name() const;
5910  void _internal_set_name(const std::string& value);
5911  std::string* _internal_mutable_name();
5912  public:
5913 
5914  // .operations_research.sat.CpObjectiveProto objective = 4;
5915  bool has_objective() const;
5916  private:
5917  bool _internal_has_objective() const;
5918  public:
5920  const ::operations_research::sat::CpObjectiveProto& objective() const;
5921  ::operations_research::sat::CpObjectiveProto* release_objective();
5922  ::operations_research::sat::CpObjectiveProto* mutable_objective();
5923  void set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective);
5924  private:
5925  const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
5926  ::operations_research::sat::CpObjectiveProto* _internal_mutable_objective();
5927  public:
5929  ::operations_research::sat::CpObjectiveProto* objective);
5930  ::operations_research::sat::CpObjectiveProto* unsafe_arena_release_objective();
5931 
5932  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
5933  bool has_solution_hint() const;
5934  private:
5935  bool _internal_has_solution_hint() const;
5936  public:
5938  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
5939  ::operations_research::sat::PartialVariableAssignment* release_solution_hint();
5940  ::operations_research::sat::PartialVariableAssignment* mutable_solution_hint();
5941  void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint);
5942  private:
5943  const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
5944  ::operations_research::sat::PartialVariableAssignment* _internal_mutable_solution_hint();
5945  public:
5947  ::operations_research::sat::PartialVariableAssignment* solution_hint);
5948  ::operations_research::sat::PartialVariableAssignment* unsafe_arena_release_solution_hint();
5949 
5950  // .operations_research.sat.SymmetryProto symmetry = 8;
5951  bool has_symmetry() const;
5952  private:
5953  bool _internal_has_symmetry() const;
5954  public:
5956  const ::operations_research::sat::SymmetryProto& symmetry() const;
5957  ::operations_research::sat::SymmetryProto* release_symmetry();
5958  ::operations_research::sat::SymmetryProto* mutable_symmetry();
5959  void set_allocated_symmetry(::operations_research::sat::SymmetryProto* symmetry);
5960  private:
5961  const ::operations_research::sat::SymmetryProto& _internal_symmetry() const;
5962  ::operations_research::sat::SymmetryProto* _internal_mutable_symmetry();
5963  public:
5965  ::operations_research::sat::SymmetryProto* symmetry);
5966  ::operations_research::sat::SymmetryProto* unsafe_arena_release_symmetry();
5967 
5968  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
5969  private:
5970  class _Internal;
5971 
5972  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5973  typedef void InternalArenaConstructable_;
5974  typedef void DestructorSkippable_;
5975  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
5976  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
5977  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
5978  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > assumptions_;
5979  mutable std::atomic<int> _assumptions_cached_byte_size_;
5980  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
5981  ::operations_research::sat::CpObjectiveProto* objective_;
5982  ::operations_research::sat::PartialVariableAssignment* solution_hint_;
5983  ::operations_research::sat::SymmetryProto* symmetry_;
5984  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5985  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5986 };
5987 // -------------------------------------------------------------------
5988 
5989 class CpSolverResponse PROTOBUF_FINAL :
5990  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
5991  public:
5992  inline CpSolverResponse() : CpSolverResponse(nullptr) {}
5994 
5995  CpSolverResponse(const CpSolverResponse& from);
5996  CpSolverResponse(CpSolverResponse&& from) noexcept
5997  : CpSolverResponse() {
5998  *this = ::std::move(from);
5999  }
6000 
6001  inline CpSolverResponse& operator=(const CpSolverResponse& from) {
6002  CopyFrom(from);
6003  return *this;
6004  }
6005  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
6006  if (GetArena() == from.GetArena()) {
6007  if (this != &from) InternalSwap(&from);
6008  } else {
6009  CopyFrom(from);
6010  }
6011  return *this;
6012  }
6013 
6014  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
6015  return GetDescriptor();
6016  }
6017  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
6018  return GetMetadataStatic().descriptor;
6019  }
6020  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
6021  return GetMetadataStatic().reflection;
6022  }
6023  static const CpSolverResponse& default_instance();
6024 
6025  static inline const CpSolverResponse* internal_default_instance() {
6026  return reinterpret_cast<const CpSolverResponse*>(
6028  }
6029  static constexpr int kIndexInFileMessages =
6030  27;
6031 
6032  friend void swap(CpSolverResponse& a, CpSolverResponse& b) {
6033  a.Swap(&b);
6034  }
6035  inline void Swap(CpSolverResponse* other) {
6036  if (other == this) return;
6037  if (GetArena() == other->GetArena()) {
6038  InternalSwap(other);
6039  } else {
6040  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6041  }
6042  }
6043  void UnsafeArenaSwap(CpSolverResponse* other) {
6044  if (other == this) return;
6045  GOOGLE_DCHECK(GetArena() == other->GetArena());
6046  InternalSwap(other);
6047  }
6048 
6049  // implements Message ----------------------------------------------
6050 
6051  inline CpSolverResponse* New() const final {
6052  return CreateMaybeMessage<CpSolverResponse>(nullptr);
6053  }
6054 
6055  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
6056  return CreateMaybeMessage<CpSolverResponse>(arena);
6057  }
6058  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
6059  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
6060  void CopyFrom(const CpSolverResponse& from);
6061  void MergeFrom(const CpSolverResponse& from);
6062  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6063  bool IsInitialized() const final;
6064 
6065  size_t ByteSizeLong() const final;
6066  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6067  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
6068  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6069  int GetCachedSize() const final { return _cached_size_.Get(); }
6070 
6071  private:
6072  inline void SharedCtor();
6073  inline void SharedDtor();
6074  void SetCachedSize(int size) const final;
6075  void InternalSwap(CpSolverResponse* other);
6076  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6077  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6078  return "operations_research.sat.CpSolverResponse";
6079  }
6080  protected:
6081  explicit CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6082  private:
6083  static void ArenaDtor(void* object);
6084  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6085  public:
6086 
6087  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6088  private:
6089  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
6090  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
6091  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
6092  }
6093 
6094  public:
6095 
6096  // nested types ----------------------------------------------------
6097 
6098  // accessors -------------------------------------------------------
6099 
6100  enum : int {
6101  kSolutionFieldNumber = 2,
6102  kSolutionLowerBoundsFieldNumber = 18,
6103  kSolutionUpperBoundsFieldNumber = 19,
6104  kTightenedVariablesFieldNumber = 21,
6105  kSufficientAssumptionsForInfeasibilityFieldNumber = 23,
6106  kSolutionInfoFieldNumber = 20,
6107  kLogsFieldNumber = 26,
6108  kObjectiveValueFieldNumber = 3,
6109  kStatusFieldNumber = 1,
6110  kAllSolutionsWereFoundFieldNumber = 5,
6111  kBestObjectiveBoundFieldNumber = 4,
6112  kNumBooleansFieldNumber = 10,
6113  kNumConflictsFieldNumber = 11,
6114  kNumBranchesFieldNumber = 12,
6115  kNumBinaryPropagationsFieldNumber = 13,
6116  kNumIntegerPropagationsFieldNumber = 14,
6117  kWallTimeFieldNumber = 15,
6118  kUserTimeFieldNumber = 16,
6119  kDeterministicTimeFieldNumber = 17,
6120  kPrimalIntegralFieldNumber = 22,
6121  kNumRestartsFieldNumber = 24,
6122  kNumLpIterationsFieldNumber = 25,
6123  };
6124  // repeated int64 solution = 2;
6125  int solution_size() const;
6126  private:
6127  int _internal_solution_size() const;
6128  public:
6130  private:
6131  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution(int index) const;
6132  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6133  _internal_solution() const;
6134  void _internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
6135  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6136  _internal_mutable_solution();
6137  public:
6141  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6142  solution() const;
6143  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6145 
6146  // repeated int64 solution_lower_bounds = 18;
6148  private:
6149  int _internal_solution_lower_bounds_size() const;
6150  public:
6152  private:
6153  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_lower_bounds(int index) const;
6154  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6155  _internal_solution_lower_bounds() const;
6156  void _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6157  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6158  _internal_mutable_solution_lower_bounds();
6159  public:
6163  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6165  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6167 
6168  // repeated int64 solution_upper_bounds = 19;
6170  private:
6171  int _internal_solution_upper_bounds_size() const;
6172  public:
6174  private:
6175  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_upper_bounds(int index) const;
6176  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6177  _internal_solution_upper_bounds() const;
6178  void _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6179  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6180  _internal_mutable_solution_upper_bounds();
6181  public:
6185  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6187  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6189 
6190  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
6192  private:
6193  int _internal_tightened_variables_size() const;
6194  public:
6196  ::operations_research::sat::IntegerVariableProto* mutable_tightened_variables(int index);
6197  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
6199  private:
6200  const ::operations_research::sat::IntegerVariableProto& _internal_tightened_variables(int index) const;
6201  ::operations_research::sat::IntegerVariableProto* _internal_add_tightened_variables();
6202  public:
6203  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
6204  ::operations_research::sat::IntegerVariableProto* add_tightened_variables();
6205  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
6207 
6208  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
6210  private:
6211  int _internal_sufficient_assumptions_for_infeasibility_size() const;
6212  public:
6214  private:
6215  ::PROTOBUF_NAMESPACE_ID::int32 _internal_sufficient_assumptions_for_infeasibility(int index) const;
6216  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6217  _internal_sufficient_assumptions_for_infeasibility() const;
6218  void _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
6219  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6220  _internal_mutable_sufficient_assumptions_for_infeasibility();
6221  public:
6225  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6227  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6229 
6230  // string solution_info = 20;
6232  const std::string& solution_info() const;
6233  void set_solution_info(const std::string& value);
6234  void set_solution_info(std::string&& value);
6235  void set_solution_info(const char* value);
6236  void set_solution_info(const char* value, size_t size);
6237  std::string* mutable_solution_info();
6238  std::string* release_solution_info();
6239  void set_allocated_solution_info(std::string* solution_info);
6240  private:
6241  const std::string& _internal_solution_info() const;
6242  void _internal_set_solution_info(const std::string& value);
6243  std::string* _internal_mutable_solution_info();
6244  public:
6245 
6246  // string logs = 26;
6247  void clear_logs();
6248  const std::string& logs() const;
6249  void set_logs(const std::string& value);
6250  void set_logs(std::string&& value);
6251  void set_logs(const char* value);
6252  void set_logs(const char* value, size_t size);
6253  std::string* mutable_logs();
6254  std::string* release_logs();
6255  void set_allocated_logs(std::string* logs);
6256  private:
6257  const std::string& _internal_logs() const;
6258  void _internal_set_logs(const std::string& value);
6259  std::string* _internal_mutable_logs();
6260  public:
6261 
6262  // double objective_value = 3;
6264  double objective_value() const;
6266  private:
6267  double _internal_objective_value() const;
6268  void _internal_set_objective_value(double value);
6269  public:
6270 
6271  // .operations_research.sat.CpSolverStatus status = 1;
6275  private:
6276  ::operations_research::sat::CpSolverStatus _internal_status() const;
6277  void _internal_set_status(::operations_research::sat::CpSolverStatus value);
6278  public:
6279 
6280  // bool all_solutions_were_found = 5;
6284  private:
6285  bool _internal_all_solutions_were_found() const;
6286  void _internal_set_all_solutions_were_found(bool value);
6287  public:
6288 
6289  // double best_objective_bound = 4;
6291  double best_objective_bound() const;
6293  private:
6294  double _internal_best_objective_bound() const;
6295  void _internal_set_best_objective_bound(double value);
6296  public:
6297 
6298  // int64 num_booleans = 10;
6302  private:
6303  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_booleans() const;
6304  void _internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
6305  public:
6306 
6307  // int64 num_conflicts = 11;
6311  private:
6312  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_conflicts() const;
6313  void _internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
6314  public:
6315 
6316  // int64 num_branches = 12;
6320  private:
6321  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_branches() const;
6322  void _internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
6323  public:
6324 
6325  // int64 num_binary_propagations = 13;
6329  private:
6330  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_binary_propagations() const;
6331  void _internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6332  public:
6333 
6334  // int64 num_integer_propagations = 14;
6338  private:
6339  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_integer_propagations() const;
6340  void _internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6341  public:
6342 
6343  // double wall_time = 15;
6345  double wall_time() const;
6346  void set_wall_time(double value);
6347  private:
6348  double _internal_wall_time() const;
6349  void _internal_set_wall_time(double value);
6350  public:
6351 
6352  // double user_time = 16;
6354  double user_time() const;
6355  void set_user_time(double value);
6356  private:
6357  double _internal_user_time() const;
6358  void _internal_set_user_time(double value);
6359  public:
6360 
6361  // double deterministic_time = 17;
6363  double deterministic_time() const;
6365  private:
6366  double _internal_deterministic_time() const;
6367  void _internal_set_deterministic_time(double value);
6368  public:
6369 
6370  // double primal_integral = 22;
6372  double primal_integral() const;
6374  private:
6375  double _internal_primal_integral() const;
6376  void _internal_set_primal_integral(double value);
6377  public:
6378 
6379  // int64 num_restarts = 24;
6383  private:
6384  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_restarts() const;
6385  void _internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value);
6386  public:
6387 
6388  // int64 num_lp_iterations = 25;
6392  private:
6393  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_lp_iterations() const;
6394  void _internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
6395  public:
6396 
6397  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
6398  private:
6399  class _Internal;
6400 
6401  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6402  typedef void InternalArenaConstructable_;
6403  typedef void DestructorSkippable_;
6404  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_;
6405  mutable std::atomic<int> _solution_cached_byte_size_;
6406  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_lower_bounds_;
6407  mutable std::atomic<int> _solution_lower_bounds_cached_byte_size_;
6408  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_upper_bounds_;
6409  mutable std::atomic<int> _solution_upper_bounds_cached_byte_size_;
6410  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
6411  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > sufficient_assumptions_for_infeasibility_;
6412  mutable std::atomic<int> _sufficient_assumptions_for_infeasibility_cached_byte_size_;
6413  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
6414  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr logs_;
6415  double objective_value_;
6416  int status_;
6417  bool all_solutions_were_found_;
6418  double best_objective_bound_;
6419  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans_;
6420  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts_;
6421  ::PROTOBUF_NAMESPACE_ID::int64 num_branches_;
6422  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations_;
6423  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations_;
6424  double wall_time_;
6425  double user_time_;
6426  double deterministic_time_;
6427  double primal_integral_;
6428  ::PROTOBUF_NAMESPACE_ID::int64 num_restarts_;
6429  ::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations_;
6430  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6431  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6432 };
6433 // ===================================================================
6434 
6435 
6436 // ===================================================================
6437 
6438 #ifdef __GNUC__
6439  #pragma GCC diagnostic push
6440  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
6441 #endif // __GNUC__
6442 // IntegerVariableProto
6443 
6444 // string name = 1;
6445 inline void IntegerVariableProto::clear_name() {
6446  name_.ClearToEmpty();
6447 }
6448 inline const std::string& IntegerVariableProto::name() const {
6449  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
6450  return _internal_name();
6451 }
6452 inline void IntegerVariableProto::set_name(const std::string& value) {
6453  _internal_set_name(value);
6454  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
6455 }
6456 inline std::string* IntegerVariableProto::mutable_name() {
6457  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
6458  return _internal_mutable_name();
6459 }
6460 inline const std::string& IntegerVariableProto::_internal_name() const {
6461  return name_.Get();
6462 }
6463 inline void IntegerVariableProto::_internal_set_name(const std::string& value) {
6464 
6465  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
6466 }
6467 inline void IntegerVariableProto::set_name(std::string&& value) {
6468 
6469  name_.Set(
6470  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
6471  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.IntegerVariableProto.name)
6472 }
6473 inline void IntegerVariableProto::set_name(const char* value) {
6474  GOOGLE_DCHECK(value != nullptr);
6475 
6476  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
6477  // @@protoc_insertion_point(field_set_char:operations_research.sat.IntegerVariableProto.name)
6478 }
6479 inline void IntegerVariableProto::set_name(const char* value,
6480  size_t size) {
6481 
6482  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
6483  reinterpret_cast<const char*>(value), size), GetArena());
6484  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.IntegerVariableProto.name)
6485 }
6486 inline std::string* IntegerVariableProto::_internal_mutable_name() {
6487 
6488  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
6489 }
6490 inline std::string* IntegerVariableProto::release_name() {
6491  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
6492  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6493 }
6494 inline void IntegerVariableProto::set_allocated_name(std::string* name) {
6495  if (name != nullptr) {
6496 
6497  } else {
6498 
6499  }
6500  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
6501  GetArena());
6502  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
6503 }
6504 
6505 // repeated int64 domain = 2;
6506 inline int IntegerVariableProto::_internal_domain_size() const {
6507  return domain_.size();
6508 }
6509 inline int IntegerVariableProto::domain_size() const {
6510  return _internal_domain_size();
6511 }
6512 inline void IntegerVariableProto::clear_domain() {
6513  domain_.Clear();
6514 }
6515 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::_internal_domain(int index) const {
6516  return domain_.Get(index);
6517 }
6518 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::domain(int index) const {
6519  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
6520  return _internal_domain(index);
6521 }
6522 inline void IntegerVariableProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6523  domain_.Set(index, value);
6524  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
6525 }
6526 inline void IntegerVariableProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6527  domain_.Add(value);
6528 }
6529 inline void IntegerVariableProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6530  _internal_add_domain(value);
6531  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
6532 }
6533 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6534 IntegerVariableProto::_internal_domain() const {
6535  return domain_;
6536 }
6537 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6538 IntegerVariableProto::domain() const {
6539  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
6540  return _internal_domain();
6541 }
6542 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6543 IntegerVariableProto::_internal_mutable_domain() {
6544  return &domain_;
6545 }
6546 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6547 IntegerVariableProto::mutable_domain() {
6548  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
6549  return _internal_mutable_domain();
6550 }
6551 
6552 // -------------------------------------------------------------------
6553 
6554 // BoolArgumentProto
6555 
6556 // repeated int32 literals = 1;
6557 inline int BoolArgumentProto::_internal_literals_size() const {
6558  return literals_.size();
6559 }
6560 inline int BoolArgumentProto::literals_size() const {
6561  return _internal_literals_size();
6562 }
6563 inline void BoolArgumentProto::clear_literals() {
6564  literals_.Clear();
6565 }
6566 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::_internal_literals(int index) const {
6567  return literals_.Get(index);
6568 }
6569 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::literals(int index) const {
6570  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
6571  return _internal_literals(index);
6572 }
6573 inline void BoolArgumentProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6574  literals_.Set(index, value);
6575  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
6576 }
6577 inline void BoolArgumentProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6578  literals_.Add(value);
6579 }
6580 inline void BoolArgumentProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6581  _internal_add_literals(value);
6582  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
6583 }
6584 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6585 BoolArgumentProto::_internal_literals() const {
6586  return literals_;
6587 }
6588 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6589 BoolArgumentProto::literals() const {
6590  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
6591  return _internal_literals();
6592 }
6593 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6594 BoolArgumentProto::_internal_mutable_literals() {
6595  return &literals_;
6596 }
6597 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6598 BoolArgumentProto::mutable_literals() {
6599  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
6600  return _internal_mutable_literals();
6601 }
6602 
6603 // -------------------------------------------------------------------
6604 
6605 // IntegerArgumentProto
6606 
6607 // int32 target = 1;
6608 inline void IntegerArgumentProto::clear_target() {
6609  target_ = 0;
6610 }
6611 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_target() const {
6612  return target_;
6613 }
6614 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::target() const {
6615  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.target)
6616  return _internal_target();
6617 }
6618 inline void IntegerArgumentProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6619 
6620  target_ = value;
6621 }
6622 inline void IntegerArgumentProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6623  _internal_set_target(value);
6624  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.target)
6625 }
6626 
6627 // repeated int32 vars = 2;
6628 inline int IntegerArgumentProto::_internal_vars_size() const {
6629  return vars_.size();
6630 }
6631 inline int IntegerArgumentProto::vars_size() const {
6632  return _internal_vars_size();
6633 }
6634 inline void IntegerArgumentProto::clear_vars() {
6635  vars_.Clear();
6636 }
6637 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_vars(int index) const {
6638  return vars_.Get(index);
6639 }
6640 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::vars(int index) const {
6641  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.vars)
6642  return _internal_vars(index);
6643 }
6644 inline void IntegerArgumentProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6645  vars_.Set(index, value);
6646  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.vars)
6647 }
6648 inline void IntegerArgumentProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6649  vars_.Add(value);
6650 }
6651 inline void IntegerArgumentProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6652  _internal_add_vars(value);
6653  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerArgumentProto.vars)
6654 }
6655 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6656 IntegerArgumentProto::_internal_vars() const {
6657  return vars_;
6658 }
6659 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6660 IntegerArgumentProto::vars() const {
6661  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerArgumentProto.vars)
6662  return _internal_vars();
6663 }
6664 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6665 IntegerArgumentProto::_internal_mutable_vars() {
6666  return &vars_;
6667 }
6668 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6669 IntegerArgumentProto::mutable_vars() {
6670  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerArgumentProto.vars)
6671  return _internal_mutable_vars();
6672 }
6673 
6674 // -------------------------------------------------------------------
6675 
6676 // LinearExpressionProto
6677 
6678 // repeated int32 vars = 1;
6679 inline int LinearExpressionProto::_internal_vars_size() const {
6680  return vars_.size();
6681 }
6682 inline int LinearExpressionProto::vars_size() const {
6683  return _internal_vars_size();
6684 }
6685 inline void LinearExpressionProto::clear_vars() {
6686  vars_.Clear();
6687 }
6688 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::_internal_vars(int index) const {
6689  return vars_.Get(index);
6690 }
6691 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::vars(int index) const {
6692  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
6693  return _internal_vars(index);
6694 }
6695 inline void LinearExpressionProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6696  vars_.Set(index, value);
6697  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
6698 }
6699 inline void LinearExpressionProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6700  vars_.Add(value);
6701 }
6702 inline void LinearExpressionProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6703  _internal_add_vars(value);
6704  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
6705 }
6706 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6707 LinearExpressionProto::_internal_vars() const {
6708  return vars_;
6709 }
6710 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6711 LinearExpressionProto::vars() const {
6712  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
6713  return _internal_vars();
6714 }
6715 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6716 LinearExpressionProto::_internal_mutable_vars() {
6717  return &vars_;
6718 }
6719 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6720 LinearExpressionProto::mutable_vars() {
6721  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
6722  return _internal_mutable_vars();
6723 }
6724 
6725 // repeated int64 coeffs = 2;
6726 inline int LinearExpressionProto::_internal_coeffs_size() const {
6727  return coeffs_.size();
6728 }
6729 inline int LinearExpressionProto::coeffs_size() const {
6730  return _internal_coeffs_size();
6731 }
6732 inline void LinearExpressionProto::clear_coeffs() {
6733  coeffs_.Clear();
6734 }
6735 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_coeffs(int index) const {
6736  return coeffs_.Get(index);
6737 }
6738 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::coeffs(int index) const {
6739  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
6740  return _internal_coeffs(index);
6741 }
6742 inline void LinearExpressionProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6743  coeffs_.Set(index, value);
6744  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
6745 }
6746 inline void LinearExpressionProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6747  coeffs_.Add(value);
6748 }
6749 inline void LinearExpressionProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6750  _internal_add_coeffs(value);
6751  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
6752 }
6753 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6754 LinearExpressionProto::_internal_coeffs() const {
6755  return coeffs_;
6756 }
6757 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6758 LinearExpressionProto::coeffs() const {
6759  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
6760  return _internal_coeffs();
6761 }
6762 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6763 LinearExpressionProto::_internal_mutable_coeffs() {
6764  return &coeffs_;
6765 }
6766 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6767 LinearExpressionProto::mutable_coeffs() {
6768  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
6769  return _internal_mutable_coeffs();
6770 }
6771 
6772 // int64 offset = 3;
6773 inline void LinearExpressionProto::clear_offset() {
6774  offset_ = PROTOBUF_LONGLONG(0);
6775 }
6776 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_offset() const {
6777  return offset_;
6778 }
6779 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::offset() const {
6780  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
6781  return _internal_offset();
6782 }
6783 inline void LinearExpressionProto::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6784 
6785  offset_ = value;
6786 }
6787 inline void LinearExpressionProto::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6788  _internal_set_offset(value);
6789  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
6790 }
6791 
6792 // -------------------------------------------------------------------
6793 
6794 // LinearArgumentProto
6795 
6796 // .operations_research.sat.LinearExpressionProto target = 1;
6797 inline bool LinearArgumentProto::_internal_has_target() const {
6798  return this != internal_default_instance() && target_ != nullptr;
6799 }
6800 inline bool LinearArgumentProto::has_target() const {
6801  return _internal_has_target();
6802 }
6803 inline void LinearArgumentProto::clear_target() {
6804  if (GetArena() == nullptr && target_ != nullptr) {
6805  delete target_;
6806  }
6807  target_ = nullptr;
6808 }
6809 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
6810  const ::operations_research::sat::LinearExpressionProto* p = target_;
6811  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
6813 }
6814 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const {
6815  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
6816  return _internal_target();
6817 }
6818 inline void LinearArgumentProto::unsafe_arena_set_allocated_target(
6819  ::operations_research::sat::LinearExpressionProto* target) {
6820  if (GetArena() == nullptr) {
6821  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(target_);
6822  }
6823  target_ = target;
6824  if (target) {
6825 
6826  } else {
6827 
6828  }
6829  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
6830 }
6831 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::release_target() {
6832 
6833  ::operations_research::sat::LinearExpressionProto* temp = target_;
6834  target_ = nullptr;
6835  if (GetArena() != nullptr) {
6836  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6837  }
6838  return temp;
6839 }
6840 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::unsafe_arena_release_target() {
6841  // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
6842 
6843  ::operations_research::sat::LinearExpressionProto* temp = target_;
6844  target_ = nullptr;
6845  return temp;
6846 }
6847 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_mutable_target() {
6848 
6849  if (target_ == nullptr) {
6850  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6851  target_ = p;
6852  }
6853  return target_;
6854 }
6855 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_target() {
6856  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
6857  return _internal_mutable_target();
6858 }
6859 inline void LinearArgumentProto::set_allocated_target(::operations_research::sat::LinearExpressionProto* target) {
6860  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6861  if (message_arena == nullptr) {
6862  delete target_;
6863  }
6864  if (target) {
6865  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6866  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(target);
6867  if (message_arena != submessage_arena) {
6868  target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6869  message_arena, target, submessage_arena);
6870  }
6871 
6872  } else {
6873 
6874  }
6875  target_ = target;
6876  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
6877 }
6878 
6879 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
6880 inline int LinearArgumentProto::_internal_exprs_size() const {
6881  return exprs_.size();
6882 }
6883 inline int LinearArgumentProto::exprs_size() const {
6884  return _internal_exprs_size();
6885 }
6886 inline void LinearArgumentProto::clear_exprs() {
6887  exprs_.Clear();
6888 }
6889 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_exprs(int index) {
6890  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
6891  return exprs_.Mutable(index);
6892 }
6893 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
6894 LinearArgumentProto::mutable_exprs() {
6895  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
6896  return &exprs_;
6897 }
6898 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_exprs(int index) const {
6899  return exprs_.Get(index);
6900 }
6901 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const {
6902  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
6903  return _internal_exprs(index);
6904 }
6905 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_add_exprs() {
6906  return exprs_.Add();
6907 }
6908 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::add_exprs() {
6909  // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
6910  return _internal_add_exprs();
6911 }
6912 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
6913 LinearArgumentProto::exprs() const {
6914  // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
6915  return exprs_;
6916 }
6917 
6918 // -------------------------------------------------------------------
6919 
6920 // AllDifferentConstraintProto
6921 
6922 // repeated int32 vars = 1;
6923 inline int AllDifferentConstraintProto::_internal_vars_size() const {
6924  return vars_.size();
6925 }
6926 inline int AllDifferentConstraintProto::vars_size() const {
6927  return _internal_vars_size();
6928 }
6929 inline void AllDifferentConstraintProto::clear_vars() {
6930  vars_.Clear();
6931 }
6932 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::_internal_vars(int index) const {
6933  return vars_.Get(index);
6934 }
6935 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::vars(int index) const {
6936  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.vars)
6937  return _internal_vars(index);
6938 }
6939 inline void AllDifferentConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6940  vars_.Set(index, value);
6941  // @@protoc_insertion_point(field_set:operations_research.sat.AllDifferentConstraintProto.vars)
6942 }
6943 inline void AllDifferentConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6944  vars_.Add(value);
6945 }
6946 inline void AllDifferentConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6947  _internal_add_vars(value);
6948  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.vars)
6949 }
6950 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6951 AllDifferentConstraintProto::_internal_vars() const {
6952  return vars_;
6953 }
6954 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6955 AllDifferentConstraintProto::vars() const {
6956  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.vars)
6957  return _internal_vars();
6958 }
6959 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6960 AllDifferentConstraintProto::_internal_mutable_vars() {
6961  return &vars_;
6962 }
6963 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6964 AllDifferentConstraintProto::mutable_vars() {
6965  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.vars)
6966  return _internal_mutable_vars();
6967 }
6968 
6969 // -------------------------------------------------------------------
6970 
6971 // LinearConstraintProto
6972 
6973 // repeated int32 vars = 1;
6974 inline int LinearConstraintProto::_internal_vars_size() const {
6975  return vars_.size();
6976 }
6977 inline int LinearConstraintProto::vars_size() const {
6978  return _internal_vars_size();
6979 }
6980 inline void LinearConstraintProto::clear_vars() {
6981  vars_.Clear();
6982 }
6983 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::_internal_vars(int index) const {
6984  return vars_.Get(index);
6985 }
6986 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::vars(int index) const {
6987  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
6988  return _internal_vars(index);
6989 }
6990 inline void LinearConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6991  vars_.Set(index, value);
6992  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
6993 }
6994 inline void LinearConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6995  vars_.Add(value);
6996 }
6997 inline void LinearConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6998  _internal_add_vars(value);
6999  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
7000 }
7001 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7002 LinearConstraintProto::_internal_vars() const {
7003  return vars_;
7004 }
7005 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7006 LinearConstraintProto::vars() const {
7007  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
7008  return _internal_vars();
7009 }
7010 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7011 LinearConstraintProto::_internal_mutable_vars() {
7012  return &vars_;
7013 }
7014 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7015 LinearConstraintProto::mutable_vars() {
7016  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
7017  return _internal_mutable_vars();
7018 }
7019 
7020 // repeated int64 coeffs = 2;
7021 inline int LinearConstraintProto::_internal_coeffs_size() const {
7022  return coeffs_.size();
7023 }
7024 inline int LinearConstraintProto::coeffs_size() const {
7025  return _internal_coeffs_size();
7026 }
7027 inline void LinearConstraintProto::clear_coeffs() {
7028  coeffs_.Clear();
7029 }
7030 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_coeffs(int index) const {
7031  return coeffs_.Get(index);
7032 }
7033 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::coeffs(int index) const {
7034  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
7035  return _internal_coeffs(index);
7036 }
7037 inline void LinearConstraintProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7038  coeffs_.Set(index, value);
7039  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
7040 }
7041 inline void LinearConstraintProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7042  coeffs_.Add(value);
7043 }
7044 inline void LinearConstraintProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7045  _internal_add_coeffs(value);
7046  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
7047 }
7048 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7049 LinearConstraintProto::_internal_coeffs() const {
7050  return coeffs_;
7051 }
7052 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7053 LinearConstraintProto::coeffs() const {
7054  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
7055  return _internal_coeffs();
7056 }
7057 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7058 LinearConstraintProto::_internal_mutable_coeffs() {
7059  return &coeffs_;
7060 }
7061 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7062 LinearConstraintProto::mutable_coeffs() {
7063  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
7064  return _internal_mutable_coeffs();
7065 }
7066 
7067 // repeated int64 domain = 3;
7068 inline int LinearConstraintProto::_internal_domain_size() const {
7069  return domain_.size();
7070 }
7071 inline int LinearConstraintProto::domain_size() const {
7072  return _internal_domain_size();
7073 }
7074 inline void LinearConstraintProto::clear_domain() {
7075  domain_.Clear();
7076 }
7077 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_domain(int index) const {
7078  return domain_.Get(index);
7079 }
7080 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::domain(int index) const {
7081  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
7082  return _internal_domain(index);
7083 }
7084 inline void LinearConstraintProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7085  domain_.Set(index, value);
7086  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
7087 }
7088 inline void LinearConstraintProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
7089  domain_.Add(value);
7090 }
7091 inline void LinearConstraintProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
7092  _internal_add_domain(value);
7093  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
7094 }
7095 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7096 LinearConstraintProto::_internal_domain() const {
7097  return domain_;
7098 }
7099 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7100 LinearConstraintProto::domain() const {
7101  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
7102  return _internal_domain();
7103 }
7104 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7105 LinearConstraintProto::_internal_mutable_domain() {
7106  return &domain_;
7107 }
7108 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7109 LinearConstraintProto::mutable_domain() {
7110  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
7111  return _internal_mutable_domain();
7112 }
7113 
7114 // -------------------------------------------------------------------
7115 
7116 // ElementConstraintProto
7117 
7118 // int32 index = 1;
7119 inline void ElementConstraintProto::clear_index() {
7120  index_ = 0;
7121 }
7122 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_index() const {
7123  return index_;
7124 }
7126  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
7127  return _internal_index();
7128 }
7129 inline void ElementConstraintProto::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
7130 
7131  index_ = value;
7132 }
7133 inline void ElementConstraintProto::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
7134  _internal_set_index(value);
7135  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
7136 }
7137 
7138 // int32 target = 2;
7139 inline void ElementConstraintProto::clear_target() {
7140  target_ = 0;
7141 }
7142 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_target() const {
7143  return target_;
7144 }
7145 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::target() const {
7146  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
7147  return _internal_target();
7148 }
7149 inline void ElementConstraintProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
7150 
7151  target_ = value;
7152 }
7153 inline void ElementConstraintProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
7154  _internal_set_target(value);
7155  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
7156 }
7157 
7158 // repeated int32 vars = 3;
7159 inline int ElementConstraintProto::_internal_vars_size() const {
7160  return vars_.size();
7161 }
7162 inline int ElementConstraintProto::vars_size() const {
7163  return _internal_vars_size();
7164 }
7165 inline void ElementConstraintProto::clear_vars() {
7166  vars_.Clear();
7167 }
7168 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_vars(int index) const {
7169  return vars_.Get(index);
7170 }
7171 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::vars(int index) const {
7172  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
7173  return _internal_vars(index);
7174 }
7175 inline void ElementConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7176  vars_.Set(index, value);
7177  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
7178 }
7179 inline void ElementConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7180  vars_.Add(value);
7181 }
7182 inline void ElementConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7183  _internal_add_vars(value);
7184  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
7185 }
7186 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7187 ElementConstraintProto::_internal_vars() const {
7188  return vars_;
7189 }
7190 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7191 ElementConstraintProto::vars() const {
7192  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
7193  return _internal_vars();
7194 }
7195 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7196 ElementConstraintProto::_internal_mutable_vars() {
7197  return &vars_;
7198 }
7199 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7200 ElementConstraintProto::mutable_vars() {
7201  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
7202  return _internal_mutable_vars();
7203 }
7204 
7205 // -------------------------------------------------------------------
7206 
7207 // IntervalConstraintProto
7208 
7209 // int32 start = 1;
7210 inline void IntervalConstraintProto::clear_start() {
7211  start_ = 0;
7212 }
7213 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_start() const {
7214  return start_;
7215 }
7216 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::start() const {
7217  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
7218  return _internal_start();
7219 }
7220 inline void IntervalConstraintProto::_internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
7221 
7222  start_ = value;
7223 }
7224 inline void IntervalConstraintProto::set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
7225  _internal_set_start(value);
7226  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.start)
7227 }
7228 
7229 // int32 end = 2;
7230 inline void IntervalConstraintProto::clear_end() {
7231  end_ = 0;
7232 }
7233 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_end() const {
7234  return end_;
7235 }
7236 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::end() const {
7237  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
7238  return _internal_end();
7239 }
7240 inline void IntervalConstraintProto::_internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
7241 
7242  end_ = value;
7243 }
7244 inline void IntervalConstraintProto::set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
7245  _internal_set_end(value);
7246  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.end)
7247 }
7248 
7249 // int32 size = 3;
7250 inline void IntervalConstraintProto::clear_size() {
7251  size_ = 0;
7252 }
7253 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_size() const {
7254  return size_;
7255 }
7256 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::size() const {
7257  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
7258  return _internal_size();
7259 }
7260 inline void IntervalConstraintProto::_internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7261 
7262  size_ = value;
7263 }
7264 inline void IntervalConstraintProto::set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7265  _internal_set_size(value);
7266  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.size)
7267 }
7268 
7269 // .operations_research.sat.LinearExpressionProto start_view = 4;
7270 inline bool IntervalConstraintProto::_internal_has_start_view() const {
7271  return this != internal_default_instance() && start_view_ != nullptr;
7272 }
7273 inline bool IntervalConstraintProto::has_start_view() const {
7274  return _internal_has_start_view();
7275 }
7276 inline void IntervalConstraintProto::clear_start_view() {
7277  if (GetArena() == nullptr && start_view_ != nullptr) {
7278  delete start_view_;
7279  }
7280  start_view_ = nullptr;
7281 }
7282 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_start_view() const {
7283  const ::operations_research::sat::LinearExpressionProto* p = start_view_;
7284  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7286 }
7287 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::start_view() const {
7288  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start_view)
7289  return _internal_start_view();
7290 }
7291 inline void IntervalConstraintProto::unsafe_arena_set_allocated_start_view(
7292  ::operations_research::sat::LinearExpressionProto* start_view) {
7293  if (GetArena() == nullptr) {
7294  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_view_);
7295  }
7296  start_view_ = start_view;
7297  if (start_view) {
7298 
7299  } else {
7300 
7301  }
7302  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
7303 }
7304 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_start_view() {
7305 
7306  ::operations_research::sat::LinearExpressionProto* temp = start_view_;
7307  start_view_ = nullptr;
7308  if (GetArena() != nullptr) {
7309  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7310  }
7311  return temp;
7312 }
7313 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_start_view() {
7314  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.start_view)
7315 
7316  ::operations_research::sat::LinearExpressionProto* temp = start_view_;
7317  start_view_ = nullptr;
7318  return temp;
7319 }
7320 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_start_view() {
7321 
7322  if (start_view_ == nullptr) {
7323  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
7324  start_view_ = p;
7325  }
7326  return start_view_;
7327 }
7328 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_start_view() {
7329  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.start_view)
7330  return _internal_mutable_start_view();
7331 }
7332 inline void IntervalConstraintProto::set_allocated_start_view(::operations_research::sat::LinearExpressionProto* start_view) {
7333  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7334  if (message_arena == nullptr) {
7335  delete start_view_;
7336  }
7337  if (start_view) {
7338  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7339  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(start_view);
7340  if (message_arena != submessage_arena) {
7341  start_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7342  message_arena, start_view, submessage_arena);
7343  }
7344 
7345  } else {
7346 
7347  }
7348  start_view_ = start_view;
7349  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
7350 }
7351 
7352 // .operations_research.sat.LinearExpressionProto end_view = 5;
7353 inline bool IntervalConstraintProto::_internal_has_end_view() const {
7354  return this != internal_default_instance() && end_view_ != nullptr;
7355 }
7356 inline bool IntervalConstraintProto::has_end_view() const {
7357  return _internal_has_end_view();
7358 }
7359 inline void IntervalConstraintProto::clear_end_view() {
7360  if (GetArena() == nullptr && end_view_ != nullptr) {
7361  delete end_view_;
7362  }
7363  end_view_ = nullptr;
7364 }
7365 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_end_view() const {
7366  const ::operations_research::sat::LinearExpressionProto* p = end_view_;
7367  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7369 }
7370 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::end_view() const {
7371  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end_view)
7372  return _internal_end_view();
7373 }
7374 inline void IntervalConstraintProto::unsafe_arena_set_allocated_end_view(
7375  ::operations_research::sat::LinearExpressionProto* end_view) {
7376  if (GetArena() == nullptr) {
7377  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_view_);
7378  }
7379  end_view_ = end_view;
7380  if (end_view) {
7381 
7382  } else {
7383 
7384  }
7385  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
7386 }
7387 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_end_view() {
7388 
7389  ::operations_research::sat::LinearExpressionProto* temp = end_view_;
7390  end_view_ = nullptr;
7391  if (GetArena() != nullptr) {
7392  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7393  }
7394  return temp;
7395 }
7396 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_end_view() {
7397  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.end_view)
7398 
7399  ::operations_research::sat::LinearExpressionProto* temp = end_view_;
7400  end_view_ = nullptr;
7401  return temp;
7402 }
7403 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_end_view() {
7404 
7405  if (end_view_ == nullptr) {
7406  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
7407  end_view_ = p;
7408  }
7409  return end_view_;
7410 }
7411 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_end_view() {
7412  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.end_view)
7413  return _internal_mutable_end_view();
7414 }
7415 inline void IntervalConstraintProto::set_allocated_end_view(::operations_research::sat::LinearExpressionProto* end_view) {
7416  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7417  if (message_arena == nullptr) {
7418  delete end_view_;
7419  }
7420  if (end_view) {
7421  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7422  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(end_view);
7423  if (message_arena != submessage_arena) {
7424  end_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7425  message_arena, end_view, submessage_arena);
7426  }
7427 
7428  } else {
7429 
7430  }
7431  end_view_ = end_view;
7432  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
7433 }
7434 
7435 // .operations_research.sat.LinearExpressionProto size_view = 6;
7436 inline bool IntervalConstraintProto::_internal_has_size_view() const {
7437  return this != internal_default_instance() && size_view_ != nullptr;
7438 }
7439 inline bool IntervalConstraintProto::has_size_view() const {
7440  return _internal_has_size_view();
7441 }
7442 inline void IntervalConstraintProto::clear_size_view() {
7443  if (GetArena() == nullptr && size_view_ != nullptr) {
7444  delete size_view_;
7445  }
7446  size_view_ = nullptr;
7447 }
7448 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_size_view() const {
7449  const ::operations_research::sat::LinearExpressionProto* p = size_view_;
7450  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7452 }
7453 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::size_view() const {
7454  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size_view)
7455  return _internal_size_view();
7456 }
7457 inline void IntervalConstraintProto::unsafe_arena_set_allocated_size_view(
7458  ::operations_research::sat::LinearExpressionProto* size_view) {
7459  if (GetArena() == nullptr) {
7460  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(size_view_);
7461  }
7462  size_view_ = size_view;
7463  if (size_view) {
7464 
7465  } else {
7466 
7467  }
7468  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
7469 }
7470 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_size_view() {
7471 
7472  ::operations_research::sat::LinearExpressionProto* temp = size_view_;
7473  size_view_ = nullptr;
7474  if (GetArena() != nullptr) {
7475  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7476  }
7477  return temp;
7478 }
7479 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_size_view() {
7480  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.size_view)
7481 
7482  ::operations_research::sat::LinearExpressionProto* temp = size_view_;
7483  size_view_ = nullptr;
7484  return temp;
7485 }
7486 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_size_view() {
7487 
7488  if (size_view_ == nullptr) {
7489  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
7490  size_view_ = p;
7491  }
7492  return size_view_;
7493 }
7494 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_size_view() {
7495  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.size_view)
7496  return _internal_mutable_size_view();
7497 }
7498 inline void IntervalConstraintProto::set_allocated_size_view(::operations_research::sat::LinearExpressionProto* size_view) {
7499  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7500  if (message_arena == nullptr) {
7501  delete size_view_;
7502  }
7503  if (size_view) {
7504  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7505  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(size_view);
7506  if (message_arena != submessage_arena) {
7507  size_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7508  message_arena, size_view, submessage_arena);
7509  }
7510 
7511  } else {
7512 
7513  }
7514  size_view_ = size_view;
7515  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
7516 }
7517 
7518 // -------------------------------------------------------------------
7519 
7520 // NoOverlapConstraintProto
7521 
7522 // repeated int32 intervals = 1;
7523 inline int NoOverlapConstraintProto::_internal_intervals_size() const {
7524  return intervals_.size();
7525 }
7526 inline int NoOverlapConstraintProto::intervals_size() const {
7527  return _internal_intervals_size();
7528 }
7529 inline void NoOverlapConstraintProto::clear_intervals() {
7530  intervals_.Clear();
7531 }
7532 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::_internal_intervals(int index) const {
7533  return intervals_.Get(index);
7534 }
7535 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::intervals(int index) const {
7536  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
7537  return _internal_intervals(index);
7538 }
7539 inline void NoOverlapConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7540  intervals_.Set(index, value);
7541  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
7542 }
7543 inline void NoOverlapConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7544  intervals_.Add(value);
7545 }
7546 inline void NoOverlapConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7547  _internal_add_intervals(value);
7548  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
7549 }
7550 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7551 NoOverlapConstraintProto::_internal_intervals() const {
7552  return intervals_;
7553 }
7554 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7555 NoOverlapConstraintProto::intervals() const {
7556  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
7557  return _internal_intervals();
7558 }
7559 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7560 NoOverlapConstraintProto::_internal_mutable_intervals() {
7561  return &intervals_;
7562 }
7563 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7564 NoOverlapConstraintProto::mutable_intervals() {
7565  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
7566  return _internal_mutable_intervals();
7567 }
7568 
7569 // -------------------------------------------------------------------
7570 
7571 // NoOverlap2DConstraintProto
7572 
7573 // repeated int32 x_intervals = 1;
7574 inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
7575  return x_intervals_.size();
7576 }
7577 inline int NoOverlap2DConstraintProto::x_intervals_size() const {
7578  return _internal_x_intervals_size();
7579 }
7580 inline void NoOverlap2DConstraintProto::clear_x_intervals() {
7581  x_intervals_.Clear();
7582 }
7583 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_x_intervals(int index) const {
7584  return x_intervals_.Get(index);
7585 }
7586 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::x_intervals(int index) const {
7587  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7588  return _internal_x_intervals(index);
7589 }
7590 inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7591  x_intervals_.Set(index, value);
7592  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7593 }
7594 inline void NoOverlap2DConstraintProto::_internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7595  x_intervals_.Add(value);
7596 }
7597 inline void NoOverlap2DConstraintProto::add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7598  _internal_add_x_intervals(value);
7599  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7600 }
7601 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7602 NoOverlap2DConstraintProto::_internal_x_intervals() const {
7603  return x_intervals_;
7604 }
7605 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7606 NoOverlap2DConstraintProto::x_intervals() const {
7607  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7608  return _internal_x_intervals();
7609 }
7610 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7611 NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
7612  return &x_intervals_;
7613 }
7614 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7615 NoOverlap2DConstraintProto::mutable_x_intervals() {
7616  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7617  return _internal_mutable_x_intervals();
7618 }
7619 
7620 // repeated int32 y_intervals = 2;
7621 inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
7622  return y_intervals_.size();
7623 }
7624 inline int NoOverlap2DConstraintProto::y_intervals_size() const {
7625  return _internal_y_intervals_size();
7626 }
7627 inline void NoOverlap2DConstraintProto::clear_y_intervals() {
7628  y_intervals_.Clear();
7629 }
7630 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_y_intervals(int index) const {
7631  return y_intervals_.Get(index);
7632 }
7633 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::y_intervals(int index) const {
7634  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7635  return _internal_y_intervals(index);
7636 }
7637 inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7638  y_intervals_.Set(index, value);
7639  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7640 }
7641 inline void NoOverlap2DConstraintProto::_internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7642  y_intervals_.Add(value);
7643 }
7644 inline void NoOverlap2DConstraintProto::add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7645  _internal_add_y_intervals(value);
7646  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7647 }
7648 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7649 NoOverlap2DConstraintProto::_internal_y_intervals() const {
7650  return y_intervals_;
7651 }
7652 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7653 NoOverlap2DConstraintProto::y_intervals() const {
7654  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7655  return _internal_y_intervals();
7656 }
7657 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7658 NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
7659  return &y_intervals_;
7660 }
7661 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7662 NoOverlap2DConstraintProto::mutable_y_intervals() {
7663  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7664  return _internal_mutable_y_intervals();
7665 }
7666 
7667 // bool boxes_with_null_area_can_overlap = 3;
7668 inline void NoOverlap2DConstraintProto::clear_boxes_with_null_area_can_overlap() {
7669  boxes_with_null_area_can_overlap_ = false;
7670 }
7671 inline bool NoOverlap2DConstraintProto::_internal_boxes_with_null_area_can_overlap() const {
7672  return boxes_with_null_area_can_overlap_;
7673 }
7674 inline bool NoOverlap2DConstraintProto::boxes_with_null_area_can_overlap() const {
7675  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7676  return _internal_boxes_with_null_area_can_overlap();
7677 }
7678 inline void NoOverlap2DConstraintProto::_internal_set_boxes_with_null_area_can_overlap(bool value) {
7679 
7680  boxes_with_null_area_can_overlap_ = value;
7681 }
7682 inline void NoOverlap2DConstraintProto::set_boxes_with_null_area_can_overlap(bool value) {
7683  _internal_set_boxes_with_null_area_can_overlap(value);
7684  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7685 }
7686 
7687 // -------------------------------------------------------------------
7688 
7689 // CumulativeConstraintProto
7690 
7691 // int32 capacity = 1;
7692 inline void CumulativeConstraintProto::clear_capacity() {
7693  capacity_ = 0;
7694 }
7695 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_capacity() const {
7696  return capacity_;
7697 }
7699  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
7700  return _internal_capacity();
7701 }
7702 inline void CumulativeConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7703 
7704  capacity_ = value;
7705 }
7706 inline void CumulativeConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7707  _internal_set_capacity(value);
7708  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.capacity)
7709 }
7710 
7711 // repeated int32 intervals = 2;
7712 inline int CumulativeConstraintProto::_internal_intervals_size() const {
7713  return intervals_.size();
7714 }
7715 inline int CumulativeConstraintProto::intervals_size() const {
7716  return _internal_intervals_size();
7717 }
7718 inline void CumulativeConstraintProto::clear_intervals() {
7719  intervals_.Clear();
7720 }
7721 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_intervals(int index) const {
7722  return intervals_.Get(index);
7723 }
7724 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::intervals(int index) const {
7725  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
7726  return _internal_intervals(index);
7727 }
7728 inline void CumulativeConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7729  intervals_.Set(index, value);
7730  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
7731 }
7732 inline void CumulativeConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7733  intervals_.Add(value);
7734 }
7735 inline void CumulativeConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7736  _internal_add_intervals(value);
7737  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
7738 }
7739 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7740 CumulativeConstraintProto::_internal_intervals() const {
7741  return intervals_;
7742 }
7743 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7744 CumulativeConstraintProto::intervals() const {
7745  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
7746  return _internal_intervals();
7747 }
7748 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7749 CumulativeConstraintProto::_internal_mutable_intervals() {
7750  return &intervals_;
7751 }
7752 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7753 CumulativeConstraintProto::mutable_intervals() {
7754  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
7755  return _internal_mutable_intervals();
7756 }
7757 
7758 // repeated int32 demands = 3;
7759 inline int CumulativeConstraintProto::_internal_demands_size() const {
7760  return demands_.size();
7761 }
7762 inline int CumulativeConstraintProto::demands_size() const {
7763  return _internal_demands_size();
7764 }
7765 inline void CumulativeConstraintProto::clear_demands() {
7766  demands_.Clear();
7767 }
7768 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_demands(int index) const {
7769  return demands_.Get(index);
7770 }
7771 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::demands(int index) const {
7772  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
7773  return _internal_demands(index);
7774 }
7775 inline void CumulativeConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7776  demands_.Set(index, value);
7777  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.demands)
7778 }
7779 inline void CumulativeConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7780  demands_.Add(value);
7781 }
7782 inline void CumulativeConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7783  _internal_add_demands(value);
7784  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
7785 }
7786 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7787 CumulativeConstraintProto::_internal_demands() const {
7788  return demands_;
7789 }
7790 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7791 CumulativeConstraintProto::demands() const {
7792  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
7793  return _internal_demands();
7794 }
7795 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7796 CumulativeConstraintProto::_internal_mutable_demands() {
7797  return &demands_;
7798 }
7799 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7800 CumulativeConstraintProto::mutable_demands() {
7801  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
7802  return _internal_mutable_demands();
7803 }
7804 
7805 // -------------------------------------------------------------------
7806 
7807 // ReservoirConstraintProto
7808 
7809 // int64 min_level = 1;
7810 inline void ReservoirConstraintProto::clear_min_level() {
7811  min_level_ = PROTOBUF_LONGLONG(0);
7812 }
7813 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_min_level() const {
7814  return min_level_;
7815 }
7816 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::min_level() const {
7817  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
7818  return _internal_min_level();
7819 }
7820 inline void ReservoirConstraintProto::_internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7821 
7822  min_level_ = value;
7823 }
7824 inline void ReservoirConstraintProto::set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7825  _internal_set_min_level(value);
7826  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
7827 }
7828 
7829 // int64 max_level = 2;
7830 inline void ReservoirConstraintProto::clear_max_level() {
7831  max_level_ = PROTOBUF_LONGLONG(0);
7832 }
7833 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_max_level() const {
7834  return max_level_;
7835 }
7836 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::max_level() const {
7837  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
7838  return _internal_max_level();
7839 }
7840 inline void ReservoirConstraintProto::_internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7841 
7842  max_level_ = value;
7843 }
7844 inline void ReservoirConstraintProto::set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7845  _internal_set_max_level(value);
7846  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
7847 }
7848 
7849 // repeated int32 times = 3;
7850 inline int ReservoirConstraintProto::_internal_times_size() const {
7851  return times_.size();
7852 }
7853 inline int ReservoirConstraintProto::times_size() const {
7854  return _internal_times_size();
7855 }
7856 inline void ReservoirConstraintProto::clear_times() {
7857  times_.Clear();
7858 }
7859 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_times(int index) const {
7860  return times_.Get(index);
7861 }
7862 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::times(int index) const {
7863  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.times)
7864  return _internal_times(index);
7865 }
7866 inline void ReservoirConstraintProto::set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7867  times_.Set(index, value);
7868  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.times)
7869 }
7870 inline void ReservoirConstraintProto::_internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7871  times_.Add(value);
7872 }
7873 inline void ReservoirConstraintProto::add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7874  _internal_add_times(value);
7875  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.times)
7876 }
7877 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7878 ReservoirConstraintProto::_internal_times() const {
7879  return times_;
7880 }
7881 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7882 ReservoirConstraintProto::times() const {
7883  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.times)
7884  return _internal_times();
7885 }
7886 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7887 ReservoirConstraintProto::_internal_mutable_times() {
7888  return &times_;
7889 }
7890 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7891 ReservoirConstraintProto::mutable_times() {
7892  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.times)
7893  return _internal_mutable_times();
7894 }
7895 
7896 // repeated int64 demands = 4;
7897 inline int ReservoirConstraintProto::_internal_demands_size() const {
7898  return demands_.size();
7899 }
7900 inline int ReservoirConstraintProto::demands_size() const {
7901  return _internal_demands_size();
7902 }
7903 inline void ReservoirConstraintProto::clear_demands() {
7904  demands_.Clear();
7905 }
7906 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_demands(int index) const {
7907  return demands_.Get(index);
7908 }
7909 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::demands(int index) const {
7910  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.demands)
7911  return _internal_demands(index);
7912 }
7913 inline void ReservoirConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7914  demands_.Set(index, value);
7915  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.demands)
7916 }
7917 inline void ReservoirConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7918  demands_.Add(value);
7919 }
7920 inline void ReservoirConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7921  _internal_add_demands(value);
7922  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.demands)
7923 }
7924 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7925 ReservoirConstraintProto::_internal_demands() const {
7926  return demands_;
7927 }
7928 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7929 ReservoirConstraintProto::demands() const {
7930  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.demands)
7931  return _internal_demands();
7932 }
7933 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7934 ReservoirConstraintProto::_internal_mutable_demands() {
7935  return &demands_;
7936 }
7937 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7938 ReservoirConstraintProto::mutable_demands() {
7939  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.demands)
7940  return _internal_mutable_demands();
7941 }
7942 
7943 // repeated int32 actives = 5;
7944 inline int ReservoirConstraintProto::_internal_actives_size() const {
7945  return actives_.size();
7946 }
7947 inline int ReservoirConstraintProto::actives_size() const {
7948  return _internal_actives_size();
7949 }
7950 inline void ReservoirConstraintProto::clear_actives() {
7951  actives_.Clear();
7952 }
7953 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_actives(int index) const {
7954  return actives_.Get(index);
7955 }
7956 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::actives(int index) const {
7957  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.actives)
7958  return _internal_actives(index);
7959 }
7960 inline void ReservoirConstraintProto::set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7961  actives_.Set(index, value);
7962  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.actives)
7963 }
7964 inline void ReservoirConstraintProto::_internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7965  actives_.Add(value);
7966 }
7967 inline void ReservoirConstraintProto::add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7968  _internal_add_actives(value);
7969  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.actives)
7970 }
7971 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7972 ReservoirConstraintProto::_internal_actives() const {
7973  return actives_;
7974 }
7975 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7976 ReservoirConstraintProto::actives() const {
7977  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.actives)
7978  return _internal_actives();
7979 }
7980 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7981 ReservoirConstraintProto::_internal_mutable_actives() {
7982  return &actives_;
7983 }
7984 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7985 ReservoirConstraintProto::mutable_actives() {
7986  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.actives)
7987  return _internal_mutable_actives();
7988 }
7989 
7990 // -------------------------------------------------------------------
7991 
7992 // CircuitConstraintProto
7993 
7994 // repeated int32 tails = 3;
7995 inline int CircuitConstraintProto::_internal_tails_size() const {
7996  return tails_.size();
7997 }
7998 inline int CircuitConstraintProto::tails_size() const {
7999  return _internal_tails_size();
8000 }
8001 inline void CircuitConstraintProto::clear_tails() {
8002  tails_.Clear();
8003 }
8004 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_tails(int index) const {
8005  return tails_.Get(index);
8006 }
8007 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::tails(int index) const {
8008  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
8009  return _internal_tails(index);
8010 }
8011 inline void CircuitConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8012  tails_.Set(index, value);
8013  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
8014 }
8015 inline void CircuitConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8016  tails_.Add(value);
8017 }
8018 inline void CircuitConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8019  _internal_add_tails(value);
8020  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
8021 }
8022 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8023 CircuitConstraintProto::_internal_tails() const {
8024  return tails_;
8025 }
8026 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8027 CircuitConstraintProto::tails() const {
8028  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
8029  return _internal_tails();
8030 }
8031 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8032 CircuitConstraintProto::_internal_mutable_tails() {
8033  return &tails_;
8034 }
8035 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8036 CircuitConstraintProto::mutable_tails() {
8037  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
8038  return _internal_mutable_tails();
8039 }
8040 
8041 // repeated int32 heads = 4;
8042 inline int CircuitConstraintProto::_internal_heads_size() const {
8043  return heads_.size();
8044 }
8045 inline int CircuitConstraintProto::heads_size() const {
8046  return _internal_heads_size();
8047 }
8048 inline void CircuitConstraintProto::clear_heads() {
8049  heads_.Clear();
8050 }
8051 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_heads(int index) const {
8052  return heads_.Get(index);
8053 }
8054 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::heads(int index) const {
8055  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
8056  return _internal_heads(index);
8057 }
8058 inline void CircuitConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8059  heads_.Set(index, value);
8060  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
8061 }
8062 inline void CircuitConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8063  heads_.Add(value);
8064 }
8065 inline void CircuitConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8066  _internal_add_heads(value);
8067  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
8068 }
8069 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8070 CircuitConstraintProto::_internal_heads() const {
8071  return heads_;
8072 }
8073 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8074 CircuitConstraintProto::heads() const {
8075  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
8076  return _internal_heads();
8077 }
8078 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8079 CircuitConstraintProto::_internal_mutable_heads() {
8080  return &heads_;
8081 }
8082 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8083 CircuitConstraintProto::mutable_heads() {
8084  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
8085  return _internal_mutable_heads();
8086 }
8087 
8088 // repeated int32 literals = 5;
8089 inline int CircuitConstraintProto::_internal_literals_size() const {
8090  return literals_.size();
8091 }
8092 inline int CircuitConstraintProto::literals_size() const {
8093  return _internal_literals_size();
8094 }
8095 inline void CircuitConstraintProto::clear_literals() {
8096  literals_.Clear();
8097 }
8098 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_literals(int index) const {
8099  return literals_.Get(index);
8100 }
8101 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::literals(int index) const {
8102  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
8103  return _internal_literals(index);
8104 }
8105 inline void CircuitConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8106  literals_.Set(index, value);
8107  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
8108 }
8109 inline void CircuitConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8110  literals_.Add(value);
8111 }
8112 inline void CircuitConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8113  _internal_add_literals(value);
8114  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
8115 }
8116 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8117 CircuitConstraintProto::_internal_literals() const {
8118  return literals_;
8119 }
8120 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8121 CircuitConstraintProto::literals() const {
8122  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
8123  return _internal_literals();
8124 }
8125 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8126 CircuitConstraintProto::_internal_mutable_literals() {
8127  return &literals_;
8128 }
8129 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8130 CircuitConstraintProto::mutable_literals() {
8131  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
8132  return _internal_mutable_literals();
8133 }
8134 
8135 // -------------------------------------------------------------------
8136 
8137 // RoutesConstraintProto
8138 
8139 // repeated int32 tails = 1;
8140 inline int RoutesConstraintProto::_internal_tails_size() const {
8141  return tails_.size();
8142 }
8143 inline int RoutesConstraintProto::tails_size() const {
8144  return _internal_tails_size();
8145 }
8146 inline void RoutesConstraintProto::clear_tails() {
8147  tails_.Clear();
8148 }
8149 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_tails(int index) const {
8150  return tails_.Get(index);
8151 }
8152 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::tails(int index) const {
8153  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
8154  return _internal_tails(index);
8155 }
8156 inline void RoutesConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8157  tails_.Set(index, value);
8158  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
8159 }
8160 inline void RoutesConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8161  tails_.Add(value);
8162 }
8163 inline void RoutesConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8164  _internal_add_tails(value);
8165  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
8166 }
8167 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8168 RoutesConstraintProto::_internal_tails() const {
8169  return tails_;
8170 }
8171 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8172 RoutesConstraintProto::tails() const {
8173  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
8174  return _internal_tails();
8175 }
8176 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8177 RoutesConstraintProto::_internal_mutable_tails() {
8178  return &tails_;
8179 }
8180 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8181 RoutesConstraintProto::mutable_tails() {
8182  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
8183  return _internal_mutable_tails();
8184 }
8185 
8186 // repeated int32 heads = 2;
8187 inline int RoutesConstraintProto::_internal_heads_size() const {
8188  return heads_.size();
8189 }
8190 inline int RoutesConstraintProto::heads_size() const {
8191  return _internal_heads_size();
8192 }
8193 inline void RoutesConstraintProto::clear_heads() {
8194  heads_.Clear();
8195 }
8196 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_heads(int index) const {
8197  return heads_.Get(index);
8198 }
8199 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::heads(int index) const {
8200  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
8201  return _internal_heads(index);
8202 }
8203 inline void RoutesConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8204  heads_.Set(index, value);
8205  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
8206 }
8207 inline void RoutesConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8208  heads_.Add(value);
8209 }
8210 inline void RoutesConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8211  _internal_add_heads(value);
8212  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
8213 }
8214 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8215 RoutesConstraintProto::_internal_heads() const {
8216  return heads_;
8217 }
8218 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8219 RoutesConstraintProto::heads() const {
8220  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
8221  return _internal_heads();
8222 }
8223 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8224 RoutesConstraintProto::_internal_mutable_heads() {
8225  return &heads_;
8226 }
8227 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8228 RoutesConstraintProto::mutable_heads() {
8229  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
8230  return _internal_mutable_heads();
8231 }
8232 
8233 // repeated int32 literals = 3;
8234 inline int RoutesConstraintProto::_internal_literals_size() const {
8235  return literals_.size();
8236 }
8237 inline int RoutesConstraintProto::literals_size() const {
8238  return _internal_literals_size();
8239 }
8240 inline void RoutesConstraintProto::clear_literals() {
8241  literals_.Clear();
8242 }
8243 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_literals(int index) const {
8244  return literals_.Get(index);
8245 }
8246 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::literals(int index) const {
8247  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
8248  return _internal_literals(index);
8249 }
8250 inline void RoutesConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8251  literals_.Set(index, value);
8252  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
8253 }
8254 inline void RoutesConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8255  literals_.Add(value);
8256 }
8257 inline void RoutesConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8258  _internal_add_literals(value);
8259  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
8260 }
8261 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8262 RoutesConstraintProto::_internal_literals() const {
8263  return literals_;
8264 }
8265 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8266 RoutesConstraintProto::literals() const {
8267  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
8268  return _internal_literals();
8269 }
8270 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8271 RoutesConstraintProto::_internal_mutable_literals() {
8272  return &literals_;
8273 }
8274 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8275 RoutesConstraintProto::mutable_literals() {
8276  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
8277  return _internal_mutable_literals();
8278 }
8279 
8280 // repeated int32 demands = 4;
8281 inline int RoutesConstraintProto::_internal_demands_size() const {
8282  return demands_.size();
8283 }
8284 inline int RoutesConstraintProto::demands_size() const {
8285  return _internal_demands_size();
8286 }
8287 inline void RoutesConstraintProto::clear_demands() {
8288  demands_.Clear();
8289 }
8290 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_demands(int index) const {
8291  return demands_.Get(index);
8292 }
8293 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::demands(int index) const {
8294  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
8295  return _internal_demands(index);
8296 }
8297 inline void RoutesConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8298  demands_.Set(index, value);
8299  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
8300 }
8301 inline void RoutesConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8302  demands_.Add(value);
8303 }
8304 inline void RoutesConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8305  _internal_add_demands(value);
8306  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
8307 }
8308 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8309 RoutesConstraintProto::_internal_demands() const {
8310  return demands_;
8311 }
8312 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8313 RoutesConstraintProto::demands() const {
8314  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
8315  return _internal_demands();
8316 }
8317 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8318 RoutesConstraintProto::_internal_mutable_demands() {
8319  return &demands_;
8320 }
8321 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8322 RoutesConstraintProto::mutable_demands() {
8323  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
8324  return _internal_mutable_demands();
8325 }
8326 
8327 // int64 capacity = 5;
8328 inline void RoutesConstraintProto::clear_capacity() {
8329  capacity_ = PROTOBUF_LONGLONG(0);
8330 }
8331 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::_internal_capacity() const {
8332  return capacity_;
8333 }
8335  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
8336  return _internal_capacity();
8337 }
8338 inline void RoutesConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
8339 
8340  capacity_ = value;
8341 }
8342 inline void RoutesConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
8343  _internal_set_capacity(value);
8344  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
8345 }
8346 
8347 // -------------------------------------------------------------------
8348 
8349 // TableConstraintProto
8350 
8351 // repeated int32 vars = 1;
8352 inline int TableConstraintProto::_internal_vars_size() const {
8353  return vars_.size();
8354 }
8355 inline int TableConstraintProto::vars_size() const {
8356  return _internal_vars_size();
8357 }
8358 inline void TableConstraintProto::clear_vars() {
8359  vars_.Clear();
8360 }
8361 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::_internal_vars(int index) const {
8362  return vars_.Get(index);
8363 }
8364 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::vars(int index) const {
8365  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
8366  return _internal_vars(index);
8367 }
8368 inline void TableConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8369  vars_.Set(index, value);
8370  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
8371 }
8372 inline void TableConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8373  vars_.Add(value);
8374 }
8375 inline void TableConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8376  _internal_add_vars(value);
8377  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
8378 }
8379 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8380 TableConstraintProto::_internal_vars() const {
8381  return vars_;
8382 }
8383 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8384 TableConstraintProto::vars() const {
8385  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
8386  return _internal_vars();
8387 }
8388 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8389 TableConstraintProto::_internal_mutable_vars() {
8390  return &vars_;
8391 }
8392 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8393 TableConstraintProto::mutable_vars() {
8394  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
8395  return _internal_mutable_vars();
8396 }
8397 
8398 // repeated int64 values = 2;
8399 inline int TableConstraintProto::_internal_values_size() const {
8400  return values_.size();
8401 }
8402 inline int TableConstraintProto::values_size() const {
8403  return _internal_values_size();
8404 }
8405 inline void TableConstraintProto::clear_values() {
8406  values_.Clear();
8407 }
8408 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::_internal_values(int index) const {
8409  return values_.Get(index);
8410 }
8411 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::values(int index) const {
8412  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
8413  return _internal_values(index);
8414 }
8415 inline void TableConstraintProto::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8416  values_.Set(index, value);
8417  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
8418 }
8419 inline void TableConstraintProto::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
8420  values_.Add(value);
8421 }
8422 inline void TableConstraintProto::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
8423  _internal_add_values(value);
8424  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
8425 }
8426 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8427 TableConstraintProto::_internal_values() const {
8428  return values_;
8429 }
8430 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8431 TableConstraintProto::values() const {
8432  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
8433  return _internal_values();
8434 }
8435 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8436 TableConstraintProto::_internal_mutable_values() {
8437  return &values_;
8438 }
8439 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8440 TableConstraintProto::mutable_values() {
8441  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
8442  return _internal_mutable_values();
8443 }
8444 
8445 // bool negated = 3;
8446 inline void TableConstraintProto::clear_negated() {
8447  negated_ = false;
8448 }
8449 inline bool TableConstraintProto::_internal_negated() const {
8450  return negated_;
8451 }
8452 inline bool TableConstraintProto::negated() const {
8453  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
8454  return _internal_negated();
8455 }
8456 inline void TableConstraintProto::_internal_set_negated(bool value) {
8457 
8458  negated_ = value;
8459 }
8460 inline void TableConstraintProto::set_negated(bool value) {
8461  _internal_set_negated(value);
8462  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
8463 }
8464 
8465 // -------------------------------------------------------------------
8466 
8467 // InverseConstraintProto
8468 
8469 // repeated int32 f_direct = 1;
8470 inline int InverseConstraintProto::_internal_f_direct_size() const {
8471  return f_direct_.size();
8472 }
8473 inline int InverseConstraintProto::f_direct_size() const {
8474  return _internal_f_direct_size();
8475 }
8476 inline void InverseConstraintProto::clear_f_direct() {
8477  f_direct_.Clear();
8478 }
8479 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_direct(int index) const {
8480  return f_direct_.Get(index);
8481 }
8482 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_direct(int index) const {
8483  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
8484  return _internal_f_direct(index);
8485 }
8486 inline void InverseConstraintProto::set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8487  f_direct_.Set(index, value);
8488  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
8489 }
8490 inline void InverseConstraintProto::_internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
8491  f_direct_.Add(value);
8492 }
8493 inline void InverseConstraintProto::add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
8494  _internal_add_f_direct(value);
8495  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
8496 }
8497 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8498 InverseConstraintProto::_internal_f_direct() const {
8499  return f_direct_;
8500 }
8501 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8502 InverseConstraintProto::f_direct() const {
8503  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
8504  return _internal_f_direct();
8505 }
8506 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8507 InverseConstraintProto::_internal_mutable_f_direct() {
8508  return &f_direct_;
8509 }
8510 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8511 InverseConstraintProto::mutable_f_direct() {
8512  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
8513  return _internal_mutable_f_direct();
8514 }
8515 
8516 // repeated int32 f_inverse = 2;
8517 inline int InverseConstraintProto::_internal_f_inverse_size() const {
8518  return f_inverse_.size();
8519 }
8520 inline int InverseConstraintProto::f_inverse_size() const {
8521  return _internal_f_inverse_size();
8522 }
8523 inline void InverseConstraintProto::clear_f_inverse() {
8524  f_inverse_.Clear();
8525 }
8526 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_inverse(int index) const {
8527  return f_inverse_.Get(index);
8528 }
8529 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_inverse(int index) const {
8530  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
8531  return _internal_f_inverse(index);
8532 }
8533 inline void InverseConstraintProto::set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8534  f_inverse_.Set(index, value);
8535  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
8536 }
8537 inline void InverseConstraintProto::_internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8538  f_inverse_.Add(value);
8539 }
8540 inline void InverseConstraintProto::add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8541  _internal_add_f_inverse(value);
8542  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
8543 }
8544 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8545 InverseConstraintProto::_internal_f_inverse() const {
8546  return f_inverse_;
8547 }
8548 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8549 InverseConstraintProto::f_inverse() const {
8550  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
8551  return _internal_f_inverse();
8552 }
8553 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8554 InverseConstraintProto::_internal_mutable_f_inverse() {
8555  return &f_inverse_;
8556 }
8557 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8558 InverseConstraintProto::mutable_f_inverse() {
8559  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
8560  return _internal_mutable_f_inverse();
8561 }
8562 
8563 // -------------------------------------------------------------------
8564 
8565 // AutomatonConstraintProto
8566 
8567 // int64 starting_state = 2;
8568 inline void AutomatonConstraintProto::clear_starting_state() {
8569  starting_state_ = PROTOBUF_LONGLONG(0);
8570 }
8571 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_starting_state() const {
8572  return starting_state_;
8573 }
8574 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::starting_state() const {
8575  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
8576  return _internal_starting_state();
8577 }
8578 inline void AutomatonConstraintProto::_internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8579 
8580  starting_state_ = value;
8581 }
8582 inline void AutomatonConstraintProto::set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8583  _internal_set_starting_state(value);
8584  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
8585 }
8586 
8587 // repeated int64 final_states = 3;
8588 inline int AutomatonConstraintProto::_internal_final_states_size() const {
8589  return final_states_.size();
8590 }
8591 inline int AutomatonConstraintProto::final_states_size() const {
8592  return _internal_final_states_size();
8593 }
8594 inline void AutomatonConstraintProto::clear_final_states() {
8595  final_states_.Clear();
8596 }
8597 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_final_states(int index) const {
8598  return final_states_.Get(index);
8599 }
8600 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::final_states(int index) const {
8601  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
8602  return _internal_final_states(index);
8603 }
8604 inline void AutomatonConstraintProto::set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8605  final_states_.Set(index, value);
8606  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
8607 }
8608 inline void AutomatonConstraintProto::_internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8609  final_states_.Add(value);
8610 }
8611 inline void AutomatonConstraintProto::add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8612  _internal_add_final_states(value);
8613  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
8614 }
8615 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8616 AutomatonConstraintProto::_internal_final_states() const {
8617  return final_states_;
8618 }
8619 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8620 AutomatonConstraintProto::final_states() const {
8621  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
8622  return _internal_final_states();
8623 }
8624 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8625 AutomatonConstraintProto::_internal_mutable_final_states() {
8626  return &final_states_;
8627 }
8628 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8629 AutomatonConstraintProto::mutable_final_states() {
8630  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
8631  return _internal_mutable_final_states();
8632 }
8633 
8634 // repeated int64 transition_tail = 4;
8635 inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
8636  return transition_tail_.size();
8637 }
8638 inline int AutomatonConstraintProto::transition_tail_size() const {
8639  return _internal_transition_tail_size();
8640 }
8641 inline void AutomatonConstraintProto::clear_transition_tail() {
8642  transition_tail_.Clear();
8643 }
8644 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_tail(int index) const {
8645  return transition_tail_.Get(index);
8646 }
8647 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_tail(int index) const {
8648  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
8649  return _internal_transition_tail(index);
8650 }
8651 inline void AutomatonConstraintProto::set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8652  transition_tail_.Set(index, value);
8653  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
8654 }
8655 inline void AutomatonConstraintProto::_internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8656  transition_tail_.Add(value);
8657 }
8658 inline void AutomatonConstraintProto::add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8659  _internal_add_transition_tail(value);
8660  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
8661 }
8662 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8663 AutomatonConstraintProto::_internal_transition_tail() const {
8664  return transition_tail_;
8665 }
8666 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8667 AutomatonConstraintProto::transition_tail() const {
8668  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8669  return _internal_transition_tail();
8670 }
8671 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8672 AutomatonConstraintProto::_internal_mutable_transition_tail() {
8673  return &transition_tail_;
8674 }
8675 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8676 AutomatonConstraintProto::mutable_transition_tail() {
8677  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8678  return _internal_mutable_transition_tail();
8679 }
8680 
8681 // repeated int64 transition_head = 5;
8682 inline int AutomatonConstraintProto::_internal_transition_head_size() const {
8683  return transition_head_.size();
8684 }
8685 inline int AutomatonConstraintProto::transition_head_size() const {
8686  return _internal_transition_head_size();
8687 }
8688 inline void AutomatonConstraintProto::clear_transition_head() {
8689  transition_head_.Clear();
8690 }
8691 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_head(int index) const {
8692  return transition_head_.Get(index);
8693 }
8694 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_head(int index) const {
8695  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
8696  return _internal_transition_head(index);
8697 }
8698 inline void AutomatonConstraintProto::set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8699  transition_head_.Set(index, value);
8700  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
8701 }
8702 inline void AutomatonConstraintProto::_internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8703  transition_head_.Add(value);
8704 }
8705 inline void AutomatonConstraintProto::add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8706  _internal_add_transition_head(value);
8707  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
8708 }
8709 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8710 AutomatonConstraintProto::_internal_transition_head() const {
8711  return transition_head_;
8712 }
8713 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8714 AutomatonConstraintProto::transition_head() const {
8715  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8716  return _internal_transition_head();
8717 }
8718 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8719 AutomatonConstraintProto::_internal_mutable_transition_head() {
8720  return &transition_head_;
8721 }
8722 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8723 AutomatonConstraintProto::mutable_transition_head() {
8724  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8725  return _internal_mutable_transition_head();
8726 }
8727 
8728 // repeated int64 transition_label = 6;
8729 inline int AutomatonConstraintProto::_internal_transition_label_size() const {
8730  return transition_label_.size();
8731 }
8732 inline int AutomatonConstraintProto::transition_label_size() const {
8733  return _internal_transition_label_size();
8734 }
8735 inline void AutomatonConstraintProto::clear_transition_label() {
8736  transition_label_.Clear();
8737 }
8738 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_label(int index) const {
8739  return transition_label_.Get(index);
8740 }
8741 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_label(int index) const {
8742  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
8743  return _internal_transition_label(index);
8744 }
8745 inline void AutomatonConstraintProto::set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8746  transition_label_.Set(index, value);
8747  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
8748 }
8749 inline void AutomatonConstraintProto::_internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8750  transition_label_.Add(value);
8751 }
8752 inline void AutomatonConstraintProto::add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8753  _internal_add_transition_label(value);
8754  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
8755 }
8756 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8757 AutomatonConstraintProto::_internal_transition_label() const {
8758  return transition_label_;
8759 }
8760 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8761 AutomatonConstraintProto::transition_label() const {
8762  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8763  return _internal_transition_label();
8764 }
8765 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8766 AutomatonConstraintProto::_internal_mutable_transition_label() {
8767  return &transition_label_;
8768 }
8769 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8770 AutomatonConstraintProto::mutable_transition_label() {
8771  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8772  return _internal_mutable_transition_label();
8773 }
8774 
8775 // repeated int32 vars = 7;
8776 inline int AutomatonConstraintProto::_internal_vars_size() const {
8777  return vars_.size();
8778 }
8779 inline int AutomatonConstraintProto::vars_size() const {
8780  return _internal_vars_size();
8781 }
8782 inline void AutomatonConstraintProto::clear_vars() {
8783  vars_.Clear();
8784 }
8785 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::_internal_vars(int index) const {
8786  return vars_.Get(index);
8787 }
8788 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::vars(int index) const {
8789  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
8790  return _internal_vars(index);
8791 }
8792 inline void AutomatonConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8793  vars_.Set(index, value);
8794  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
8795 }
8796 inline void AutomatonConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8797  vars_.Add(value);
8798 }
8799 inline void AutomatonConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8800  _internal_add_vars(value);
8801  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
8802 }
8803 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8804 AutomatonConstraintProto::_internal_vars() const {
8805  return vars_;
8806 }
8807 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8808 AutomatonConstraintProto::vars() const {
8809  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
8810  return _internal_vars();
8811 }
8812 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8813 AutomatonConstraintProto::_internal_mutable_vars() {
8814  return &vars_;
8815 }
8816 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8817 AutomatonConstraintProto::mutable_vars() {
8818  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
8819  return _internal_mutable_vars();
8820 }
8821 
8822 // -------------------------------------------------------------------
8823 
8824 // ConstraintProto
8825 
8826 // string name = 1;
8827 inline void ConstraintProto::clear_name() {
8828  name_.ClearToEmpty();
8829 }
8830 inline const std::string& ConstraintProto::name() const {
8831  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
8832  return _internal_name();
8833 }
8834 inline void ConstraintProto::set_name(const std::string& value) {
8835  _internal_set_name(value);
8836  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
8837 }
8838 inline std::string* ConstraintProto::mutable_name() {
8839  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
8840  return _internal_mutable_name();
8841 }
8842 inline const std::string& ConstraintProto::_internal_name() const {
8843  return name_.Get();
8844 }
8845 inline void ConstraintProto::_internal_set_name(const std::string& value) {
8846 
8847  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
8848 }
8849 inline void ConstraintProto::set_name(std::string&& value) {
8850 
8851  name_.Set(
8852  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
8853  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.ConstraintProto.name)
8854 }
8855 inline void ConstraintProto::set_name(const char* value) {
8856  GOOGLE_DCHECK(value != nullptr);
8857 
8858  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
8859  // @@protoc_insertion_point(field_set_char:operations_research.sat.ConstraintProto.name)
8860 }
8861 inline void ConstraintProto::set_name(const char* value,
8862  size_t size) {
8863 
8864  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
8865  reinterpret_cast<const char*>(value), size), GetArena());
8866  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.ConstraintProto.name)
8867 }
8868 inline std::string* ConstraintProto::_internal_mutable_name() {
8869 
8870  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
8871 }
8872 inline std::string* ConstraintProto::release_name() {
8873  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
8874  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8875 }
8876 inline void ConstraintProto::set_allocated_name(std::string* name) {
8877  if (name != nullptr) {
8878 
8879  } else {
8880 
8881  }
8882  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
8883  GetArena());
8884  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
8885 }
8886 
8887 // repeated int32 enforcement_literal = 2;
8888 inline int ConstraintProto::_internal_enforcement_literal_size() const {
8889  return enforcement_literal_.size();
8890 }
8891 inline int ConstraintProto::enforcement_literal_size() const {
8892  return _internal_enforcement_literal_size();
8893 }
8894 inline void ConstraintProto::clear_enforcement_literal() {
8895  enforcement_literal_.Clear();
8896 }
8897 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::_internal_enforcement_literal(int index) const {
8898  return enforcement_literal_.Get(index);
8899 }
8900 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::enforcement_literal(int index) const {
8901  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
8902  return _internal_enforcement_literal(index);
8903 }
8904 inline void ConstraintProto::set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8905  enforcement_literal_.Set(index, value);
8906  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
8907 }
8908 inline void ConstraintProto::_internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8909  enforcement_literal_.Add(value);
8910 }
8911 inline void ConstraintProto::add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8912  _internal_add_enforcement_literal(value);
8913  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
8914 }
8915 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8916 ConstraintProto::_internal_enforcement_literal() const {
8917  return enforcement_literal_;
8918 }
8919 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8920 ConstraintProto::enforcement_literal() const {
8921  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
8922  return _internal_enforcement_literal();
8923 }
8924 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8925 ConstraintProto::_internal_mutable_enforcement_literal() {
8926  return &enforcement_literal_;
8927 }
8928 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8929 ConstraintProto::mutable_enforcement_literal() {
8930  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
8931  return _internal_mutable_enforcement_literal();
8932 }
8933 
8934 // .operations_research.sat.BoolArgumentProto bool_or = 3;
8935 inline bool ConstraintProto::_internal_has_bool_or() const {
8936  return constraint_case() == kBoolOr;
8937 }
8938 inline bool ConstraintProto::has_bool_or() const {
8939  return _internal_has_bool_or();
8940 }
8941 inline void ConstraintProto::set_has_bool_or() {
8942  _oneof_case_[0] = kBoolOr;
8943 }
8944 inline void ConstraintProto::clear_bool_or() {
8945  if (_internal_has_bool_or()) {
8946  if (GetArena() == nullptr) {
8947  delete constraint_.bool_or_;
8948  }
8949  clear_has_constraint();
8950  }
8951 }
8952 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
8953  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
8954  if (_internal_has_bool_or()) {
8955  clear_has_constraint();
8956  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8957  if (GetArena() != nullptr) {
8958  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8959  }
8960  constraint_.bool_or_ = nullptr;
8961  return temp;
8962  } else {
8963  return nullptr;
8964  }
8965 }
8966 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
8967  return _internal_has_bool_or()
8968  ? *constraint_.bool_or_
8969  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
8970 }
8971 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
8972  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
8973  return _internal_bool_or();
8974 }
8975 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_or() {
8976  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
8977  if (_internal_has_bool_or()) {
8978  clear_has_constraint();
8979  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8980  constraint_.bool_or_ = nullptr;
8981  return temp;
8982  } else {
8983  return nullptr;
8984  }
8985 }
8986 inline void ConstraintProto::unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or) {
8987  clear_constraint();
8988  if (bool_or) {
8989  set_has_bool_or();
8990  constraint_.bool_or_ = bool_or;
8991  }
8992  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
8993 }
8994 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_or() {
8995  if (!_internal_has_bool_or()) {
8996  clear_constraint();
8997  set_has_bool_or();
8998  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8999  }
9000  return constraint_.bool_or_;
9001 }
9002 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
9003  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
9004  return _internal_mutable_bool_or();
9005 }
9006 
9007 // .operations_research.sat.BoolArgumentProto bool_and = 4;
9008 inline bool ConstraintProto::_internal_has_bool_and() const {
9009  return constraint_case() == kBoolAnd;
9010 }
9011 inline bool ConstraintProto::has_bool_and() const {
9012  return _internal_has_bool_and();
9013 }
9014 inline void ConstraintProto::set_has_bool_and() {
9015  _oneof_case_[0] = kBoolAnd;
9016 }
9017 inline void ConstraintProto::clear_bool_and() {
9018  if (_internal_has_bool_and()) {
9019  if (GetArena() == nullptr) {
9020  delete constraint_.bool_and_;
9021  }
9022  clear_has_constraint();
9023  }
9024 }
9025 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
9026  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
9027  if (_internal_has_bool_and()) {
9028  clear_has_constraint();
9029  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9030  if (GetArena() != nullptr) {
9031  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9032  }
9033  constraint_.bool_and_ = nullptr;
9034  return temp;
9035  } else {
9036  return nullptr;
9037  }
9038 }
9039 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
9040  return _internal_has_bool_and()
9041  ? *constraint_.bool_and_
9042  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9043 }
9044 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
9045  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
9046  return _internal_bool_and();
9047 }
9048 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_and() {
9049  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
9050  if (_internal_has_bool_and()) {
9051  clear_has_constraint();
9052  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9053  constraint_.bool_and_ = nullptr;
9054  return temp;
9055  } else {
9056  return nullptr;
9057  }
9058 }
9059 inline void ConstraintProto::unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and) {
9060  clear_constraint();
9061  if (bool_and) {
9062  set_has_bool_and();
9063  constraint_.bool_and_ = bool_and;
9064  }
9065  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
9066 }
9067 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_and() {
9068  if (!_internal_has_bool_and()) {
9069  clear_constraint();
9070  set_has_bool_and();
9071  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9072  }
9073  return constraint_.bool_and_;
9074 }
9075 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
9076  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
9077  return _internal_mutable_bool_and();
9078 }
9079 
9080 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
9081 inline bool ConstraintProto::_internal_has_at_most_one() const {
9082  return constraint_case() == kAtMostOne;
9083 }
9084 inline bool ConstraintProto::has_at_most_one() const {
9085  return _internal_has_at_most_one();
9086 }
9087 inline void ConstraintProto::set_has_at_most_one() {
9088  _oneof_case_[0] = kAtMostOne;
9089 }
9090 inline void ConstraintProto::clear_at_most_one() {
9091  if (_internal_has_at_most_one()) {
9092  if (GetArena() == nullptr) {
9093  delete constraint_.at_most_one_;
9094  }
9095  clear_has_constraint();
9096  }
9097 }
9098 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
9099  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
9100  if (_internal_has_at_most_one()) {
9101  clear_has_constraint();
9102  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9103  if (GetArena() != nullptr) {
9104  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9105  }
9106  constraint_.at_most_one_ = nullptr;
9107  return temp;
9108  } else {
9109  return nullptr;
9110  }
9111 }
9112 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
9113  return _internal_has_at_most_one()
9114  ? *constraint_.at_most_one_
9115  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9116 }
9117 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
9118  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
9119  return _internal_at_most_one();
9120 }
9121 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_at_most_one() {
9122  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
9123  if (_internal_has_at_most_one()) {
9124  clear_has_constraint();
9125  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9126  constraint_.at_most_one_ = nullptr;
9127  return temp;
9128  } else {
9129  return nullptr;
9130  }
9131 }
9132 inline void ConstraintProto::unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one) {
9133  clear_constraint();
9134  if (at_most_one) {
9135  set_has_at_most_one();
9136  constraint_.at_most_one_ = at_most_one;
9137  }
9138  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
9139 }
9140 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_at_most_one() {
9141  if (!_internal_has_at_most_one()) {
9142  clear_constraint();
9143  set_has_at_most_one();
9144  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9145  }
9146  return constraint_.at_most_one_;
9147 }
9148 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
9149  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
9150  return _internal_mutable_at_most_one();
9151 }
9152 
9153 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
9154 inline bool ConstraintProto::_internal_has_exactly_one() const {
9155  return constraint_case() == kExactlyOne;
9156 }
9157 inline bool ConstraintProto::has_exactly_one() const {
9158  return _internal_has_exactly_one();
9159 }
9160 inline void ConstraintProto::set_has_exactly_one() {
9161  _oneof_case_[0] = kExactlyOne;
9162 }
9163 inline void ConstraintProto::clear_exactly_one() {
9164  if (_internal_has_exactly_one()) {
9165  if (GetArena() == nullptr) {
9166  delete constraint_.exactly_one_;
9167  }
9168  clear_has_constraint();
9169  }
9170 }
9171 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_exactly_one() {
9172  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.exactly_one)
9173  if (_internal_has_exactly_one()) {
9174  clear_has_constraint();
9175  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9176  if (GetArena() != nullptr) {
9177  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9178  }
9179  constraint_.exactly_one_ = nullptr;
9180  return temp;
9181  } else {
9182  return nullptr;
9183  }
9184 }
9185 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_exactly_one() const {
9186  return _internal_has_exactly_one()
9187  ? *constraint_.exactly_one_
9188  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9189 }
9190 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::exactly_one() const {
9191  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.exactly_one)
9192  return _internal_exactly_one();
9193 }
9194 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_exactly_one() {
9195  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.exactly_one)
9196  if (_internal_has_exactly_one()) {
9197  clear_has_constraint();
9198  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9199  constraint_.exactly_one_ = nullptr;
9200  return temp;
9201  } else {
9202  return nullptr;
9203  }
9204 }
9205 inline void ConstraintProto::unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto* exactly_one) {
9206  clear_constraint();
9207  if (exactly_one) {
9208  set_has_exactly_one();
9209  constraint_.exactly_one_ = exactly_one;
9210  }
9211  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
9212 }
9213 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_exactly_one() {
9214  if (!_internal_has_exactly_one()) {
9215  clear_constraint();
9216  set_has_exactly_one();
9217  constraint_.exactly_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9218  }
9219  return constraint_.exactly_one_;
9220 }
9221 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_exactly_one() {
9222  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.exactly_one)
9223  return _internal_mutable_exactly_one();
9224 }
9225 
9226 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
9227 inline bool ConstraintProto::_internal_has_bool_xor() const {
9228  return constraint_case() == kBoolXor;
9229 }
9230 inline bool ConstraintProto::has_bool_xor() const {
9231  return _internal_has_bool_xor();
9232 }
9233 inline void ConstraintProto::set_has_bool_xor() {
9234  _oneof_case_[0] = kBoolXor;
9235 }
9236 inline void ConstraintProto::clear_bool_xor() {
9237  if (_internal_has_bool_xor()) {
9238  if (GetArena() == nullptr) {
9239  delete constraint_.bool_xor_;
9240  }
9241  clear_has_constraint();
9242  }
9243 }
9244 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
9245  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
9246  if (_internal_has_bool_xor()) {
9247  clear_has_constraint();
9248  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9249  if (GetArena() != nullptr) {
9250  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9251  }
9252  constraint_.bool_xor_ = nullptr;
9253  return temp;
9254  } else {
9255  return nullptr;
9256  }
9257 }
9258 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
9259  return _internal_has_bool_xor()
9260  ? *constraint_.bool_xor_
9261  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9262 }
9263 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
9264  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
9265  return _internal_bool_xor();
9266 }
9267 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_xor() {
9268  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
9269  if (_internal_has_bool_xor()) {
9270  clear_has_constraint();
9271  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9272  constraint_.bool_xor_ = nullptr;
9273  return temp;
9274  } else {
9275  return nullptr;
9276  }
9277 }
9278 inline void ConstraintProto::unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor) {
9279  clear_constraint();
9280  if (bool_xor) {
9281  set_has_bool_xor();
9282  constraint_.bool_xor_ = bool_xor;
9283  }
9284  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
9285 }
9286 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_xor() {
9287  if (!_internal_has_bool_xor()) {
9288  clear_constraint();
9289  set_has_bool_xor();
9290  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9291  }
9292  return constraint_.bool_xor_;
9293 }
9294 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
9295  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
9296  return _internal_mutable_bool_xor();
9297 }
9298 
9299 // .operations_research.sat.IntegerArgumentProto int_div = 7;
9300 inline bool ConstraintProto::_internal_has_int_div() const {
9301  return constraint_case() == kIntDiv;
9302 }
9303 inline bool ConstraintProto::has_int_div() const {
9304  return _internal_has_int_div();
9305 }
9306 inline void ConstraintProto::set_has_int_div() {
9307  _oneof_case_[0] = kIntDiv;
9308 }
9309 inline void ConstraintProto::clear_int_div() {
9310  if (_internal_has_int_div()) {
9311  if (GetArena() == nullptr) {
9312  delete constraint_.int_div_;
9313  }
9314  clear_has_constraint();
9315  }
9316 }
9317 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_div() {
9318  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
9319  if (_internal_has_int_div()) {
9320  clear_has_constraint();
9321  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
9322  if (GetArena() != nullptr) {
9323  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9324  }
9325  constraint_.int_div_ = nullptr;
9326  return temp;
9327  } else {
9328  return nullptr;
9329  }
9330 }
9331 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_div() const {
9332  return _internal_has_int_div()
9333  ? *constraint_.int_div_
9334  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9335 }
9336 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_div() const {
9337  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
9338  return _internal_int_div();
9339 }
9340 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_div() {
9341  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
9342  if (_internal_has_int_div()) {
9343  clear_has_constraint();
9344  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
9345  constraint_.int_div_ = nullptr;
9346  return temp;
9347  } else {
9348  return nullptr;
9349  }
9350 }
9351 inline void ConstraintProto::unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div) {
9352  clear_constraint();
9353  if (int_div) {
9354  set_has_int_div();
9355  constraint_.int_div_ = int_div;
9356  }
9357  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
9358 }
9359 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_div() {
9360  if (!_internal_has_int_div()) {
9361  clear_constraint();
9362  set_has_int_div();
9363  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9364  }
9365  return constraint_.int_div_;
9366 }
9367 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_div() {
9368  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
9369  return _internal_mutable_int_div();
9370 }
9371 
9372 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
9373 inline bool ConstraintProto::_internal_has_int_mod() const {
9374  return constraint_case() == kIntMod;
9375 }
9376 inline bool ConstraintProto::has_int_mod() const {
9377  return _internal_has_int_mod();
9378 }
9379 inline void ConstraintProto::set_has_int_mod() {
9380  _oneof_case_[0] = kIntMod;
9381 }
9382 inline void ConstraintProto::clear_int_mod() {
9383  if (_internal_has_int_mod()) {
9384  if (GetArena() == nullptr) {
9385  delete constraint_.int_mod_;
9386  }
9387  clear_has_constraint();
9388  }
9389 }
9390 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_mod() {
9391  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
9392  if (_internal_has_int_mod()) {
9393  clear_has_constraint();
9394  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
9395  if (GetArena() != nullptr) {
9396  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9397  }
9398  constraint_.int_mod_ = nullptr;
9399  return temp;
9400  } else {
9401  return nullptr;
9402  }
9403 }
9404 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_mod() const {
9405  return _internal_has_int_mod()
9406  ? *constraint_.int_mod_
9407  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9408 }
9409 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_mod() const {
9410  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
9411  return _internal_int_mod();
9412 }
9413 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_mod() {
9414  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
9415  if (_internal_has_int_mod()) {
9416  clear_has_constraint();
9417  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
9418  constraint_.int_mod_ = nullptr;
9419  return temp;
9420  } else {
9421  return nullptr;
9422  }
9423 }
9424 inline void ConstraintProto::unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod) {
9425  clear_constraint();
9426  if (int_mod) {
9427  set_has_int_mod();
9428  constraint_.int_mod_ = int_mod;
9429  }
9430  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
9431 }
9432 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_mod() {
9433  if (!_internal_has_int_mod()) {
9434  clear_constraint();
9435  set_has_int_mod();
9436  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9437  }
9438  return constraint_.int_mod_;
9439 }
9440 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_mod() {
9441  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
9442  return _internal_mutable_int_mod();
9443 }
9444 
9445 // .operations_research.sat.IntegerArgumentProto int_max = 9;
9446 inline bool ConstraintProto::_internal_has_int_max() const {
9447  return constraint_case() == kIntMax;
9448 }
9449 inline bool ConstraintProto::has_int_max() const {
9450  return _internal_has_int_max();
9451 }
9452 inline void ConstraintProto::set_has_int_max() {
9453  _oneof_case_[0] = kIntMax;
9454 }
9455 inline void ConstraintProto::clear_int_max() {
9456  if (_internal_has_int_max()) {
9457  if (GetArena() == nullptr) {
9458  delete constraint_.int_max_;
9459  }
9460  clear_has_constraint();
9461  }
9462 }
9463 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_max() {
9464  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_max)
9465  if (_internal_has_int_max()) {
9466  clear_has_constraint();
9467  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
9468  if (GetArena() != nullptr) {
9469  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9470  }
9471  constraint_.int_max_ = nullptr;
9472  return temp;
9473  } else {
9474  return nullptr;
9475  }
9476 }
9477 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_max() const {
9478  return _internal_has_int_max()
9479  ? *constraint_.int_max_
9480  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9481 }
9482 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_max() const {
9483  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_max)
9484  return _internal_int_max();
9485 }
9486 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_max() {
9487  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_max)
9488  if (_internal_has_int_max()) {
9489  clear_has_constraint();
9490  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
9491  constraint_.int_max_ = nullptr;
9492  return temp;
9493  } else {
9494  return nullptr;
9495  }
9496 }
9497 inline void ConstraintProto::unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max) {
9498  clear_constraint();
9499  if (int_max) {
9500  set_has_int_max();
9501  constraint_.int_max_ = int_max;
9502  }
9503  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_max)
9504 }
9505 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_max() {
9506  if (!_internal_has_int_max()) {
9507  clear_constraint();
9508  set_has_int_max();
9509  constraint_.int_max_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9510  }
9511  return constraint_.int_max_;
9512 }
9513 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_max() {
9514  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_max)
9515  return _internal_mutable_int_max();
9516 }
9517 
9518 // .operations_research.sat.LinearArgumentProto lin_max = 27;
9519 inline bool ConstraintProto::_internal_has_lin_max() const {
9520  return constraint_case() == kLinMax;
9521 }
9522 inline bool ConstraintProto::has_lin_max() const {
9523  return _internal_has_lin_max();
9524 }
9525 inline void ConstraintProto::set_has_lin_max() {
9526  _oneof_case_[0] = kLinMax;
9527 }
9528 inline void ConstraintProto::clear_lin_max() {
9529  if (_internal_has_lin_max()) {
9530  if (GetArena() == nullptr) {
9531  delete constraint_.lin_max_;
9532  }
9533  clear_has_constraint();
9534  }
9535 }
9536 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_max() {
9537  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
9538  if (_internal_has_lin_max()) {
9539  clear_has_constraint();
9540  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
9541  if (GetArena() != nullptr) {
9542  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9543  }
9544  constraint_.lin_max_ = nullptr;
9545  return temp;
9546  } else {
9547  return nullptr;
9548  }
9549 }
9550 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
9551  return _internal_has_lin_max()
9552  ? *constraint_.lin_max_
9553  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9554 }
9555 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const {
9556  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
9557  return _internal_lin_max();
9558 }
9559 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_max() {
9560  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
9561  if (_internal_has_lin_max()) {
9562  clear_has_constraint();
9563  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
9564  constraint_.lin_max_ = nullptr;
9565  return temp;
9566  } else {
9567  return nullptr;
9568  }
9569 }
9570 inline void ConstraintProto::unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max) {
9571  clear_constraint();
9572  if (lin_max) {
9573  set_has_lin_max();
9574  constraint_.lin_max_ = lin_max;
9575  }
9576  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
9577 }
9578 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_max() {
9579  if (!_internal_has_lin_max()) {
9580  clear_constraint();
9581  set_has_lin_max();
9582  constraint_.lin_max_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9583  }
9584  return constraint_.lin_max_;
9585 }
9586 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_max() {
9587  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
9588  return _internal_mutable_lin_max();
9589 }
9590 
9591 // .operations_research.sat.IntegerArgumentProto int_min = 10;
9592 inline bool ConstraintProto::_internal_has_int_min() const {
9593  return constraint_case() == kIntMin;
9594 }
9595 inline bool ConstraintProto::has_int_min() const {
9596  return _internal_has_int_min();
9597 }
9598 inline void ConstraintProto::set_has_int_min() {
9599  _oneof_case_[0] = kIntMin;
9600 }
9601 inline void ConstraintProto::clear_int_min() {
9602  if (_internal_has_int_min()) {
9603  if (GetArena() == nullptr) {
9604  delete constraint_.int_min_;
9605  }
9606  clear_has_constraint();
9607  }
9608 }
9609 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_min() {
9610  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_min)
9611  if (_internal_has_int_min()) {
9612  clear_has_constraint();
9613  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9614  if (GetArena() != nullptr) {
9615  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9616  }
9617  constraint_.int_min_ = nullptr;
9618  return temp;
9619  } else {
9620  return nullptr;
9621  }
9622 }
9623 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_min() const {
9624  return _internal_has_int_min()
9625  ? *constraint_.int_min_
9626  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9627 }
9628 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_min() const {
9629  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_min)
9630  return _internal_int_min();
9631 }
9632 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_min() {
9633  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_min)
9634  if (_internal_has_int_min()) {
9635  clear_has_constraint();
9636  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9637  constraint_.int_min_ = nullptr;
9638  return temp;
9639  } else {
9640  return nullptr;
9641  }
9642 }
9643 inline void ConstraintProto::unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min) {
9644  clear_constraint();
9645  if (int_min) {
9646  set_has_int_min();
9647  constraint_.int_min_ = int_min;
9648  }
9649  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_min)
9650 }
9651 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_min() {
9652  if (!_internal_has_int_min()) {
9653  clear_constraint();
9654  set_has_int_min();
9655  constraint_.int_min_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9656  }
9657  return constraint_.int_min_;
9658 }
9659 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_min() {
9660  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_min)
9661  return _internal_mutable_int_min();
9662 }
9663 
9664 // .operations_research.sat.LinearArgumentProto lin_min = 28;
9665 inline bool ConstraintProto::_internal_has_lin_min() const {
9666  return constraint_case() == kLinMin;
9667 }
9668 inline bool ConstraintProto::has_lin_min() const {
9669  return _internal_has_lin_min();
9670 }
9671 inline void ConstraintProto::set_has_lin_min() {
9672  _oneof_case_[0] = kLinMin;
9673 }
9674 inline void ConstraintProto::clear_lin_min() {
9675  if (_internal_has_lin_min()) {
9676  if (GetArena() == nullptr) {
9677  delete constraint_.lin_min_;
9678  }
9679  clear_has_constraint();
9680  }
9681 }
9682 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_min() {
9683  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_min)
9684  if (_internal_has_lin_min()) {
9685  clear_has_constraint();
9686  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9687  if (GetArena() != nullptr) {
9688  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9689  }
9690  constraint_.lin_min_ = nullptr;
9691  return temp;
9692  } else {
9693  return nullptr;
9694  }
9695 }
9696 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_min() const {
9697  return _internal_has_lin_min()
9698  ? *constraint_.lin_min_
9699  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9700 }
9701 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_min() const {
9702  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_min)
9703  return _internal_lin_min();
9704 }
9705 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_min() {
9706  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_min)
9707  if (_internal_has_lin_min()) {
9708  clear_has_constraint();
9709  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9710  constraint_.lin_min_ = nullptr;
9711  return temp;
9712  } else {
9713  return nullptr;
9714  }
9715 }
9716 inline void ConstraintProto::unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min) {
9717  clear_constraint();
9718  if (lin_min) {
9719  set_has_lin_min();
9720  constraint_.lin_min_ = lin_min;
9721  }
9722  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_min)
9723 }
9724 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_min() {
9725  if (!_internal_has_lin_min()) {
9726  clear_constraint();
9727  set_has_lin_min();
9728  constraint_.lin_min_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9729  }
9730  return constraint_.lin_min_;
9731 }
9732 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_min() {
9733  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_min)
9734  return _internal_mutable_lin_min();
9735 }
9736 
9737 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
9738 inline bool ConstraintProto::_internal_has_int_prod() const {
9739  return constraint_case() == kIntProd;
9740 }
9741 inline bool ConstraintProto::has_int_prod() const {
9742  return _internal_has_int_prod();
9743 }
9744 inline void ConstraintProto::set_has_int_prod() {
9745  _oneof_case_[0] = kIntProd;
9746 }
9747 inline void ConstraintProto::clear_int_prod() {
9748  if (_internal_has_int_prod()) {
9749  if (GetArena() == nullptr) {
9750  delete constraint_.int_prod_;
9751  }
9752  clear_has_constraint();
9753  }
9754 }
9755 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_prod() {
9756  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
9757  if (_internal_has_int_prod()) {
9758  clear_has_constraint();
9759  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9760  if (GetArena() != nullptr) {
9761  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9762  }
9763  constraint_.int_prod_ = nullptr;
9764  return temp;
9765  } else {
9766  return nullptr;
9767  }
9768 }
9769 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_prod() const {
9770  return _internal_has_int_prod()
9771  ? *constraint_.int_prod_
9772  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9773 }
9774 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_prod() const {
9775  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
9776  return _internal_int_prod();
9777 }
9778 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_prod() {
9779  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
9780  if (_internal_has_int_prod()) {
9781  clear_has_constraint();
9782  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9783  constraint_.int_prod_ = nullptr;
9784  return temp;
9785  } else {
9786  return nullptr;
9787  }
9788 }
9789 inline void ConstraintProto::unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod) {
9790  clear_constraint();
9791  if (int_prod) {
9792  set_has_int_prod();
9793  constraint_.int_prod_ = int_prod;
9794  }
9795  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
9796 }
9797 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_prod() {
9798  if (!_internal_has_int_prod()) {
9799  clear_constraint();
9800  set_has_int_prod();
9801  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9802  }
9803  return constraint_.int_prod_;
9804 }
9805 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_prod() {
9806  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
9807  return _internal_mutable_int_prod();
9808 }
9809 
9810 // .operations_research.sat.LinearConstraintProto linear = 12;
9811 inline bool ConstraintProto::_internal_has_linear() const {
9812  return constraint_case() == kLinear;
9813 }
9814 inline bool ConstraintProto::has_linear() const {
9815  return _internal_has_linear();
9816 }
9817 inline void ConstraintProto::set_has_linear() {
9818  _oneof_case_[0] = kLinear;
9819 }
9820 inline void ConstraintProto::clear_linear() {
9821  if (_internal_has_linear()) {
9822  if (GetArena() == nullptr) {
9823  delete constraint_.linear_;
9824  }
9825  clear_has_constraint();
9826  }
9827 }
9828 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
9829  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
9830  if (_internal_has_linear()) {
9831  clear_has_constraint();
9832  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9833  if (GetArena() != nullptr) {
9834  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9835  }
9836  constraint_.linear_ = nullptr;
9837  return temp;
9838  } else {
9839  return nullptr;
9840  }
9841 }
9842 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
9843  return _internal_has_linear()
9844  ? *constraint_.linear_
9845  : reinterpret_cast< ::operations_research::sat::LinearConstraintProto&>(::operations_research::sat::_LinearConstraintProto_default_instance_);
9846 }
9847 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
9848  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
9849  return _internal_linear();
9850 }
9851 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::unsafe_arena_release_linear() {
9852  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
9853  if (_internal_has_linear()) {
9854  clear_has_constraint();
9855  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9856  constraint_.linear_ = nullptr;
9857  return temp;
9858  } else {
9859  return nullptr;
9860  }
9861 }
9862 inline void ConstraintProto::unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear) {
9863  clear_constraint();
9864  if (linear) {
9865  set_has_linear();
9866  constraint_.linear_ = linear;
9867  }
9868  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
9869 }
9870 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::_internal_mutable_linear() {
9871  if (!_internal_has_linear()) {
9872  clear_constraint();
9873  set_has_linear();
9874  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(GetArena());
9875  }
9876  return constraint_.linear_;
9877 }
9878 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
9879  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
9880  return _internal_mutable_linear();
9881 }
9882 
9883 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
9884 inline bool ConstraintProto::_internal_has_all_diff() const {
9885  return constraint_case() == kAllDiff;
9886 }
9887 inline bool ConstraintProto::has_all_diff() const {
9888  return _internal_has_all_diff();
9889 }
9890 inline void ConstraintProto::set_has_all_diff() {
9891  _oneof_case_[0] = kAllDiff;
9892 }
9893 inline void ConstraintProto::clear_all_diff() {
9894  if (_internal_has_all_diff()) {
9895  if (GetArena() == nullptr) {
9896  delete constraint_.all_diff_;
9897  }
9898  clear_has_constraint();
9899  }
9900 }
9901 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
9902  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
9903  if (_internal_has_all_diff()) {
9904  clear_has_constraint();
9905  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9906  if (GetArena() != nullptr) {
9907  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9908  }
9909  constraint_.all_diff_ = nullptr;
9910  return temp;
9911  } else {
9912  return nullptr;
9913  }
9914 }
9915 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
9916  return _internal_has_all_diff()
9917  ? *constraint_.all_diff_
9918  : reinterpret_cast< ::operations_research::sat::AllDifferentConstraintProto&>(::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
9919 }
9920 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
9921  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
9922  return _internal_all_diff();
9923 }
9924 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::unsafe_arena_release_all_diff() {
9925  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
9926  if (_internal_has_all_diff()) {
9927  clear_has_constraint();
9928  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9929  constraint_.all_diff_ = nullptr;
9930  return temp;
9931  } else {
9932  return nullptr;
9933  }
9934 }
9935 inline void ConstraintProto::unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff) {
9936  clear_constraint();
9937  if (all_diff) {
9938  set_has_all_diff();
9939  constraint_.all_diff_ = all_diff;
9940  }
9941  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
9942 }
9943 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::_internal_mutable_all_diff() {
9944  if (!_internal_has_all_diff()) {
9945  clear_constraint();
9946  set_has_all_diff();
9947  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(GetArena());
9948  }
9949  return constraint_.all_diff_;
9950 }
9951 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
9952  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
9953  return _internal_mutable_all_diff();
9954 }
9955 
9956 // .operations_research.sat.ElementConstraintProto element = 14;
9957 inline bool ConstraintProto::_internal_has_element() const {
9958  return constraint_case() == kElement;
9959 }
9960 inline bool ConstraintProto::has_element() const {
9961  return _internal_has_element();
9962 }
9963 inline void ConstraintProto::set_has_element() {
9964  _oneof_case_[0] = kElement;
9965 }
9966 inline void ConstraintProto::clear_element() {
9967  if (_internal_has_element()) {
9968  if (GetArena() == nullptr) {
9969  delete constraint_.element_;
9970  }
9971  clear_has_constraint();
9972  }
9973 }
9974 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
9975  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
9976  if (_internal_has_element()) {
9977  clear_has_constraint();
9978  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
9979  if (GetArena() != nullptr) {
9980  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9981  }
9982  constraint_.element_ = nullptr;
9983  return temp;
9984  } else {
9985  return nullptr;
9986  }
9987 }
9988 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
9989  return _internal_has_element()
9990  ? *constraint_.element_
9991  : reinterpret_cast< ::operations_research::sat::ElementConstraintProto&>(::operations_research::sat::_ElementConstraintProto_default_instance_);
9992 }
9993 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
9994  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
9995  return _internal_element();
9996 }
9997 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::unsafe_arena_release_element() {
9998  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
9999  if (_internal_has_element()) {
10000  clear_has_constraint();
10001  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
10002  constraint_.element_ = nullptr;
10003  return temp;
10004  } else {
10005  return nullptr;
10006  }
10007 }
10008 inline void ConstraintProto::unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto* element) {
10009  clear_constraint();
10010  if (element) {
10011  set_has_element();
10012  constraint_.element_ = element;
10013  }
10014  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
10015 }
10016 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::_internal_mutable_element() {
10017  if (!_internal_has_element()) {
10018  clear_constraint();
10019  set_has_element();
10020  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(GetArena());
10021  }
10022  return constraint_.element_;
10023 }
10024 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
10025  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
10026  return _internal_mutable_element();
10027 }
10028 
10029 // .operations_research.sat.CircuitConstraintProto circuit = 15;
10030 inline bool ConstraintProto::_internal_has_circuit() const {
10031  return constraint_case() == kCircuit;
10032 }
10033 inline bool ConstraintProto::has_circuit() const {
10034  return _internal_has_circuit();
10035 }
10036 inline void ConstraintProto::set_has_circuit() {
10037  _oneof_case_[0] = kCircuit;
10038 }
10039 inline void ConstraintProto::clear_circuit() {
10040  if (_internal_has_circuit()) {
10041  if (GetArena() == nullptr) {
10042  delete constraint_.circuit_;
10043  }
10044  clear_has_constraint();
10045  }
10046 }
10047 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
10048  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
10049  if (_internal_has_circuit()) {
10050  clear_has_constraint();
10051  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10052  if (GetArena() != nullptr) {
10053  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10054  }
10055  constraint_.circuit_ = nullptr;
10056  return temp;
10057  } else {
10058  return nullptr;
10059  }
10060 }
10061 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
10062  return _internal_has_circuit()
10063  ? *constraint_.circuit_
10064  : reinterpret_cast< ::operations_research::sat::CircuitConstraintProto&>(::operations_research::sat::_CircuitConstraintProto_default_instance_);
10065 }
10066 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
10067  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
10068  return _internal_circuit();
10069 }
10070 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::unsafe_arena_release_circuit() {
10071  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
10072  if (_internal_has_circuit()) {
10073  clear_has_constraint();
10074  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10075  constraint_.circuit_ = nullptr;
10076  return temp;
10077  } else {
10078  return nullptr;
10079  }
10080 }
10081 inline void ConstraintProto::unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit) {
10082  clear_constraint();
10083  if (circuit) {
10084  set_has_circuit();
10085  constraint_.circuit_ = circuit;
10086  }
10087  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
10088 }
10089 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::_internal_mutable_circuit() {
10090  if (!_internal_has_circuit()) {
10091  clear_constraint();
10092  set_has_circuit();
10093  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(GetArena());
10094  }
10095  return constraint_.circuit_;
10096 }
10097 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
10098  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
10099  return _internal_mutable_circuit();
10100 }
10101 
10102 // .operations_research.sat.RoutesConstraintProto routes = 23;
10103 inline bool ConstraintProto::_internal_has_routes() const {
10104  return constraint_case() == kRoutes;
10105 }
10106 inline bool ConstraintProto::has_routes() const {
10107  return _internal_has_routes();
10108 }
10109 inline void ConstraintProto::set_has_routes() {
10110  _oneof_case_[0] = kRoutes;
10111 }
10112 inline void ConstraintProto::clear_routes() {
10113  if (_internal_has_routes()) {
10114  if (GetArena() == nullptr) {
10115  delete constraint_.routes_;
10116  }
10117  clear_has_constraint();
10118  }
10119 }
10120 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
10121  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
10122  if (_internal_has_routes()) {
10123  clear_has_constraint();
10124  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10125  if (GetArena() != nullptr) {
10126  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10127  }
10128  constraint_.routes_ = nullptr;
10129  return temp;
10130  } else {
10131  return nullptr;
10132  }
10133 }
10134 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
10135  return _internal_has_routes()
10136  ? *constraint_.routes_
10137  : reinterpret_cast< ::operations_research::sat::RoutesConstraintProto&>(::operations_research::sat::_RoutesConstraintProto_default_instance_);
10138 }
10139 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
10140  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
10141  return _internal_routes();
10142 }
10143 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::unsafe_arena_release_routes() {
10144  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
10145  if (_internal_has_routes()) {
10146  clear_has_constraint();
10147  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10148  constraint_.routes_ = nullptr;
10149  return temp;
10150  } else {
10151  return nullptr;
10152  }
10153 }
10154 inline void ConstraintProto::unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes) {
10155  clear_constraint();
10156  if (routes) {
10157  set_has_routes();
10158  constraint_.routes_ = routes;
10159  }
10160  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
10161 }
10162 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::_internal_mutable_routes() {
10163  if (!_internal_has_routes()) {
10164  clear_constraint();
10165  set_has_routes();
10166  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(GetArena());
10167  }
10168  return constraint_.routes_;
10169 }
10170 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
10171  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
10172  return _internal_mutable_routes();
10173 }
10174 
10175 // .operations_research.sat.TableConstraintProto table = 16;
10176 inline bool ConstraintProto::_internal_has_table() const {
10177  return constraint_case() == kTable;
10178 }
10179 inline bool ConstraintProto::has_table() const {
10180  return _internal_has_table();
10181 }
10182 inline void ConstraintProto::set_has_table() {
10183  _oneof_case_[0] = kTable;
10184 }
10185 inline void ConstraintProto::clear_table() {
10186  if (_internal_has_table()) {
10187  if (GetArena() == nullptr) {
10188  delete constraint_.table_;
10189  }
10190  clear_has_constraint();
10191  }
10192 }
10193 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
10194  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
10195  if (_internal_has_table()) {
10196  clear_has_constraint();
10197  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10198  if (GetArena() != nullptr) {
10199  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10200  }
10201  constraint_.table_ = nullptr;
10202  return temp;
10203  } else {
10204  return nullptr;
10205  }
10206 }
10207 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
10208  return _internal_has_table()
10209  ? *constraint_.table_
10210  : reinterpret_cast< ::operations_research::sat::TableConstraintProto&>(::operations_research::sat::_TableConstraintProto_default_instance_);
10211 }
10212 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
10213  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
10214  return _internal_table();
10215 }
10216 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::unsafe_arena_release_table() {
10217  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
10218  if (_internal_has_table()) {
10219  clear_has_constraint();
10220  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10221  constraint_.table_ = nullptr;
10222  return temp;
10223  } else {
10224  return nullptr;
10225  }
10226 }
10227 inline void ConstraintProto::unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto* table) {
10228  clear_constraint();
10229  if (table) {
10230  set_has_table();
10231  constraint_.table_ = table;
10232  }
10233  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
10234 }
10235 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::_internal_mutable_table() {
10236  if (!_internal_has_table()) {
10237  clear_constraint();
10238  set_has_table();
10239  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(GetArena());
10240  }
10241  return constraint_.table_;
10242 }
10243 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
10244  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
10245  return _internal_mutable_table();
10246 }
10247 
10248 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
10249 inline bool ConstraintProto::_internal_has_automaton() const {
10250  return constraint_case() == kAutomaton;
10251 }
10252 inline bool ConstraintProto::has_automaton() const {
10253  return _internal_has_automaton();
10254 }
10255 inline void ConstraintProto::set_has_automaton() {
10256  _oneof_case_[0] = kAutomaton;
10257 }
10258 inline void ConstraintProto::clear_automaton() {
10259  if (_internal_has_automaton()) {
10260  if (GetArena() == nullptr) {
10261  delete constraint_.automaton_;
10262  }
10263  clear_has_constraint();
10264  }
10265 }
10266 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
10267  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
10268  if (_internal_has_automaton()) {
10269  clear_has_constraint();
10270  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10271  if (GetArena() != nullptr) {
10272  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10273  }
10274  constraint_.automaton_ = nullptr;
10275  return temp;
10276  } else {
10277  return nullptr;
10278  }
10279 }
10280 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
10281  return _internal_has_automaton()
10282  ? *constraint_.automaton_
10283  : reinterpret_cast< ::operations_research::sat::AutomatonConstraintProto&>(::operations_research::sat::_AutomatonConstraintProto_default_instance_);
10284 }
10285 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
10286  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
10287  return _internal_automaton();
10288 }
10289 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::unsafe_arena_release_automaton() {
10290  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
10291  if (_internal_has_automaton()) {
10292  clear_has_constraint();
10293  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10294  constraint_.automaton_ = nullptr;
10295  return temp;
10296  } else {
10297  return nullptr;
10298  }
10299 }
10300 inline void ConstraintProto::unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton) {
10301  clear_constraint();
10302  if (automaton) {
10303  set_has_automaton();
10304  constraint_.automaton_ = automaton;
10305  }
10306  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
10307 }
10308 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::_internal_mutable_automaton() {
10309  if (!_internal_has_automaton()) {
10310  clear_constraint();
10311  set_has_automaton();
10312  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(GetArena());
10313  }
10314  return constraint_.automaton_;
10315 }
10316 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
10317  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
10318  return _internal_mutable_automaton();
10319 }
10320 
10321 // .operations_research.sat.InverseConstraintProto inverse = 18;
10322 inline bool ConstraintProto::_internal_has_inverse() const {
10323  return constraint_case() == kInverse;
10324 }
10325 inline bool ConstraintProto::has_inverse() const {
10326  return _internal_has_inverse();
10327 }
10328 inline void ConstraintProto::set_has_inverse() {
10329  _oneof_case_[0] = kInverse;
10330 }
10331 inline void ConstraintProto::clear_inverse() {
10332  if (_internal_has_inverse()) {
10333  if (GetArena() == nullptr) {
10334  delete constraint_.inverse_;
10335  }
10336  clear_has_constraint();
10337  }
10338 }
10339 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
10340  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
10341  if (_internal_has_inverse()) {
10342  clear_has_constraint();
10343  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10344  if (GetArena() != nullptr) {
10345  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10346  }
10347  constraint_.inverse_ = nullptr;
10348  return temp;
10349  } else {
10350  return nullptr;
10351  }
10352 }
10353 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
10354  return _internal_has_inverse()
10355  ? *constraint_.inverse_
10356  : reinterpret_cast< ::operations_research::sat::InverseConstraintProto&>(::operations_research::sat::_InverseConstraintProto_default_instance_);
10357 }
10358 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
10359  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
10360  return _internal_inverse();
10361 }
10362 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::unsafe_arena_release_inverse() {
10363  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
10364  if (_internal_has_inverse()) {
10365  clear_has_constraint();
10366  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10367  constraint_.inverse_ = nullptr;
10368  return temp;
10369  } else {
10370  return nullptr;
10371  }
10372 }
10373 inline void ConstraintProto::unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse) {
10374  clear_constraint();
10375  if (inverse) {
10376  set_has_inverse();
10377  constraint_.inverse_ = inverse;
10378  }
10379  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
10380 }
10381 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::_internal_mutable_inverse() {
10382  if (!_internal_has_inverse()) {
10383  clear_constraint();
10384  set_has_inverse();
10385  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(GetArena());
10386  }
10387  return constraint_.inverse_;
10388 }
10389 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
10390  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
10391  return _internal_mutable_inverse();
10392 }
10393 
10394 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
10395 inline bool ConstraintProto::_internal_has_reservoir() const {
10396  return constraint_case() == kReservoir;
10397 }
10398 inline bool ConstraintProto::has_reservoir() const {
10399  return _internal_has_reservoir();
10400 }
10401 inline void ConstraintProto::set_has_reservoir() {
10402  _oneof_case_[0] = kReservoir;
10403 }
10404 inline void ConstraintProto::clear_reservoir() {
10405  if (_internal_has_reservoir()) {
10406  if (GetArena() == nullptr) {
10407  delete constraint_.reservoir_;
10408  }
10409  clear_has_constraint();
10410  }
10411 }
10412 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
10413  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
10414  if (_internal_has_reservoir()) {
10415  clear_has_constraint();
10416  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10417  if (GetArena() != nullptr) {
10418  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10419  }
10420  constraint_.reservoir_ = nullptr;
10421  return temp;
10422  } else {
10423  return nullptr;
10424  }
10425 }
10426 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
10427  return _internal_has_reservoir()
10428  ? *constraint_.reservoir_
10429  : reinterpret_cast< ::operations_research::sat::ReservoirConstraintProto&>(::operations_research::sat::_ReservoirConstraintProto_default_instance_);
10430 }
10431 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
10432  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
10433  return _internal_reservoir();
10434 }
10435 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::unsafe_arena_release_reservoir() {
10436  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
10437  if (_internal_has_reservoir()) {
10438  clear_has_constraint();
10439  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10440  constraint_.reservoir_ = nullptr;
10441  return temp;
10442  } else {
10443  return nullptr;
10444  }
10445 }
10446 inline void ConstraintProto::unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir) {
10447  clear_constraint();
10448  if (reservoir) {
10449  set_has_reservoir();
10450  constraint_.reservoir_ = reservoir;
10451  }
10452  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
10453 }
10454 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::_internal_mutable_reservoir() {
10455  if (!_internal_has_reservoir()) {
10456  clear_constraint();
10457  set_has_reservoir();
10458  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(GetArena());
10459  }
10460  return constraint_.reservoir_;
10461 }
10462 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
10463  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
10464  return _internal_mutable_reservoir();
10465 }
10466 
10467 // .operations_research.sat.IntervalConstraintProto interval = 19;
10468 inline bool ConstraintProto::_internal_has_interval() const {
10469  return constraint_case() == kInterval;
10470 }
10471 inline bool ConstraintProto::has_interval() const {
10472  return _internal_has_interval();
10473 }
10474 inline void ConstraintProto::set_has_interval() {
10475  _oneof_case_[0] = kInterval;
10476 }
10477 inline void ConstraintProto::clear_interval() {
10478  if (_internal_has_interval()) {
10479  if (GetArena() == nullptr) {
10480  delete constraint_.interval_;
10481  }
10482  clear_has_constraint();
10483  }
10484 }
10485 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
10486  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
10487  if (_internal_has_interval()) {
10488  clear_has_constraint();
10489  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10490  if (GetArena() != nullptr) {
10491  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10492  }
10493  constraint_.interval_ = nullptr;
10494  return temp;
10495  } else {
10496  return nullptr;
10497  }
10498 }
10499 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
10500  return _internal_has_interval()
10501  ? *constraint_.interval_
10502  : reinterpret_cast< ::operations_research::sat::IntervalConstraintProto&>(::operations_research::sat::_IntervalConstraintProto_default_instance_);
10503 }
10504 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
10505  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
10506  return _internal_interval();
10507 }
10508 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::unsafe_arena_release_interval() {
10509  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
10510  if (_internal_has_interval()) {
10511  clear_has_constraint();
10512  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10513  constraint_.interval_ = nullptr;
10514  return temp;
10515  } else {
10516  return nullptr;
10517  }
10518 }
10519 inline void ConstraintProto::unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval) {
10520  clear_constraint();
10521  if (interval) {
10522  set_has_interval();
10523  constraint_.interval_ = interval;
10524  }
10525  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
10526 }
10527 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::_internal_mutable_interval() {
10528  if (!_internal_has_interval()) {
10529  clear_constraint();
10530  set_has_interval();
10531  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(GetArena());
10532  }
10533  return constraint_.interval_;
10534 }
10535 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
10536  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
10537  return _internal_mutable_interval();
10538 }
10539 
10540 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
10541 inline bool ConstraintProto::_internal_has_no_overlap() const {
10542  return constraint_case() == kNoOverlap;
10543 }
10544 inline bool ConstraintProto::has_no_overlap() const {
10545  return _internal_has_no_overlap();
10546 }
10547 inline void ConstraintProto::set_has_no_overlap() {
10548  _oneof_case_[0] = kNoOverlap;
10549 }
10550 inline void ConstraintProto::clear_no_overlap() {
10551  if (_internal_has_no_overlap()) {
10552  if (GetArena() == nullptr) {
10553  delete constraint_.no_overlap_;
10554  }
10555  clear_has_constraint();
10556  }
10557 }
10558 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
10559  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
10560  if (_internal_has_no_overlap()) {
10561  clear_has_constraint();
10562  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10563  if (GetArena() != nullptr) {
10564  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10565  }
10566  constraint_.no_overlap_ = nullptr;
10567  return temp;
10568  } else {
10569  return nullptr;
10570  }
10571 }
10572 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
10573  return _internal_has_no_overlap()
10574  ? *constraint_.no_overlap_
10575  : reinterpret_cast< ::operations_research::sat::NoOverlapConstraintProto&>(::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
10576 }
10577 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
10578  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
10579  return _internal_no_overlap();
10580 }
10581 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap() {
10582  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
10583  if (_internal_has_no_overlap()) {
10584  clear_has_constraint();
10585  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10586  constraint_.no_overlap_ = nullptr;
10587  return temp;
10588  } else {
10589  return nullptr;
10590  }
10591 }
10592 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap) {
10593  clear_constraint();
10594  if (no_overlap) {
10595  set_has_no_overlap();
10596  constraint_.no_overlap_ = no_overlap;
10597  }
10598  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
10599 }
10600 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::_internal_mutable_no_overlap() {
10601  if (!_internal_has_no_overlap()) {
10602  clear_constraint();
10603  set_has_no_overlap();
10604  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(GetArena());
10605  }
10606  return constraint_.no_overlap_;
10607 }
10608 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
10609  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
10610  return _internal_mutable_no_overlap();
10611 }
10612 
10613 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
10614 inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
10615  return constraint_case() == kNoOverlap2D;
10616 }
10617 inline bool ConstraintProto::has_no_overlap_2d() const {
10618  return _internal_has_no_overlap_2d();
10619 }
10620 inline void ConstraintProto::set_has_no_overlap_2d() {
10621  _oneof_case_[0] = kNoOverlap2D;
10622 }
10623 inline void ConstraintProto::clear_no_overlap_2d() {
10624  if (_internal_has_no_overlap_2d()) {
10625  if (GetArena() == nullptr) {
10626  delete constraint_.no_overlap_2d_;
10627  }
10628  clear_has_constraint();
10629  }
10630 }
10631 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
10632  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10633  if (_internal_has_no_overlap_2d()) {
10634  clear_has_constraint();
10635  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10636  if (GetArena() != nullptr) {
10637  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10638  }
10639  constraint_.no_overlap_2d_ = nullptr;
10640  return temp;
10641  } else {
10642  return nullptr;
10643  }
10644 }
10645 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
10646  return _internal_has_no_overlap_2d()
10647  ? *constraint_.no_overlap_2d_
10648  : reinterpret_cast< ::operations_research::sat::NoOverlap2DConstraintProto&>(::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
10649 }
10650 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
10651  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
10652  return _internal_no_overlap_2d();
10653 }
10654 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap_2d() {
10655  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10656  if (_internal_has_no_overlap_2d()) {
10657  clear_has_constraint();
10658  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10659  constraint_.no_overlap_2d_ = nullptr;
10660  return temp;
10661  } else {
10662  return nullptr;
10663  }
10664 }
10665 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d) {
10666  clear_constraint();
10667  if (no_overlap_2d) {
10668  set_has_no_overlap_2d();
10669  constraint_.no_overlap_2d_ = no_overlap_2d;
10670  }
10671  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
10672 }
10673 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::_internal_mutable_no_overlap_2d() {
10674  if (!_internal_has_no_overlap_2d()) {
10675  clear_constraint();
10676  set_has_no_overlap_2d();
10677  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(GetArena());
10678  }
10679  return constraint_.no_overlap_2d_;
10680 }
10681 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
10682  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
10683  return _internal_mutable_no_overlap_2d();
10684 }
10685 
10686 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
10687 inline bool ConstraintProto::_internal_has_cumulative() const {
10688  return constraint_case() == kCumulative;
10689 }
10690 inline bool ConstraintProto::has_cumulative() const {
10691  return _internal_has_cumulative();
10692 }
10693 inline void ConstraintProto::set_has_cumulative() {
10694  _oneof_case_[0] = kCumulative;
10695 }
10696 inline void ConstraintProto::clear_cumulative() {
10697  if (_internal_has_cumulative()) {
10698  if (GetArena() == nullptr) {
10699  delete constraint_.cumulative_;
10700  }
10701  clear_has_constraint();
10702  }
10703 }
10704 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
10705  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
10706  if (_internal_has_cumulative()) {
10707  clear_has_constraint();
10708  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10709  if (GetArena() != nullptr) {
10710  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10711  }
10712  constraint_.cumulative_ = nullptr;
10713  return temp;
10714  } else {
10715  return nullptr;
10716  }
10717 }
10718 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
10719  return _internal_has_cumulative()
10720  ? *constraint_.cumulative_
10721  : reinterpret_cast< ::operations_research::sat::CumulativeConstraintProto&>(::operations_research::sat::_CumulativeConstraintProto_default_instance_);
10722 }
10723 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
10724  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
10725  return _internal_cumulative();
10726 }
10727 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::unsafe_arena_release_cumulative() {
10728  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
10729  if (_internal_has_cumulative()) {
10730  clear_has_constraint();
10731  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10732  constraint_.cumulative_ = nullptr;
10733  return temp;
10734  } else {
10735  return nullptr;
10736  }
10737 }
10738 inline void ConstraintProto::unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative) {
10739  clear_constraint();
10740  if (cumulative) {
10741  set_has_cumulative();
10742  constraint_.cumulative_ = cumulative;
10743  }
10744  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
10745 }
10746 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::_internal_mutable_cumulative() {
10747  if (!_internal_has_cumulative()) {
10748  clear_constraint();
10749  set_has_cumulative();
10750  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(GetArena());
10751  }
10752  return constraint_.cumulative_;
10753 }
10754 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
10755  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
10756  return _internal_mutable_cumulative();
10757 }
10758 
10759 inline bool ConstraintProto::has_constraint() const {
10760  return constraint_case() != CONSTRAINT_NOT_SET;
10761 }
10762 inline void ConstraintProto::clear_has_constraint() {
10763  _oneof_case_[0] = CONSTRAINT_NOT_SET;
10764 }
10765 inline ConstraintProto::ConstraintCase ConstraintProto::constraint_case() const {
10766  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
10767 }
10768 // -------------------------------------------------------------------
10769 
10770 // CpObjectiveProto
10771 
10772 // repeated int32 vars = 1;
10773 inline int CpObjectiveProto::_internal_vars_size() const {
10774  return vars_.size();
10775 }
10776 inline int CpObjectiveProto::vars_size() const {
10777  return _internal_vars_size();
10778 }
10779 inline void CpObjectiveProto::clear_vars() {
10780  vars_.Clear();
10781 }
10782 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::_internal_vars(int index) const {
10783  return vars_.Get(index);
10784 }
10785 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::vars(int index) const {
10786  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
10787  return _internal_vars(index);
10788 }
10789 inline void CpObjectiveProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10790  vars_.Set(index, value);
10791  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
10792 }
10793 inline void CpObjectiveProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10794  vars_.Add(value);
10795 }
10796 inline void CpObjectiveProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10797  _internal_add_vars(value);
10798  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
10799 }
10800 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10801 CpObjectiveProto::_internal_vars() const {
10802  return vars_;
10803 }
10804 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10805 CpObjectiveProto::vars() const {
10806  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
10807  return _internal_vars();
10808 }
10809 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10810 CpObjectiveProto::_internal_mutable_vars() {
10811  return &vars_;
10812 }
10813 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10814 CpObjectiveProto::mutable_vars() {
10815  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
10816  return _internal_mutable_vars();
10817 }
10818 
10819 // repeated int64 coeffs = 4;
10820 inline int CpObjectiveProto::_internal_coeffs_size() const {
10821  return coeffs_.size();
10822 }
10823 inline int CpObjectiveProto::coeffs_size() const {
10824  return _internal_coeffs_size();
10825 }
10826 inline void CpObjectiveProto::clear_coeffs() {
10827  coeffs_.Clear();
10828 }
10829 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_coeffs(int index) const {
10830  return coeffs_.Get(index);
10831 }
10832 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::coeffs(int index) const {
10833  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
10834  return _internal_coeffs(index);
10835 }
10836 inline void CpObjectiveProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10837  coeffs_.Set(index, value);
10838  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
10839 }
10840 inline void CpObjectiveProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10841  coeffs_.Add(value);
10842 }
10843 inline void CpObjectiveProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10844  _internal_add_coeffs(value);
10845  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
10846 }
10847 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10848 CpObjectiveProto::_internal_coeffs() const {
10849  return coeffs_;
10850 }
10851 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10852 CpObjectiveProto::coeffs() const {
10853  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
10854  return _internal_coeffs();
10855 }
10856 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10857 CpObjectiveProto::_internal_mutable_coeffs() {
10858  return &coeffs_;
10859 }
10860 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10861 CpObjectiveProto::mutable_coeffs() {
10862  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
10863  return _internal_mutable_coeffs();
10864 }
10865 
10866 // double offset = 2;
10867 inline void CpObjectiveProto::clear_offset() {
10868  offset_ = 0;
10869 }
10870 inline double CpObjectiveProto::_internal_offset() const {
10871  return offset_;
10872 }
10873 inline double CpObjectiveProto::offset() const {
10874  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
10875  return _internal_offset();
10876 }
10877 inline void CpObjectiveProto::_internal_set_offset(double value) {
10878 
10879  offset_ = value;
10880 }
10881 inline void CpObjectiveProto::set_offset(double value) {
10882  _internal_set_offset(value);
10883  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
10884 }
10885 
10886 // double scaling_factor = 3;
10887 inline void CpObjectiveProto::clear_scaling_factor() {
10888  scaling_factor_ = 0;
10889 }
10890 inline double CpObjectiveProto::_internal_scaling_factor() const {
10891  return scaling_factor_;
10892 }
10893 inline double CpObjectiveProto::scaling_factor() const {
10894  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
10895  return _internal_scaling_factor();
10896 }
10897 inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
10898 
10899  scaling_factor_ = value;
10900 }
10901 inline void CpObjectiveProto::set_scaling_factor(double value) {
10902  _internal_set_scaling_factor(value);
10903  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
10904 }
10905 
10906 // repeated int64 domain = 5;
10907 inline int CpObjectiveProto::_internal_domain_size() const {
10908  return domain_.size();
10909 }
10910 inline int CpObjectiveProto::domain_size() const {
10911  return _internal_domain_size();
10912 }
10913 inline void CpObjectiveProto::clear_domain() {
10914  domain_.Clear();
10915 }
10916 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_domain(int index) const {
10917  return domain_.Get(index);
10918 }
10919 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::domain(int index) const {
10920  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
10921  return _internal_domain(index);
10922 }
10923 inline void CpObjectiveProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10924  domain_.Set(index, value);
10925  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
10926 }
10927 inline void CpObjectiveProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10928  domain_.Add(value);
10929 }
10930 inline void CpObjectiveProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10931  _internal_add_domain(value);
10932  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
10933 }
10934 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10935 CpObjectiveProto::_internal_domain() const {
10936  return domain_;
10937 }
10938 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10939 CpObjectiveProto::domain() const {
10940  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
10941  return _internal_domain();
10942 }
10943 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10944 CpObjectiveProto::_internal_mutable_domain() {
10945  return &domain_;
10946 }
10947 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10948 CpObjectiveProto::mutable_domain() {
10949  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
10950  return _internal_mutable_domain();
10951 }
10952 
10953 // -------------------------------------------------------------------
10954 
10955 // DecisionStrategyProto_AffineTransformation
10956 
10957 // int32 var = 1;
10958 inline void DecisionStrategyProto_AffineTransformation::clear_var() {
10959  var_ = 0;
10960 }
10961 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::_internal_var() const {
10962  return var_;
10963 }
10965  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10966  return _internal_var();
10967 }
10968 inline void DecisionStrategyProto_AffineTransformation::_internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10969 
10970  var_ = value;
10971 }
10972 inline void DecisionStrategyProto_AffineTransformation::set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10973  _internal_set_var(value);
10974  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10975 }
10976 
10977 // int64 offset = 2;
10978 inline void DecisionStrategyProto_AffineTransformation::clear_offset() {
10979  offset_ = PROTOBUF_LONGLONG(0);
10980 }
10981 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_offset() const {
10982  return offset_;
10983 }
10984 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::offset() const {
10985  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10986  return _internal_offset();
10987 }
10988 inline void DecisionStrategyProto_AffineTransformation::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10989 
10990  offset_ = value;
10991 }
10992 inline void DecisionStrategyProto_AffineTransformation::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10993  _internal_set_offset(value);
10994  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10995 }
10996 
10997 // int64 positive_coeff = 3;
10998 inline void DecisionStrategyProto_AffineTransformation::clear_positive_coeff() {
10999  positive_coeff_ = PROTOBUF_LONGLONG(0);
11000 }
11001 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_positive_coeff() const {
11002  return positive_coeff_;
11003 }
11004 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::positive_coeff() const {
11005  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11006  return _internal_positive_coeff();
11007 }
11008 inline void DecisionStrategyProto_AffineTransformation::_internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
11009 
11010  positive_coeff_ = value;
11011 }
11012 inline void DecisionStrategyProto_AffineTransformation::set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
11013  _internal_set_positive_coeff(value);
11014  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11015 }
11016 
11017 // -------------------------------------------------------------------
11018 
11019 // DecisionStrategyProto
11020 
11021 // repeated int32 variables = 1;
11022 inline int DecisionStrategyProto::_internal_variables_size() const {
11023  return variables_.size();
11024 }
11025 inline int DecisionStrategyProto::variables_size() const {
11026  return _internal_variables_size();
11027 }
11028 inline void DecisionStrategyProto::clear_variables() {
11029  variables_.Clear();
11030 }
11031 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::_internal_variables(int index) const {
11032  return variables_.Get(index);
11033 }
11034 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::variables(int index) const {
11035  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
11036  return _internal_variables(index);
11037 }
11038 inline void DecisionStrategyProto::set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11039  variables_.Set(index, value);
11040  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
11041 }
11042 inline void DecisionStrategyProto::_internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
11043  variables_.Add(value);
11044 }
11045 inline void DecisionStrategyProto::add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
11046  _internal_add_variables(value);
11047  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
11048 }
11049 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11050 DecisionStrategyProto::_internal_variables() const {
11051  return variables_;
11052 }
11053 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11054 DecisionStrategyProto::variables() const {
11055  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
11056  return _internal_variables();
11057 }
11058 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11059 DecisionStrategyProto::_internal_mutable_variables() {
11060  return &variables_;
11061 }
11062 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11063 DecisionStrategyProto::mutable_variables() {
11064  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
11065  return _internal_mutable_variables();
11066 }
11067 
11068 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
11069 inline void DecisionStrategyProto::clear_variable_selection_strategy() {
11070  variable_selection_strategy_ = 0;
11071 }
11072 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
11073  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
11074 }
11075 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::variable_selection_strategy() const {
11076  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11077  return _internal_variable_selection_strategy();
11078 }
11079 inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
11080 
11081  variable_selection_strategy_ = value;
11082 }
11083 inline void DecisionStrategyProto::set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
11084  _internal_set_variable_selection_strategy(value);
11085  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11086 }
11087 
11088 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
11089 inline void DecisionStrategyProto::clear_domain_reduction_strategy() {
11090  domain_reduction_strategy_ = 0;
11091 }
11092 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
11093  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
11094 }
11095 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::domain_reduction_strategy() const {
11096  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11097  return _internal_domain_reduction_strategy();
11098 }
11099 inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
11100 
11101  domain_reduction_strategy_ = value;
11102 }
11103 inline void DecisionStrategyProto::set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
11104  _internal_set_domain_reduction_strategy(value);
11105  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11106 }
11107 
11108 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
11109 inline int DecisionStrategyProto::_internal_transformations_size() const {
11110  return transformations_.size();
11111 }
11112 inline int DecisionStrategyProto::transformations_size() const {
11113  return _internal_transformations_size();
11114 }
11115 inline void DecisionStrategyProto::clear_transformations() {
11116  transformations_.Clear();
11117 }
11118 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
11119  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
11120  return transformations_.Mutable(index);
11121 }
11122 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
11123 DecisionStrategyProto::mutable_transformations() {
11124  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
11125  return &transformations_;
11126 }
11127 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::_internal_transformations(int index) const {
11128  return transformations_.Get(index);
11129 }
11130 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
11131  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
11132  return _internal_transformations(index);
11133 }
11134 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::_internal_add_transformations() {
11135  return transformations_.Add();
11136 }
11137 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
11138  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
11139  return _internal_add_transformations();
11140 }
11141 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
11142 DecisionStrategyProto::transformations() const {
11143  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
11144  return transformations_;
11145 }
11146 
11147 // -------------------------------------------------------------------
11148 
11149 // PartialVariableAssignment
11150 
11151 // repeated int32 vars = 1;
11152 inline int PartialVariableAssignment::_internal_vars_size() const {
11153  return vars_.size();
11154 }
11155 inline int PartialVariableAssignment::vars_size() const {
11156  return _internal_vars_size();
11157 }
11158 inline void PartialVariableAssignment::clear_vars() {
11159  vars_.Clear();
11160 }
11161 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::_internal_vars(int index) const {
11162  return vars_.Get(index);
11163 }
11164 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::vars(int index) const {
11165  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
11166  return _internal_vars(index);
11167 }
11168 inline void PartialVariableAssignment::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11169  vars_.Set(index, value);
11170  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
11171 }
11172 inline void PartialVariableAssignment::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11173  vars_.Add(value);
11174 }
11175 inline void PartialVariableAssignment::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11176  _internal_add_vars(value);
11177  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
11178 }
11179 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11180 PartialVariableAssignment::_internal_vars() const {
11181  return vars_;
11182 }
11183 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11184 PartialVariableAssignment::vars() const {
11185  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
11186  return _internal_vars();
11187 }
11188 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11189 PartialVariableAssignment::_internal_mutable_vars() {
11190  return &vars_;
11191 }
11192 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11193 PartialVariableAssignment::mutable_vars() {
11194  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
11195  return _internal_mutable_vars();
11196 }
11197 
11198 // repeated int64 values = 2;
11199 inline int PartialVariableAssignment::_internal_values_size() const {
11200  return values_.size();
11201 }
11202 inline int PartialVariableAssignment::values_size() const {
11203  return _internal_values_size();
11204 }
11205 inline void PartialVariableAssignment::clear_values() {
11206  values_.Clear();
11207 }
11208 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::_internal_values(int index) const {
11209  return values_.Get(index);
11210 }
11211 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::values(int index) const {
11212  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
11213  return _internal_values(index);
11214 }
11215 inline void PartialVariableAssignment::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11216  values_.Set(index, value);
11217  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
11218 }
11219 inline void PartialVariableAssignment::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
11220  values_.Add(value);
11221 }
11222 inline void PartialVariableAssignment::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
11223  _internal_add_values(value);
11224  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
11225 }
11226 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11227 PartialVariableAssignment::_internal_values() const {
11228  return values_;
11229 }
11230 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11231 PartialVariableAssignment::values() const {
11232  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
11233  return _internal_values();
11234 }
11235 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11236 PartialVariableAssignment::_internal_mutable_values() {
11237  return &values_;
11238 }
11239 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11240 PartialVariableAssignment::mutable_values() {
11241  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
11242  return _internal_mutable_values();
11243 }
11244 
11245 // -------------------------------------------------------------------
11246 
11247 // SparsePermutationProto
11248 
11249 // repeated int32 support = 1;
11250 inline int SparsePermutationProto::_internal_support_size() const {
11251  return support_.size();
11252 }
11253 inline int SparsePermutationProto::support_size() const {
11254  return _internal_support_size();
11255 }
11256 inline void SparsePermutationProto::clear_support() {
11257  support_.Clear();
11258 }
11259 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::_internal_support(int index) const {
11260  return support_.Get(index);
11261 }
11262 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::support(int index) const {
11263  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.support)
11264  return _internal_support(index);
11265 }
11266 inline void SparsePermutationProto::set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11267  support_.Set(index, value);
11268  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.support)
11269 }
11270 inline void SparsePermutationProto::_internal_add_support(::PROTOBUF_NAMESPACE_ID::int32 value) {
11271  support_.Add(value);
11272 }
11273 inline void SparsePermutationProto::add_support(::PROTOBUF_NAMESPACE_ID::int32 value) {
11274  _internal_add_support(value);
11275  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.support)
11276 }
11277 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11278 SparsePermutationProto::_internal_support() const {
11279  return support_;
11280 }
11281 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11282 SparsePermutationProto::support() const {
11283  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.support)
11284  return _internal_support();
11285 }
11286 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11287 SparsePermutationProto::_internal_mutable_support() {
11288  return &support_;
11289 }
11290 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11291 SparsePermutationProto::mutable_support() {
11292  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.support)
11293  return _internal_mutable_support();
11294 }
11295 
11296 // repeated int32 cycle_sizes = 2;
11297 inline int SparsePermutationProto::_internal_cycle_sizes_size() const {
11298  return cycle_sizes_.size();
11299 }
11300 inline int SparsePermutationProto::cycle_sizes_size() const {
11301  return _internal_cycle_sizes_size();
11302 }
11303 inline void SparsePermutationProto::clear_cycle_sizes() {
11304  cycle_sizes_.Clear();
11305 }
11306 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::_internal_cycle_sizes(int index) const {
11307  return cycle_sizes_.Get(index);
11308 }
11309 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::cycle_sizes(int index) const {
11310  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.cycle_sizes)
11311  return _internal_cycle_sizes(index);
11312 }
11313 inline void SparsePermutationProto::set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11314  cycle_sizes_.Set(index, value);
11315  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.cycle_sizes)
11316 }
11317 inline void SparsePermutationProto::_internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value) {
11318  cycle_sizes_.Add(value);
11319 }
11320 inline void SparsePermutationProto::add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value) {
11321  _internal_add_cycle_sizes(value);
11322  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.cycle_sizes)
11323 }
11324 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11325 SparsePermutationProto::_internal_cycle_sizes() const {
11326  return cycle_sizes_;
11327 }
11328 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11329 SparsePermutationProto::cycle_sizes() const {
11330  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11331  return _internal_cycle_sizes();
11332 }
11333 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11334 SparsePermutationProto::_internal_mutable_cycle_sizes() {
11335  return &cycle_sizes_;
11336 }
11337 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11338 SparsePermutationProto::mutable_cycle_sizes() {
11339  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11340  return _internal_mutable_cycle_sizes();
11341 }
11342 
11343 // -------------------------------------------------------------------
11344 
11345 // DenseMatrixProto
11346 
11347 // int32 num_rows = 1;
11348 inline void DenseMatrixProto::clear_num_rows() {
11349  num_rows_ = 0;
11350 }
11351 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_num_rows() const {
11352  return num_rows_;
11353 }
11354 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::num_rows() const {
11355  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_rows)
11356  return _internal_num_rows();
11357 }
11358 inline void DenseMatrixProto::_internal_set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value) {
11359 
11360  num_rows_ = value;
11361 }
11362 inline void DenseMatrixProto::set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value) {
11363  _internal_set_num_rows(value);
11364  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_rows)
11365 }
11366 
11367 // int32 num_cols = 2;
11368 inline void DenseMatrixProto::clear_num_cols() {
11369  num_cols_ = 0;
11370 }
11371 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_num_cols() const {
11372  return num_cols_;
11373 }
11374 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::num_cols() const {
11375  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_cols)
11376  return _internal_num_cols();
11377 }
11378 inline void DenseMatrixProto::_internal_set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value) {
11379 
11380  num_cols_ = value;
11381 }
11382 inline void DenseMatrixProto::set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value) {
11383  _internal_set_num_cols(value);
11384  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_cols)
11385 }
11386 
11387 // repeated int32 entries = 3;
11388 inline int DenseMatrixProto::_internal_entries_size() const {
11389  return entries_.size();
11390 }
11391 inline int DenseMatrixProto::entries_size() const {
11392  return _internal_entries_size();
11393 }
11394 inline void DenseMatrixProto::clear_entries() {
11395  entries_.Clear();
11396 }
11397 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_entries(int index) const {
11398  return entries_.Get(index);
11399 }
11400 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::entries(int index) const {
11401  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.entries)
11402  return _internal_entries(index);
11403 }
11404 inline void DenseMatrixProto::set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11405  entries_.Set(index, value);
11406  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.entries)
11407 }
11408 inline void DenseMatrixProto::_internal_add_entries(::PROTOBUF_NAMESPACE_ID::int32 value) {
11409  entries_.Add(value);
11410 }
11411 inline void DenseMatrixProto::add_entries(::PROTOBUF_NAMESPACE_ID::int32 value) {
11412  _internal_add_entries(value);
11413  // @@protoc_insertion_point(field_add:operations_research.sat.DenseMatrixProto.entries)
11414 }
11415 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11416 DenseMatrixProto::_internal_entries() const {
11417  return entries_;
11418 }
11419 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11420 DenseMatrixProto::entries() const {
11421  // @@protoc_insertion_point(field_list:operations_research.sat.DenseMatrixProto.entries)
11422  return _internal_entries();
11423 }
11424 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11425 DenseMatrixProto::_internal_mutable_entries() {
11426  return &entries_;
11427 }
11428 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11429 DenseMatrixProto::mutable_entries() {
11430  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DenseMatrixProto.entries)
11431  return _internal_mutable_entries();
11432 }
11433 
11434 // -------------------------------------------------------------------
11435 
11436 // SymmetryProto
11437 
11438 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
11439 inline int SymmetryProto::_internal_permutations_size() const {
11440  return permutations_.size();
11441 }
11442 inline int SymmetryProto::permutations_size() const {
11443  return _internal_permutations_size();
11444 }
11445 inline void SymmetryProto::clear_permutations() {
11446  permutations_.Clear();
11447 }
11448 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::mutable_permutations(int index) {
11449  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.permutations)
11450  return permutations_.Mutable(index);
11451 }
11452 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
11453 SymmetryProto::mutable_permutations() {
11454  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.permutations)
11455  return &permutations_;
11456 }
11457 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::_internal_permutations(int index) const {
11458  return permutations_.Get(index);
11459 }
11460 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::permutations(int index) const {
11461  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.permutations)
11462  return _internal_permutations(index);
11463 }
11464 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::_internal_add_permutations() {
11465  return permutations_.Add();
11466 }
11467 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::add_permutations() {
11468  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.permutations)
11469  return _internal_add_permutations();
11470 }
11471 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
11472 SymmetryProto::permutations() const {
11473  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.permutations)
11474  return permutations_;
11475 }
11476 
11477 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
11478 inline int SymmetryProto::_internal_orbitopes_size() const {
11479  return orbitopes_.size();
11480 }
11481 inline int SymmetryProto::orbitopes_size() const {
11482  return _internal_orbitopes_size();
11483 }
11484 inline void SymmetryProto::clear_orbitopes() {
11485  orbitopes_.Clear();
11486 }
11487 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::mutable_orbitopes(int index) {
11488  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.orbitopes)
11489  return orbitopes_.Mutable(index);
11490 }
11491 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
11492 SymmetryProto::mutable_orbitopes() {
11493  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.orbitopes)
11494  return &orbitopes_;
11495 }
11496 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::_internal_orbitopes(int index) const {
11497  return orbitopes_.Get(index);
11498 }
11499 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::orbitopes(int index) const {
11500  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.orbitopes)
11501  return _internal_orbitopes(index);
11502 }
11503 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::_internal_add_orbitopes() {
11504  return orbitopes_.Add();
11505 }
11506 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::add_orbitopes() {
11507  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.orbitopes)
11508  return _internal_add_orbitopes();
11509 }
11510 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
11511 SymmetryProto::orbitopes() const {
11512  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.orbitopes)
11513  return orbitopes_;
11514 }
11515 
11516 // -------------------------------------------------------------------
11517 
11518 // CpModelProto
11519 
11520 // string name = 1;
11521 inline void CpModelProto::clear_name() {
11522  name_.ClearToEmpty();
11523 }
11524 inline const std::string& CpModelProto::name() const {
11525  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
11526  return _internal_name();
11527 }
11528 inline void CpModelProto::set_name(const std::string& value) {
11529  _internal_set_name(value);
11530  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
11531 }
11532 inline std::string* CpModelProto::mutable_name() {
11533  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
11534  return _internal_mutable_name();
11535 }
11536 inline const std::string& CpModelProto::_internal_name() const {
11537  return name_.Get();
11538 }
11539 inline void CpModelProto::_internal_set_name(const std::string& value) {
11540 
11541  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
11542 }
11543 inline void CpModelProto::set_name(std::string&& value) {
11544 
11545  name_.Set(
11546  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
11547  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpModelProto.name)
11548 }
11549 inline void CpModelProto::set_name(const char* value) {
11550  GOOGLE_DCHECK(value != nullptr);
11551 
11552  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
11553  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpModelProto.name)
11554 }
11555 inline void CpModelProto::set_name(const char* value,
11556  size_t size) {
11557 
11558  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
11559  reinterpret_cast<const char*>(value), size), GetArena());
11560  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpModelProto.name)
11561 }
11562 inline std::string* CpModelProto::_internal_mutable_name() {
11563 
11564  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
11565 }
11566 inline std::string* CpModelProto::release_name() {
11567  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
11568  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11569 }
11570 inline void CpModelProto::set_allocated_name(std::string* name) {
11571  if (name != nullptr) {
11572 
11573  } else {
11574 
11575  }
11576  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
11577  GetArena());
11578  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
11579 }
11580 
11581 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
11582 inline int CpModelProto::_internal_variables_size() const {
11583  return variables_.size();
11584 }
11585 inline int CpModelProto::variables_size() const {
11586  return _internal_variables_size();
11587 }
11588 inline void CpModelProto::clear_variables() {
11589  variables_.Clear();
11590 }
11591 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
11592  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
11593  return variables_.Mutable(index);
11594 }
11595 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
11596 CpModelProto::mutable_variables() {
11597  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
11598  return &variables_;
11599 }
11600 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::_internal_variables(int index) const {
11601  return variables_.Get(index);
11602 }
11603 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
11604  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
11605  return _internal_variables(index);
11606 }
11607 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::_internal_add_variables() {
11608  return variables_.Add();
11609 }
11610 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
11611  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
11612  return _internal_add_variables();
11613 }
11614 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
11615 CpModelProto::variables() const {
11616  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
11617  return variables_;
11618 }
11619 
11620 // repeated .operations_research.sat.ConstraintProto constraints = 3;
11621 inline int CpModelProto::_internal_constraints_size() const {
11622  return constraints_.size();
11623 }
11624 inline int CpModelProto::constraints_size() const {
11625  return _internal_constraints_size();
11626 }
11627 inline void CpModelProto::clear_constraints() {
11628  constraints_.Clear();
11629 }
11630 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
11631  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
11632  return constraints_.Mutable(index);
11633 }
11634 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
11635 CpModelProto::mutable_constraints() {
11636  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
11637  return &constraints_;
11638 }
11639 inline const ::operations_research::sat::ConstraintProto& CpModelProto::_internal_constraints(int index) const {
11640  return constraints_.Get(index);
11641 }
11642 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
11643  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
11644  return _internal_constraints(index);
11645 }
11646 inline ::operations_research::sat::ConstraintProto* CpModelProto::_internal_add_constraints() {
11647  return constraints_.Add();
11648 }
11649 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
11650  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
11651  return _internal_add_constraints();
11652 }
11653 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
11654 CpModelProto::constraints() const {
11655  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
11656  return constraints_;
11657 }
11658 
11659 // .operations_research.sat.CpObjectiveProto objective = 4;
11660 inline bool CpModelProto::_internal_has_objective() const {
11661  return this != internal_default_instance() && objective_ != nullptr;
11662 }
11663 inline bool CpModelProto::has_objective() const {
11664  return _internal_has_objective();
11665 }
11666 inline void CpModelProto::clear_objective() {
11667  if (GetArena() == nullptr && objective_ != nullptr) {
11668  delete objective_;
11669  }
11670  objective_ = nullptr;
11671 }
11672 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
11673  const ::operations_research::sat::CpObjectiveProto* p = objective_;
11674  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::CpObjectiveProto&>(
11676 }
11677 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
11678  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
11679  return _internal_objective();
11680 }
11681 inline void CpModelProto::unsafe_arena_set_allocated_objective(
11682  ::operations_research::sat::CpObjectiveProto* objective) {
11683  if (GetArena() == nullptr) {
11684  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
11685  }
11686  objective_ = objective;
11687  if (objective) {
11688 
11689  } else {
11690 
11691  }
11692  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
11693 }
11694 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
11695 
11696  ::operations_research::sat::CpObjectiveProto* temp = objective_;
11697  objective_ = nullptr;
11698  if (GetArena() != nullptr) {
11699  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11700  }
11701  return temp;
11702 }
11703 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::unsafe_arena_release_objective() {
11704  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
11705 
11706  ::operations_research::sat::CpObjectiveProto* temp = objective_;
11707  objective_ = nullptr;
11708  return temp;
11709 }
11710 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::_internal_mutable_objective() {
11711 
11712  if (objective_ == nullptr) {
11713  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArena());
11714  objective_ = p;
11715  }
11716  return objective_;
11717 }
11718 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
11719  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
11720  return _internal_mutable_objective();
11721 }
11722 inline void CpModelProto::set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective) {
11723  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
11724  if (message_arena == nullptr) {
11725  delete objective_;
11726  }
11727  if (objective) {
11728  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
11729  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(objective);
11730  if (message_arena != submessage_arena) {
11731  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
11732  message_arena, objective, submessage_arena);
11733  }
11734 
11735  } else {
11736 
11737  }
11738  objective_ = objective;
11739  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
11740 }
11741 
11742 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
11743 inline int CpModelProto::_internal_search_strategy_size() const {
11744  return search_strategy_.size();
11745 }
11746 inline int CpModelProto::search_strategy_size() const {
11747  return _internal_search_strategy_size();
11748 }
11749 inline void CpModelProto::clear_search_strategy() {
11750  search_strategy_.Clear();
11751 }
11752 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
11753  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
11754  return search_strategy_.Mutable(index);
11755 }
11756 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
11757 CpModelProto::mutable_search_strategy() {
11758  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
11759  return &search_strategy_;
11760 }
11761 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::_internal_search_strategy(int index) const {
11762  return search_strategy_.Get(index);
11763 }
11764 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
11765  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
11766  return _internal_search_strategy(index);
11767 }
11768 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::_internal_add_search_strategy() {
11769  return search_strategy_.Add();
11770 }
11771 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
11772  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
11773  return _internal_add_search_strategy();
11774 }
11775 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
11776 CpModelProto::search_strategy() const {
11777  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
11778  return search_strategy_;
11779 }
11780 
11781 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
11782 inline bool CpModelProto::_internal_has_solution_hint() const {
11783  return this != internal_default_instance() && solution_hint_ != nullptr;
11784 }
11785 inline bool CpModelProto::has_solution_hint() const {
11786  return _internal_has_solution_hint();
11787 }
11788 inline void CpModelProto::clear_solution_hint() {
11789  if (GetArena() == nullptr && solution_hint_ != nullptr) {
11790  delete solution_hint_;
11791  }
11792  solution_hint_ = nullptr;
11793 }
11794 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
11795  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
11796  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment&>(
11798 }
11799 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
11800  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
11801  return _internal_solution_hint();
11802 }
11803 inline void CpModelProto::unsafe_arena_set_allocated_solution_hint(
11804  ::operations_research::sat::PartialVariableAssignment* solution_hint) {
11805  if (GetArena() == nullptr) {
11806  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
11807  }
11808  solution_hint_ = solution_hint;
11809  if (solution_hint) {
11810 
11811  } else {
11812 
11813  }
11814  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11815 }
11816 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
11817 
11818  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
11819  solution_hint_ = nullptr;
11820  if (GetArena() != nullptr) {
11821  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11822  }
11823  return temp;
11824 }
11825 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::unsafe_arena_release_solution_hint() {
11826  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
11827 
11828  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
11829  solution_hint_ = nullptr;
11830  return temp;
11831 }
11832 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::_internal_mutable_solution_hint() {
11833 
11834  if (solution_hint_ == nullptr) {
11835  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArena());
11836  solution_hint_ = p;
11837  }
11838  return solution_hint_;
11839 }
11840 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
11841  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
11842  return _internal_mutable_solution_hint();
11843 }
11844 inline void CpModelProto::set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint) {
11845  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
11846  if (message_arena == nullptr) {
11847  delete solution_hint_;
11848  }
11849  if (solution_hint) {
11850  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
11851  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(solution_hint);
11852  if (message_arena != submessage_arena) {
11853  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
11854  message_arena, solution_hint, submessage_arena);
11855  }
11856 
11857  } else {
11858 
11859  }
11860  solution_hint_ = solution_hint;
11861  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11862 }
11863 
11864 // repeated int32 assumptions = 7;
11865 inline int CpModelProto::_internal_assumptions_size() const {
11866  return assumptions_.size();
11867 }
11868 inline int CpModelProto::assumptions_size() const {
11869  return _internal_assumptions_size();
11870 }
11871 inline void CpModelProto::clear_assumptions() {
11872  assumptions_.Clear();
11873 }
11874 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::_internal_assumptions(int index) const {
11875  return assumptions_.Get(index);
11876 }
11877 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::assumptions(int index) const {
11878  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
11879  return _internal_assumptions(index);
11880 }
11881 inline void CpModelProto::set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11882  assumptions_.Set(index, value);
11883  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
11884 }
11885 inline void CpModelProto::_internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11886  assumptions_.Add(value);
11887 }
11888 inline void CpModelProto::add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11889  _internal_add_assumptions(value);
11890  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
11891 }
11892 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11893 CpModelProto::_internal_assumptions() const {
11894  return assumptions_;
11895 }
11896 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11897 CpModelProto::assumptions() const {
11898  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
11899  return _internal_assumptions();
11900 }
11901 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11902 CpModelProto::_internal_mutable_assumptions() {
11903  return &assumptions_;
11904 }
11905 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11906 CpModelProto::mutable_assumptions() {
11907  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
11908  return _internal_mutable_assumptions();
11909 }
11910 
11911 // .operations_research.sat.SymmetryProto symmetry = 8;
11912 inline bool CpModelProto::_internal_has_symmetry() const {
11913  return this != internal_default_instance() && symmetry_ != nullptr;
11914 }
11915 inline bool CpModelProto::has_symmetry() const {
11916  return _internal_has_symmetry();
11917 }
11918 inline void CpModelProto::clear_symmetry() {
11919  if (GetArena() == nullptr && symmetry_ != nullptr) {
11920  delete symmetry_;
11921  }
11922  symmetry_ = nullptr;
11923 }
11924 inline const ::operations_research::sat::SymmetryProto& CpModelProto::_internal_symmetry() const {
11925  const ::operations_research::sat::SymmetryProto* p = symmetry_;
11926  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::SymmetryProto&>(
11928 }
11929 inline const ::operations_research::sat::SymmetryProto& CpModelProto::symmetry() const {
11930  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.symmetry)
11931  return _internal_symmetry();
11932 }
11933 inline void CpModelProto::unsafe_arena_set_allocated_symmetry(
11934  ::operations_research::sat::SymmetryProto* symmetry) {
11935  if (GetArena() == nullptr) {
11936  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(symmetry_);
11937  }
11938  symmetry_ = symmetry;
11939  if (symmetry) {
11940 
11941  } else {
11942 
11943  }
11944  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.symmetry)
11945 }
11946 inline ::operations_research::sat::SymmetryProto* CpModelProto::release_symmetry() {
11947 
11948  ::operations_research::sat::SymmetryProto* temp = symmetry_;
11949  symmetry_ = nullptr;
11950  if (GetArena() != nullptr) {
11951  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11952  }
11953  return temp;
11954 }
11955 inline ::operations_research::sat::SymmetryProto* CpModelProto::unsafe_arena_release_symmetry() {
11956  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.symmetry)
11957 
11958  ::operations_research::sat::SymmetryProto* temp = symmetry_;
11959  symmetry_ = nullptr;
11960  return temp;
11961 }
11962 inline ::operations_research::sat::SymmetryProto* CpModelProto::_internal_mutable_symmetry() {
11963 
11964  if (symmetry_ == nullptr) {
11965  auto* p = CreateMaybeMessage<::operations_research::sat::SymmetryProto>(GetArena());
11966  symmetry_ = p;
11967  }
11968  return symmetry_;
11969 }
11970 inline ::operations_research::sat::SymmetryProto* CpModelProto::mutable_symmetry() {
11971  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.symmetry)
11972  return _internal_mutable_symmetry();
11973 }
11974 inline void CpModelProto::set_allocated_symmetry(::operations_research::sat::SymmetryProto* symmetry) {
11975  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
11976  if (message_arena == nullptr) {
11977  delete symmetry_;
11978  }
11979  if (symmetry) {
11980  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
11981  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(symmetry);
11982  if (message_arena != submessage_arena) {
11983  symmetry = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
11984  message_arena, symmetry, submessage_arena);
11985  }
11986 
11987  } else {
11988 
11989  }
11990  symmetry_ = symmetry;
11991  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.symmetry)
11992 }
11993 
11994 // -------------------------------------------------------------------
11995 
11996 // CpSolverResponse
11997 
11998 // .operations_research.sat.CpSolverStatus status = 1;
11999 inline void CpSolverResponse::clear_status() {
12000  status_ = 0;
12001 }
12002 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
12003  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
12004 }
12005 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::status() const {
12006  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
12007  return _internal_status();
12008 }
12009 inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
12010 
12011  status_ = value;
12012 }
12013 inline void CpSolverResponse::set_status(::operations_research::sat::CpSolverStatus value) {
12014  _internal_set_status(value);
12015  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
12016 }
12017 
12018 // repeated int64 solution = 2;
12019 inline int CpSolverResponse::_internal_solution_size() const {
12020  return solution_.size();
12021 }
12022 inline int CpSolverResponse::solution_size() const {
12023  return _internal_solution_size();
12024 }
12025 inline void CpSolverResponse::clear_solution() {
12026  solution_.Clear();
12027 }
12028 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution(int index) const {
12029  return solution_.Get(index);
12030 }
12031 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution(int index) const {
12032  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
12033  return _internal_solution(index);
12034 }
12035 inline void CpSolverResponse::set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12036  solution_.Set(index, value);
12037  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
12038 }
12039 inline void CpSolverResponse::_internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
12040  solution_.Add(value);
12041 }
12042 inline void CpSolverResponse::add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
12043  _internal_add_solution(value);
12044  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
12045 }
12046 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12047 CpSolverResponse::_internal_solution() const {
12048  return solution_;
12049 }
12050 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12051 CpSolverResponse::solution() const {
12052  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
12053  return _internal_solution();
12054 }
12055 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12056 CpSolverResponse::_internal_mutable_solution() {
12057  return &solution_;
12058 }
12059 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12060 CpSolverResponse::mutable_solution() {
12061  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
12062  return _internal_mutable_solution();
12063 }
12064 
12065 // double objective_value = 3;
12066 inline void CpSolverResponse::clear_objective_value() {
12067  objective_value_ = 0;
12068 }
12069 inline double CpSolverResponse::_internal_objective_value() const {
12070  return objective_value_;
12071 }
12072 inline double CpSolverResponse::objective_value() const {
12073  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
12074  return _internal_objective_value();
12075 }
12076 inline void CpSolverResponse::_internal_set_objective_value(double value) {
12077 
12078  objective_value_ = value;
12079 }
12080 inline void CpSolverResponse::set_objective_value(double value) {
12081  _internal_set_objective_value(value);
12082  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
12083 }
12084 
12085 // double best_objective_bound = 4;
12086 inline void CpSolverResponse::clear_best_objective_bound() {
12087  best_objective_bound_ = 0;
12088 }
12089 inline double CpSolverResponse::_internal_best_objective_bound() const {
12090  return best_objective_bound_;
12091 }
12092 inline double CpSolverResponse::best_objective_bound() const {
12093  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
12094  return _internal_best_objective_bound();
12095 }
12096 inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
12097 
12098  best_objective_bound_ = value;
12099 }
12100 inline void CpSolverResponse::set_best_objective_bound(double value) {
12101  _internal_set_best_objective_bound(value);
12102  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
12103 }
12104 
12105 // repeated int64 solution_lower_bounds = 18;
12106 inline int CpSolverResponse::_internal_solution_lower_bounds_size() const {
12107  return solution_lower_bounds_.size();
12108 }
12109 inline int CpSolverResponse::solution_lower_bounds_size() const {
12110  return _internal_solution_lower_bounds_size();
12111 }
12112 inline void CpSolverResponse::clear_solution_lower_bounds() {
12113  solution_lower_bounds_.Clear();
12114 }
12115 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_lower_bounds(int index) const {
12116  return solution_lower_bounds_.Get(index);
12117 }
12118 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_lower_bounds(int index) const {
12119  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12120  return _internal_solution_lower_bounds(index);
12121 }
12122 inline void CpSolverResponse::set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12123  solution_lower_bounds_.Set(index, value);
12124  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12125 }
12126 inline void CpSolverResponse::_internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12127  solution_lower_bounds_.Add(value);
12128 }
12129 inline void CpSolverResponse::add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12130  _internal_add_solution_lower_bounds(value);
12131  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12132 }
12133 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12134 CpSolverResponse::_internal_solution_lower_bounds() const {
12135  return solution_lower_bounds_;
12136 }
12137 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12138 CpSolverResponse::solution_lower_bounds() const {
12139  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12140  return _internal_solution_lower_bounds();
12141 }
12142 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12143 CpSolverResponse::_internal_mutable_solution_lower_bounds() {
12144  return &solution_lower_bounds_;
12145 }
12146 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12147 CpSolverResponse::mutable_solution_lower_bounds() {
12148  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12149  return _internal_mutable_solution_lower_bounds();
12150 }
12151 
12152 // repeated int64 solution_upper_bounds = 19;
12153 inline int CpSolverResponse::_internal_solution_upper_bounds_size() const {
12154  return solution_upper_bounds_.size();
12155 }
12156 inline int CpSolverResponse::solution_upper_bounds_size() const {
12157  return _internal_solution_upper_bounds_size();
12158 }
12159 inline void CpSolverResponse::clear_solution_upper_bounds() {
12160  solution_upper_bounds_.Clear();
12161 }
12162 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_upper_bounds(int index) const {
12163  return solution_upper_bounds_.Get(index);
12164 }
12165 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_upper_bounds(int index) const {
12166  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12167  return _internal_solution_upper_bounds(index);
12168 }
12169 inline void CpSolverResponse::set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12170  solution_upper_bounds_.Set(index, value);
12171  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12172 }
12173 inline void CpSolverResponse::_internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12174  solution_upper_bounds_.Add(value);
12175 }
12176 inline void CpSolverResponse::add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12177  _internal_add_solution_upper_bounds(value);
12178  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12179 }
12180 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12181 CpSolverResponse::_internal_solution_upper_bounds() const {
12182  return solution_upper_bounds_;
12183 }
12184 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12185 CpSolverResponse::solution_upper_bounds() const {
12186  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12187  return _internal_solution_upper_bounds();
12188 }
12189 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12190 CpSolverResponse::_internal_mutable_solution_upper_bounds() {
12191  return &solution_upper_bounds_;
12192 }
12193 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12194 CpSolverResponse::mutable_solution_upper_bounds() {
12195  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12196  return _internal_mutable_solution_upper_bounds();
12197 }
12198 
12199 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
12200 inline int CpSolverResponse::_internal_tightened_variables_size() const {
12201  return tightened_variables_.size();
12202 }
12203 inline int CpSolverResponse::tightened_variables_size() const {
12204  return _internal_tightened_variables_size();
12205 }
12206 inline void CpSolverResponse::clear_tightened_variables() {
12207  tightened_variables_.Clear();
12208 }
12209 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
12210  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
12211  return tightened_variables_.Mutable(index);
12212 }
12213 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
12214 CpSolverResponse::mutable_tightened_variables() {
12215  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
12216  return &tightened_variables_;
12217 }
12218 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::_internal_tightened_variables(int index) const {
12219  return tightened_variables_.Get(index);
12220 }
12221 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
12222  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
12223  return _internal_tightened_variables(index);
12224 }
12225 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::_internal_add_tightened_variables() {
12226  return tightened_variables_.Add();
12227 }
12228 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
12229  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
12230  return _internal_add_tightened_variables();
12231 }
12232 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
12233 CpSolverResponse::tightened_variables() const {
12234  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
12235  return tightened_variables_;
12236 }
12237 
12238 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
12239 inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
12240  return sufficient_assumptions_for_infeasibility_.size();
12241 }
12242 inline int CpSolverResponse::sufficient_assumptions_for_infeasibility_size() const {
12243  return _internal_sufficient_assumptions_for_infeasibility_size();
12244 }
12245 inline void CpSolverResponse::clear_sufficient_assumptions_for_infeasibility() {
12246  sufficient_assumptions_for_infeasibility_.Clear();
12247 }
12248 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility(int index) const {
12249  return sufficient_assumptions_for_infeasibility_.Get(index);
12250 }
12251 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
12252  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12253  return _internal_sufficient_assumptions_for_infeasibility(index);
12254 }
12255 inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
12256  sufficient_assumptions_for_infeasibility_.Set(index, value);
12257  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12258 }
12259 inline void CpSolverResponse::_internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
12260  sufficient_assumptions_for_infeasibility_.Add(value);
12261 }
12262 inline void CpSolverResponse::add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
12263  _internal_add_sufficient_assumptions_for_infeasibility(value);
12264  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12265 }
12266 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12267 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
12268  return sufficient_assumptions_for_infeasibility_;
12269 }
12270 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12271 CpSolverResponse::sufficient_assumptions_for_infeasibility() const {
12272  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12273  return _internal_sufficient_assumptions_for_infeasibility();
12274 }
12275 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12276 CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
12277  return &sufficient_assumptions_for_infeasibility_;
12278 }
12279 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12280 CpSolverResponse::mutable_sufficient_assumptions_for_infeasibility() {
12281  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12282  return _internal_mutable_sufficient_assumptions_for_infeasibility();
12283 }
12284 
12285 // bool all_solutions_were_found = 5;
12286 inline void CpSolverResponse::clear_all_solutions_were_found() {
12287  all_solutions_were_found_ = false;
12288 }
12289 inline bool CpSolverResponse::_internal_all_solutions_were_found() const {
12290  return all_solutions_were_found_;
12291 }
12292 inline bool CpSolverResponse::all_solutions_were_found() const {
12293  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.all_solutions_were_found)
12294  return _internal_all_solutions_were_found();
12295 }
12296 inline void CpSolverResponse::_internal_set_all_solutions_were_found(bool value) {
12297 
12298  all_solutions_were_found_ = value;
12299 }
12300 inline void CpSolverResponse::set_all_solutions_were_found(bool value) {
12301  _internal_set_all_solutions_were_found(value);
12302  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.all_solutions_were_found)
12303 }
12304 
12305 // int64 num_booleans = 10;
12306 inline void CpSolverResponse::clear_num_booleans() {
12307  num_booleans_ = PROTOBUF_LONGLONG(0);
12308 }
12309 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_booleans() const {
12310  return num_booleans_;
12311 }
12312 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_booleans() const {
12313  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
12314  return _internal_num_booleans();
12315 }
12316 inline void CpSolverResponse::_internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
12317 
12318  num_booleans_ = value;
12319 }
12320 inline void CpSolverResponse::set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
12321  _internal_set_num_booleans(value);
12322  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
12323 }
12324 
12325 // int64 num_conflicts = 11;
12326 inline void CpSolverResponse::clear_num_conflicts() {
12327  num_conflicts_ = PROTOBUF_LONGLONG(0);
12328 }
12329 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_conflicts() const {
12330  return num_conflicts_;
12331 }
12332 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_conflicts() const {
12333  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
12334  return _internal_num_conflicts();
12335 }
12336 inline void CpSolverResponse::_internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12337 
12338  num_conflicts_ = value;
12339 }
12340 inline void CpSolverResponse::set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12341  _internal_set_num_conflicts(value);
12342  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
12343 }
12344 
12345 // int64 num_branches = 12;
12346 inline void CpSolverResponse::clear_num_branches() {
12347  num_branches_ = PROTOBUF_LONGLONG(0);
12348 }
12349 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_branches() const {
12350  return num_branches_;
12351 }
12352 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_branches() const {
12353  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
12354  return _internal_num_branches();
12355 }
12356 inline void CpSolverResponse::_internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
12357 
12358  num_branches_ = value;
12359 }
12360 inline void CpSolverResponse::set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
12361  _internal_set_num_branches(value);
12362  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
12363 }
12364 
12365 // int64 num_binary_propagations = 13;
12366 inline void CpSolverResponse::clear_num_binary_propagations() {
12367  num_binary_propagations_ = PROTOBUF_LONGLONG(0);
12368 }
12369 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_binary_propagations() const {
12370  return num_binary_propagations_;
12371 }
12372 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_binary_propagations() const {
12373  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
12374  return _internal_num_binary_propagations();
12375 }
12376 inline void CpSolverResponse::_internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12377 
12378  num_binary_propagations_ = value;
12379 }
12380 inline void CpSolverResponse::set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12381  _internal_set_num_binary_propagations(value);
12382  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
12383 }
12384 
12385 // int64 num_integer_propagations = 14;
12386 inline void CpSolverResponse::clear_num_integer_propagations() {
12387  num_integer_propagations_ = PROTOBUF_LONGLONG(0);
12388 }
12389 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_integer_propagations() const {
12390  return num_integer_propagations_;
12391 }
12392 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_integer_propagations() const {
12393  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
12394  return _internal_num_integer_propagations();
12395 }
12396 inline void CpSolverResponse::_internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12397 
12398  num_integer_propagations_ = value;
12399 }
12400 inline void CpSolverResponse::set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12401  _internal_set_num_integer_propagations(value);
12402  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
12403 }
12404 
12405 // int64 num_restarts = 24;
12406 inline void CpSolverResponse::clear_num_restarts() {
12407  num_restarts_ = PROTOBUF_LONGLONG(0);
12408 }
12409 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_restarts() const {
12410  return num_restarts_;
12411 }
12412 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_restarts() const {
12413  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_restarts)
12414  return _internal_num_restarts();
12415 }
12416 inline void CpSolverResponse::_internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12417 
12418  num_restarts_ = value;
12419 }
12420 inline void CpSolverResponse::set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12421  _internal_set_num_restarts(value);
12422  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_restarts)
12423 }
12424 
12425 // int64 num_lp_iterations = 25;
12426 inline void CpSolverResponse::clear_num_lp_iterations() {
12427  num_lp_iterations_ = PROTOBUF_LONGLONG(0);
12428 }
12429 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_lp_iterations() const {
12430  return num_lp_iterations_;
12431 }
12432 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_lp_iterations() const {
12433  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_lp_iterations)
12434  return _internal_num_lp_iterations();
12435 }
12436 inline void CpSolverResponse::_internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12437 
12438  num_lp_iterations_ = value;
12439 }
12440 inline void CpSolverResponse::set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12441  _internal_set_num_lp_iterations(value);
12442  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_lp_iterations)
12443 }
12444 
12445 // double wall_time = 15;
12446 inline void CpSolverResponse::clear_wall_time() {
12447  wall_time_ = 0;
12448 }
12449 inline double CpSolverResponse::_internal_wall_time() const {
12450  return wall_time_;
12451 }
12452 inline double CpSolverResponse::wall_time() const {
12453  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
12454  return _internal_wall_time();
12455 }
12456 inline void CpSolverResponse::_internal_set_wall_time(double value) {
12457 
12458  wall_time_ = value;
12459 }
12460 inline void CpSolverResponse::set_wall_time(double value) {
12461  _internal_set_wall_time(value);
12462  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
12463 }
12464 
12465 // double user_time = 16;
12466 inline void CpSolverResponse::clear_user_time() {
12467  user_time_ = 0;
12468 }
12469 inline double CpSolverResponse::_internal_user_time() const {
12470  return user_time_;
12471 }
12472 inline double CpSolverResponse::user_time() const {
12473  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
12474  return _internal_user_time();
12475 }
12476 inline void CpSolverResponse::_internal_set_user_time(double value) {
12477 
12478  user_time_ = value;
12479 }
12480 inline void CpSolverResponse::set_user_time(double value) {
12481  _internal_set_user_time(value);
12482  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
12483 }
12484 
12485 // double deterministic_time = 17;
12486 inline void CpSolverResponse::clear_deterministic_time() {
12487  deterministic_time_ = 0;
12488 }
12489 inline double CpSolverResponse::_internal_deterministic_time() const {
12490  return deterministic_time_;
12491 }
12492 inline double CpSolverResponse::deterministic_time() const {
12493  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
12494  return _internal_deterministic_time();
12495 }
12496 inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
12497 
12498  deterministic_time_ = value;
12499 }
12500 inline void CpSolverResponse::set_deterministic_time(double value) {
12501  _internal_set_deterministic_time(value);
12502  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
12503 }
12504 
12505 // double primal_integral = 22;
12506 inline void CpSolverResponse::clear_primal_integral() {
12507  primal_integral_ = 0;
12508 }
12509 inline double CpSolverResponse::_internal_primal_integral() const {
12510  return primal_integral_;
12511 }
12512 inline double CpSolverResponse::primal_integral() const {
12513  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.primal_integral)
12514  return _internal_primal_integral();
12515 }
12516 inline void CpSolverResponse::_internal_set_primal_integral(double value) {
12517 
12518  primal_integral_ = value;
12519 }
12520 inline void CpSolverResponse::set_primal_integral(double value) {
12521  _internal_set_primal_integral(value);
12522  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.primal_integral)
12523 }
12524 
12525 // string solution_info = 20;
12526 inline void CpSolverResponse::clear_solution_info() {
12527  solution_info_.ClearToEmpty();
12528 }
12529 inline const std::string& CpSolverResponse::solution_info() const {
12530  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
12531  return _internal_solution_info();
12532 }
12533 inline void CpSolverResponse::set_solution_info(const std::string& value) {
12534  _internal_set_solution_info(value);
12535  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
12536 }
12537 inline std::string* CpSolverResponse::mutable_solution_info() {
12538  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
12539  return _internal_mutable_solution_info();
12540 }
12541 inline const std::string& CpSolverResponse::_internal_solution_info() const {
12542  return solution_info_.Get();
12543 }
12544 inline void CpSolverResponse::_internal_set_solution_info(const std::string& value) {
12545 
12546  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
12547 }
12548 inline void CpSolverResponse::set_solution_info(std::string&& value) {
12549 
12550  solution_info_.Set(
12551  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
12552  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.solution_info)
12553 }
12554 inline void CpSolverResponse::set_solution_info(const char* value) {
12555  GOOGLE_DCHECK(value != nullptr);
12556 
12557  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
12558  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.solution_info)
12559 }
12560 inline void CpSolverResponse::set_solution_info(const char* value,
12561  size_t size) {
12562 
12563  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
12564  reinterpret_cast<const char*>(value), size), GetArena());
12565  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.solution_info)
12566 }
12567 inline std::string* CpSolverResponse::_internal_mutable_solution_info() {
12568 
12569  return solution_info_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
12570 }
12571 inline std::string* CpSolverResponse::release_solution_info() {
12572  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
12573  return solution_info_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
12574 }
12575 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
12576  if (solution_info != nullptr) {
12577 
12578  } else {
12579 
12580  }
12581  solution_info_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info,
12582  GetArena());
12583  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
12584 }
12585 
12586 // string logs = 26;
12587 inline void CpSolverResponse::clear_logs() {
12588  logs_.ClearToEmpty();
12589 }
12590 inline const std::string& CpSolverResponse::logs() const {
12591  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.logs)
12592  return _internal_logs();
12593 }
12594 inline void CpSolverResponse::set_logs(const std::string& value) {
12595  _internal_set_logs(value);
12596  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.logs)
12597 }
12598 inline std::string* CpSolverResponse::mutable_logs() {
12599  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.logs)
12600  return _internal_mutable_logs();
12601 }
12602 inline const std::string& CpSolverResponse::_internal_logs() const {
12603  return logs_.Get();
12604 }
12605 inline void CpSolverResponse::_internal_set_logs(const std::string& value) {
12606 
12607  logs_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
12608 }
12609 inline void CpSolverResponse::set_logs(std::string&& value) {
12610 
12611  logs_.Set(
12612  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
12613  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.logs)
12614 }
12615 inline void CpSolverResponse::set_logs(const char* value) {
12616  GOOGLE_DCHECK(value != nullptr);
12617 
12618  logs_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
12619  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.logs)
12620 }
12621 inline void CpSolverResponse::set_logs(const char* value,
12622  size_t size) {
12623 
12624  logs_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
12625  reinterpret_cast<const char*>(value), size), GetArena());
12626  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.logs)
12627 }
12628 inline std::string* CpSolverResponse::_internal_mutable_logs() {
12629 
12630  return logs_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
12631 }
12632 inline std::string* CpSolverResponse::release_logs() {
12633  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.logs)
12634  return logs_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
12635 }
12636 inline void CpSolverResponse::set_allocated_logs(std::string* logs) {
12637  if (logs != nullptr) {
12638 
12639  } else {
12640 
12641  }
12642  logs_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), logs,
12643  GetArena());
12644  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.logs)
12645 }
12646 
12647 #ifdef __GNUC__
12648  #pragma GCC diagnostic pop
12649 #endif // __GNUC__
12650 // -------------------------------------------------------------------
12651 
12652 // -------------------------------------------------------------------
12653 
12654 // -------------------------------------------------------------------
12655 
12656 // -------------------------------------------------------------------
12657 
12658 // -------------------------------------------------------------------
12659 
12660 // -------------------------------------------------------------------
12661 
12662 // -------------------------------------------------------------------
12663 
12664 // -------------------------------------------------------------------
12665 
12666 // -------------------------------------------------------------------
12667 
12668 // -------------------------------------------------------------------
12669 
12670 // -------------------------------------------------------------------
12671 
12672 // -------------------------------------------------------------------
12673 
12674 // -------------------------------------------------------------------
12675 
12676 // -------------------------------------------------------------------
12677 
12678 // -------------------------------------------------------------------
12679 
12680 // -------------------------------------------------------------------
12681 
12682 // -------------------------------------------------------------------
12683 
12684 // -------------------------------------------------------------------
12685 
12686 // -------------------------------------------------------------------
12687 
12688 // -------------------------------------------------------------------
12689 
12690 // -------------------------------------------------------------------
12691 
12692 // -------------------------------------------------------------------
12693 
12694 // -------------------------------------------------------------------
12695 
12696 // -------------------------------------------------------------------
12697 
12698 // -------------------------------------------------------------------
12699 
12700 // -------------------------------------------------------------------
12701 
12702 // -------------------------------------------------------------------
12703 
12704 
12705 // @@protoc_insertion_point(namespace_scope)
12706 
12707 } // namespace sat
12708 } // namespace operations_research
12709 
12710 PROTOBUF_NAMESPACE_OPEN
12711 
12712 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
12713 template <>
12714 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
12716 }
12717 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
12718 template <>
12719 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
12721 }
12722 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
12723 template <>
12724 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
12726 }
12727 
12728 PROTOBUF_NAMESPACE_CLOSE
12729 
12730 // @@protoc_insertion_point(global_scope)
12731 
12732 #include <google/protobuf/port_undef.inc>
12733 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
int64 min
Definition: alldiff_cst.cc:138
const std::vector< IntVar * > vars_
Definition: alldiff_cst.cc:43
int64 max
Definition: alldiff_cst.cc:139
void unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4644
::operations_research::sat::BoolArgumentProto * release_at_most_one()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_label() const
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
Definition: cp_model.pb.h:1996
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1628
DecisionStrategyProto_AffineTransformation * New() const final
Definition: cp_model.pb.h:4652
AllDifferentConstraintProto(const AllDifferentConstraintProto &from)
::operations_research::sat::IntegerVariableProto * mutable_variables(int index)
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_max()
void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
LinearExpressionProto & operator=(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:759
AutomatonConstraintProto(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3382
BoolArgumentProto & operator=(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:448
DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_logs(const char *value, size_t size)
void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value)
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:271
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
LinearExpressionProto(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:750
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_head() const
void UnsafeArenaSwap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4422
static const IntegerVariableProto & default_instance()
::operations_research::sat::LinearConstraintProto * mutable_linear()
const ::operations_research::sat::DenseMatrixProto & orbitopes(int index) const
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2790
::PROTOBUF_NAMESPACE_ID::int32 num_cols() const
const ::operations_research::sat::LinearExpressionProto & size_view() const
void set_logs(const std::string &value)
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:468
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > * mutable_permutations()
ReservoirConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2422
CpObjectiveProto * New() const final
Definition: cp_model.pb.h:4430
::operations_research::sat::IntegerArgumentProto * release_int_prod()
CircuitConstraintProto(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2585
void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
void CopyFrom(const LinearConstraintProto &from)
static const std::string & DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:4920
void set_allocated_solution_info(std::string *solution_info)
::operations_research::sat::IntervalConstraintProto * release_interval()
void add_times(::PROTOBUF_NAMESPACE_ID::int32 value)
static const RoutesConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2814
void set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::BoolArgumentProto & bool_and() const
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_mod()
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
void UnsafeArenaSwap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5418
void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::BoolArgumentProto * release_bool_or()
void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const
::operations_research::sat::NoOverlap2DConstraintProto * mutable_no_overlap_2d()
void CopyFrom(const CpObjectiveProto &from)
void Swap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4794
::operations_research::sat::LinearExpressionProto * release_target()
NoOverlapConstraintProto(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1841
::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const
void unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
::operations_research::sat::ConstraintProto * add_constraints()
DecisionStrategyProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4814
static const CpSolverResponse & default_instance()
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5021
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_direct() const
static const InverseConstraintProto & default_instance()
::operations_research::sat::AutomatonConstraintProto * unsafe_arena_release_automaton()
void Swap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:628
ConstraintProto & operator=(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3652
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:295
::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const
::operations_research::sat::LinearConstraintProto * release_linear()
::operations_research::sat::ElementConstraintProto * unsafe_arena_release_element()
void set_allocated_logs(std::string *logs)
void MergeFrom(const ElementConstraintProto &from)
void CopyFrom(const CircuitConstraintProto &from)
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & demands() const
NoOverlap2DConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2050
::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const
AllDifferentConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1160
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:6032
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & support() const
LinearConstraintProto(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1251
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5030
CircuitConstraintProto * New() const final
Definition: cp_model.pb.h:2640
::operations_research::sat::TableConstraintProto * mutable_table()
::PROTOBUF_NAMESPACE_ID::int64 values(int index) const
void CopyFrom(const CpSolverResponse &from)
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2206
const ::operations_research::sat::ElementConstraintProto & element() const
void MergeFrom(const CpModelProto &from)
::operations_research::sat::CpObjectiveProto * release_objective()
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_start_view()
void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::IntervalConstraintProto & interval() const
DecisionStrategyProto & operator=(const DecisionStrategyProto &from)
Definition: cp_model.pb.h:4760
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const SymmetryProto * internal_default_instance()
Definition: cp_model.pb.h:5572
CpSolverResponse(const CpSolverResponse &from)
void unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
::operations_research::sat::LinearExpressionProto * release_start_view()
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
Definition: cp_model.pb.h:2368
void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
void Swap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1290
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:4602
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:2590
void set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_tail()
ConstraintProto(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3643
NoOverlapConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1900
::operations_research::sat::IntegerArgumentProto * mutable_int_max()
void CopyFrom(const IntervalConstraintProto &from)
const ::operations_research::sat::RoutesConstraintProto & routes() const
::operations_research::sat::IntegerArgumentProto * release_int_mod()
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_size_view(::operations_research::sat::LinearExpressionProto *size_view)
void MergeFrom(const IntegerArgumentProto &from)
CpModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5767
void set_name(const char *value, size_t size)
void Swap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1490
void set_solution_info(const std::string &value)
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::CpObjectiveProto & objective() const
void MergeFrom(const BoolArgumentProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_or()
LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
::PROTOBUF_NAMESPACE_ID::int32 index() const
CpModelProto & operator=(const CpModelProto &from)
Definition: cp_model.pb.h:5713
void Swap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1880
::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const
void UnsafeArenaSwap(CpSolverResponse *other)
Definition: cp_model.pb.h:6043
void CopyFrom(const CpModelProto &from)
void CopyFrom(const IntegerArgumentProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & assumptions() const
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
NoOverlap2DConstraintProto * New() const final
Definition: cp_model.pb.h:2046
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_xor()
static const DecisionStrategyProto & default_instance()
::operations_research::sat::DecisionStrategyProto_AffineTransformation * mutable_transformations(int index)
void UnsafeArenaSwap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1148
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1130
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:1106
::operations_research::sat::IntegerArgumentProto * mutable_int_prod()
IntegerVariableProto * New() const final
Definition: cp_model.pb.h:326
void Swap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5235
::operations_research::sat::CumulativeConstraintProto * mutable_cumulative()
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > * mutable_orbitopes()
IntervalConstraintProto * New() const final
Definition: cp_model.pb.h:1678
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4597
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
void MergeFrom(const LinearArgumentProto &from)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_target()
void MergeFrom(const DecisionStrategyProto_AffineTransformation &from)
::operations_research::sat::IntegerArgumentProto * mutable_int_mod()
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
Definition: cp_model.pb.h:4895
IntegerArgumentProto & operator=(const IntegerArgumentProto &from)
Definition: cp_model.pb.h:594
void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
DenseMatrixProto(const DenseMatrixProto &from)
BoolArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:498
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2614
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:289
CumulativeConstraintProto * New() const final
Definition: cp_model.pb.h:2232
IntegerArgumentProto(const IntegerArgumentProto &from)
void set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
::operations_research::sat::BoolArgumentProto * release_exactly_one()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & actives() const
void set_size(::PROTOBUF_NAMESPACE_ID::int32 value)
static const DecisionStrategyProto_AffineTransformation & default_instance()
::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const
void add_support(::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const PartialVariableAssignment &from)
InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_name(const std::string &value)
ConstraintProto * New() const final
Definition: cp_model.pb.h:3727
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
void Swap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3421
::operations_research::sat::LinearExpressionProto * mutable_start_view()
IntervalConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1682
NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:6025
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_tightened_variables()
LinearConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1310
void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::ReservoirConstraintProto * release_reservoir()
void CopyFrom(const ConstraintProto &from)
LinearArgumentProto & operator=(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:945
void CopyFrom(const NoOverlap2DConstraintProto &from)
::operations_research::sat::InverseConstraintProto * release_inverse()
InverseConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3266
const ::operations_research::sat::LinearArgumentProto & lin_max() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & enforcement_literal() const
::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
void add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::PartialVariableAssignment * release_solution_hint()
void Swap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:2030
void CopyFrom(const CumulativeConstraintProto &from)
AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
SymmetryProto * New() const final
Definition: cp_model.pb.h:5598
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2402
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > * mutable_transformations()
static const CircuitConstraintProto & default_instance()
DecisionStrategyProto(const DecisionStrategyProto &from)
friend void swap(SparsePermutationProto &a, SparsePermutationProto &b)
Definition: cp_model.pb.h:5232
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:3243
void UnsafeArenaSwap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2632
const ::operations_research::sat::SparsePermutationProto & permutations(int index) const
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4404
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:2621
RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::DecisionStrategyProto_AffineTransformation * add_transformations()
ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const AutomatonConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3411
void set_var(::PROTOBUF_NAMESPACE_ID::int32 value)
CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
void UnsafeArenaSwap(ConstraintProto *other)
Definition: cp_model.pb.h:3719
void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value)
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:3708
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:1256
void UnsafeArenaSwap(LinearArgumentProto *other)
Definition: cp_model.pb.h:983
::operations_research::sat::TableConstraintProto * unsafe_arena_release_table()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
::operations_research::sat::BoolArgumentProto * mutable_exactly_one()
void UnsafeArenaSwap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1888
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
::PROTOBUF_NAMESPACE_ID::int32 entries(int index) const
::operations_research::sat::SparsePermutationProto * add_permutations()
TableConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3080
TableConstraintProto(const TableConstraintProto &from)
RoutesConstraintProto(const RoutesConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int32 support(int index) const
ReservoirConstraintProto * New() const final
Definition: cp_model.pb.h:2418
::operations_research::sat::TableConstraintProto * release_table()
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_div()
void MergeFrom(const NoOverlapConstraintProto &from)
void unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
::PROTOBUF_NAMESPACE_ID::int64 starting_state() const
void CopyFrom(const RoutesConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const
NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CumulativeConstraintProto(const CumulativeConstraintProto &from)
::operations_research::sat::LinearExpressionProto * release_size_view()
SparsePermutationProto * New() const final
Definition: cp_model.pb.h:5251
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_min()
CpModelProto(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5708
::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_sufficient_assumptions_for_infeasibility()
static const InverseConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3236
DecisionStrategyProto_VariableSelectionStrategy VariableSelectionStrategy
Definition: cp_model.pb.h:4859
static const SparsePermutationProto & default_instance()
BoolArgumentProto * New() const final
Definition: cp_model.pb.h:494
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & tightened_variables() const
NoOverlapConstraintProto(const NoOverlapConstraintProto &from)
static bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableSelectionStrategy *value)
Definition: cp_model.pb.h:4890
void CopyFrom(const DecisionStrategyProto &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
::operations_research::sat::AllDifferentConstraintProto * release_all_diff()
ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_direct()
void CopyFrom(const LinearExpressionProto &from)
void CopyFrom(const DecisionStrategyProto_AffineTransformation &from)
::operations_research::sat::SymmetryProto * unsafe_arena_release_symmetry()
const ::operations_research::sat::DecisionStrategyProto_AffineTransformation & transformations(int index) const
InverseConstraintProto & operator=(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3216
::operations_research::sat::RoutesConstraintProto * mutable_routes()
static const BoolArgumentProto & default_instance()
static const ReservoirConstraintProto & default_instance()
DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static bool VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.h:4870
void set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
const ::operations_research::sat::IntegerArgumentProto & int_prod() const
::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
Definition: cp_model.pb.h:1846
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:5050
void Swap(IntegerVariableProto *other)
Definition: cp_model.pb.h:310
void MergeFrom(const CumulativeConstraintProto &from)
void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value)
void CopyFrom(const AutomatonConstraintProto &from)
void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::IntegerVariableProto & variables(int index) const
static const IntervalConstraintProto & default_instance()
NoOverlap2DConstraintProto(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1991
::operations_research::sat::IntervalConstraintProto * mutable_interval()
::operations_research::sat::ConstraintProto * mutable_constraints(int index)
::operations_research::sat::LinearExpressionProto * add_exprs()
static const CpObjectiveProto & default_instance()
void MergeFrom(const CpSolverResponse &from)
::operations_research::sat::CircuitConstraintProto * unsafe_arena_release_circuit()
ConstraintCase constraint_case() const
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
Definition: cp_model.pb.h:5026
static const DenseMatrixProto & default_instance()
DenseMatrixProto & operator=(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5380
PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::NoOverlapConstraintProto * release_no_overlap()
::operations_research::sat::LinearConstraintProto * unsafe_arena_release_linear()
ElementConstraintProto & operator=(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1460
void unsafe_arena_set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
::operations_research::sat::PartialVariableAssignment * unsafe_arena_release_solution_hint()
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
Definition: cp_model.pb.h:1877
void Swap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1662
void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::SymmetryProto * release_symmetry()
void MergeFrom(const SparsePermutationProto &from)
::operations_research::sat::SymmetryProto * mutable_symmetry()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_tail() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DomainReductionStrategy_descriptor()
Definition: cp_model.pb.h:4916
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:4380
::operations_research::sat::CumulativeConstraintProto * release_cumulative()
::PROTOBUF_NAMESPACE_ID::int32 var() const
static const LinearExpressionProto * internal_default_instance()
Definition: cp_model.pb.h:779
void UnsafeArenaSwap(SymmetryProto *other)
Definition: cp_model.pb.h:5590
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:475
static const RoutesConstraintProto & default_instance()
void UnsafeArenaSwap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5243
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_lower_bounds() const
void add_entries(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const
void Swap(SymmetryProto *other)
Definition: cp_model.pb.h:5582
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:3212
static const CumulativeConstraintProto & default_instance()
::operations_research::sat::AutomatonConstraintProto * mutable_automaton()
const std::string & logs() const
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:786
TableConstraintProto & operator=(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3030
void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1480
void set_boxes_with_null_area_can_overlap(bool value)
::operations_research::sat::ReservoirConstraintProto * unsafe_arena_release_reservoir()
CircuitConstraintProto & operator=(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2594
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
static const TableConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3050
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & sufficient_assumptions_for_infeasibility() const
DenseMatrixProto(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5371
DecisionStrategyProto(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4755
::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const
IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
LinearExpressionProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:809
void MergeFrom(const InverseConstraintProto &from)
void set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const AllDifferentConstraintProto &from)
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:3026
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1487
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
::operations_research::sat::LinearExpressionProto * mutable_target()
void MergeFrom(const ConstraintProto &from)
void MergeFrom(const RoutesConstraintProto &from)
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2213
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
void set_status(::operations_research::sat::CpSolverStatus value)
void unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_inverse()
::operations_research::sat::LinearExpressionProto * mutable_end_view()
CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void unsafe_arena_set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
LinearArgumentProto * New() const final
Definition: cp_model.pb.h:991
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & y_intervals() const
void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & variables() const
::PROTOBUF_NAMESPACE_ID::int64 min_level() const
ReservoirConstraintProto & operator=(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2372
void unsafe_arena_set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value)
InverseConstraintProto(const InverseConstraintProto &from)
void Swap(TableConstraintProto *other)
Definition: cp_model.pb.h:3060
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:3648
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & cycle_sizes() const
void unsafe_arena_set_allocated_end_view(::operations_research::sat::LinearExpressionProto *end_view)
void unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::LinearArgumentProto * mutable_lin_min()
::operations_research::sat::NoOverlap2DConstraintProto * unsafe_arena_release_no_overlap_2d()
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::IntegerArgumentProto & int_div() const
CpObjectiveProto(const CpObjectiveProto &from)
void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
IntegerVariableProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:330
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
const ::operations_research::sat::PartialVariableAssignment & solution_hint() const
void UnsafeArenaSwap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5068
::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const
void unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
static const CpModelProto & default_instance()
static bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DomainReductionStrategy *value)
Definition: cp_model.pb.h:4926
CpSolverResponse & operator=(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:6005
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_at_most_one()
IntervalConstraintProto & operator=(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1632
void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void UnsafeArenaSwap(TableConstraintProto *other)
Definition: cp_model.pb.h:3068
static const ConstraintProto & default_instance()
SparsePermutationProto(const SparsePermutationProto &from)
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
IntegerVariableProto & operator=(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:280
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_size_view()
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_prod()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_cycle_sizes()
SymmetryProto(const SymmetryProto &from)
void CopyFrom(const IntegerVariableProto &from)
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2392
NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto &from)
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:625
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:972
CpSolverResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:6055
::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const
LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
NoOverlap2DConstraintProto & operator=(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2000
::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const
DecisionStrategyProto * New() const final
Definition: cp_model.pb.h:4810
const std::string & solution_info() const
IntegerArgumentProto & operator=(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:598
const ::operations_research::sat::TableConstraintProto & table() const
::operations_research::sat::InverseConstraintProto * mutable_inverse()
::operations_research::sat::LinearArgumentProto * release_lin_min()
void CopyFrom(const TableConstraintProto &from)
void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & times() const
IntegerArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:648
void set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
void set_allocated_end_view(::operations_research::sat::LinearExpressionProto *end_view)
::PROTOBUF_NAMESPACE_ID::int32 times(int index) const
void unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
LinearArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:995
void set_solution_info(std::string &&value)
void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
void set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value)
ElementConstraintProto(const ElementConstraintProto &from)
BoolArgumentProto(const BoolArgumentProto &from)
void set_logs(std::string &&value)
void CopyFrom(const LinearArgumentProto &from)
IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::ElementConstraintProto * mutable_element()
DecisionStrategyProto_AffineTransformation AffineTransformation
Definition: cp_model.pb.h:4857
::PROTOBUF_NAMESPACE_ID::int64 capacity() const
::operations_research::sat::IntervalConstraintProto * unsafe_arena_release_interval()
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
void Swap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2216
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_variables()
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:4411
::PROTOBUF_NAMESPACE_ID::int64 num_restarts() const
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::sat::SparsePermutationProto * mutable_permutations(int index)
::operations_research::sat::IntegerVariableProto * add_variables()
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:1287
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution() const
void UnsafeArenaSwap(LinearExpressionProto *other)
Definition: cp_model.pb.h:797
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_assumptions()
SparsePermutationProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5255
AutomatonConstraintProto * New() const final
Definition: cp_model.pb.h:3437
void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value)
InverseConstraintProto(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3207
::operations_research::sat::NoOverlapConstraintProto * mutable_no_overlap()
static const SparsePermutationProto * internal_default_instance()
Definition: cp_model.pb.h:5225
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:965
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_entries()
void Swap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4414
const ::operations_research::sat::LinearExpressionProto & target() const
void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5410
void set_solution_info(const char *value)
CpObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4434
::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const
::operations_research::sat::RoutesConstraintProto * unsafe_arena_release_routes()
CpModelProto & operator=(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5717
static const LinearConstraintProto & default_instance()
void MergeFrom(const AutomatonConstraintProto &from)
void Swap(CpSolverResponse *other)
Definition: cp_model.pb.h:6035
::operations_research::sat::AutomatonConstraintProto * release_automaton()
::operations_research::sat::BoolArgumentProto * release_bool_and()
void unsafe_arena_set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
const ::operations_research::sat::LinearArgumentProto & lin_min() const
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 size() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_times()
void MergeFrom(const LinearConstraintProto &from)
ElementConstraintProto(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1451
static const TableConstraintProto & default_instance()
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
friend void swap(CpModelProto &a, CpModelProto &b)
Definition: cp_model.pb.h:5744
AutomatonConstraintProto & operator=(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3391
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_actives()
void MergeFrom(const CpObjectiveProto &from)
void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value)
LinearArgumentProto(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:936
::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations() const
::PROTOBUF_NAMESPACE_ID::int32 sufficient_assumptions_for_infeasibility(int index) const
static const AutomatonConstraintProto & default_instance()
::operations_research::sat::LinearExpressionProto * mutable_exprs(int index)
::operations_research::sat::ElementConstraintProto * release_element()
SparsePermutationProto & operator=(const SparsePermutationProto &from)
Definition: cp_model.pb.h:5201
void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
void unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
void MergeFrom(const LinearExpressionProto &from)
static const DecisionStrategyProto_AffineTransformation * internal_default_instance()
Definition: cp_model.pb.h:4626
void Swap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1140
static const IntegerArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:618
void UnsafeArenaSwap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2832
friend void swap(DenseMatrixProto &a, DenseMatrixProto &b)
Definition: cp_model.pb.h:5407
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
SymmetryProto(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5543
void unsafe_arena_set_allocated_start_view(::operations_research::sat::LinearExpressionProto *start_view)
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const
void set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_label()
::PROTOBUF_NAMESPACE_ID::int32 assumptions(int index) const
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
Definition: cp_model.pb.h:307
void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::DecisionStrategyProto & search_strategy(int index) const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & x_intervals() const
friend void swap(DecisionStrategyProto_AffineTransformation &a, DecisionStrategyProto_AffineTransformation &b)
Definition: cp_model.pb.h:4633
AutomatonConstraintProto(const AutomatonConstraintProto &from)
LinearConstraintProto(const LinearConstraintProto &from)
CpObjectiveProto & operator=(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4384
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:5737
::operations_research::sat::RoutesConstraintProto * release_routes()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > & transformations() const
void CopyFrom(const ReservoirConstraintProto &from)
static const NoOverlapConstraintProto & default_instance()
void unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_and()
::operations_research::sat::DenseMatrixProto * add_orbitopes()
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:4784
::operations_research::sat::BoolArgumentProto * mutable_at_most_one()
SymmetryProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5602
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:4906
BoolArgumentProto(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:439
static const LinearArgumentProto & default_instance()
void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CumulativeConstraintProto(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2177
LinearExpressionProto(const LinearExpressionProto &from)
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::SymmetryProto & symmetry() const
void unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_support()
friend void swap(AllDifferentConstraintProto &a, AllDifferentConstraintProto &b)
Definition: cp_model.pb.h:1137
void UnsafeArenaSwap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2410
AllDifferentConstraintProto & operator=(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1110
void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4802
void unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_end_view()
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:2027
AllDifferentConstraintProto(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1101
void CopyFrom(const SparsePermutationProto &from)
void Swap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3246
void CopyFrom(const BoolArgumentProto &from)
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
::operations_research::sat::IntegerVariableProto * add_tightened_variables()
::operations_research::sat::IntegerArgumentProto * release_int_max()
void unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto *table)
::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const
TableConstraintProto * New() const final
Definition: cp_model.pb.h:3076
SymmetryProto & operator=(const SymmetryProto &from)
Definition: cp_model.pb.h:5548
void Swap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5060
CpSolverResponse(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:5996
static const NoOverlap2DConstraintProto & default_instance()
void MergeFrom(const DenseMatrixProto &from)
void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::CpObjectiveProto * mutable_objective()
LinearExpressionProto * New() const final
Definition: cp_model.pb.h:805
void unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
void Swap(BoolArgumentProto *other)
Definition: cp_model.pb.h:478
BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
DenseMatrixProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5430
::PROTOBUF_NAMESPACE_ID::int64 num_branches() const
CumulativeConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2236
void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void Swap(LinearExpressionProto *other)
Definition: cp_model.pb.h:789
const ::operations_research::sat::IntegerVariableProto & tightened_variables(int index) const
SymmetryProto & operator=(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5552
void set_start(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void Swap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4636
void UnsafeArenaSwap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1498
const ::operations_research::sat::ConstraintProto & constraints(int index) const
ReservoirConstraintProto(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2363
const ::operations_research::sat::IntegerArgumentProto & int_min() const
DecisionStrategyProto_AffineTransformation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4656
CpSolverResponse * New() const final
Definition: cp_model.pb.h:6051
friend void swap(SymmetryProto &a, SymmetryProto &b)
Definition: cp_model.pb.h:5579
void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena *arena)
RoutesConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2844
void MergeFrom(const PartialVariableAssignment &from)
void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
NoOverlapConstraintProto & operator=(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1850
::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const
static const LinearExpressionProto & default_instance()
void UnsafeArenaSwap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3429
const ::operations_research::sat::CircuitConstraintProto & circuit() const
CpModelProto(const CpModelProto &from)
::operations_research::sat::ReservoirConstraintProto * mutable_reservoir()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_lower_bounds()
::operations_research::sat::LinearArgumentProto * mutable_lin_max()
void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value)
static const IntegerArgumentProto & default_instance()
::operations_research::sat::IntegerArgumentProto * release_int_min()
void UnsafeArenaSwap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:2038
::operations_research::sat::CpSolverStatus status() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
DecisionStrategyProto_AffineTransformation & operator=(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4606
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
ReservoirConstraintProto(const ReservoirConstraintProto &from)
static const DenseMatrixProto * internal_default_instance()
Definition: cp_model.pb.h:5400
::operations_research::sat::IntegerArgumentProto * mutable_int_div()
AllDifferentConstraintProto * New() const final
Definition: cp_model.pb.h:1156
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::operations_research::sat::LinearExpressionProto * release_end_view()
void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::LinearExpressionProto * mutable_size_view()
void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_inverse() const
::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const
void MergeFrom(const CircuitConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int64 max_level() const
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
void CopyFrom(const SymmetryProto &from)
void unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
static const std::string & VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:4884
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5080
const ::operations_research::sat::IntegerArgumentProto & int_mod() const
LinearConstraintProto & operator=(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1260
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_final_states()
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:300
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:444
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > & orbitopes() const
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
static const AllDifferentConstraintProto & default_instance()
::PROTOBUF_NAMESPACE_ID::int32 start() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & variables() const
::operations_research::sat::IntegerVariableProto * mutable_tightened_variables(int index)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > * mutable_search_strategy()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:292
DecisionStrategyProto & operator=(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4764
::operations_research::sat::DecisionStrategyProto * mutable_search_strategy(int index)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.h:4880
::operations_research::sat::DenseMatrixProto * mutable_orbitopes(int index)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
void Swap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2624
::operations_research::sat::CircuitConstraintProto * release_circuit()
::operations_research::sat::InverseConstraintProto * unsafe_arena_release_inverse()
const ::operations_research::sat::InverseConstraintProto & inverse() const
void UnsafeArenaSwap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:636
void Swap(ConstraintProto *other)
Definition: cp_model.pb.h:3711
::operations_research::sat::BoolArgumentProto * mutable_bool_and()
void UnsafeArenaSwap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3254
DenseMatrixProto & operator=(const DenseMatrixProto &from)
Definition: cp_model.pb.h:5376
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2821
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1870
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_min()
::operations_research::sat::IntegerArgumentProto * mutable_int_min()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > & permutations() const
const ::operations_research::sat::BoolArgumentProto & bool_or() const
::PROTOBUF_NAMESPACE_ID::int32 target() const
RoutesConstraintProto * New() const final
Definition: cp_model.pb.h:2840
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_demands()
CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_y_intervals()
IntervalConstraintProto(const IntervalConstraintProto &from)
void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value)
void unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
::operations_research::sat::BoolArgumentProto * release_bool_xor()
void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const ReservoirConstraintProto &from)
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
Definition: cp_model.pb.h:2399
LinearArgumentProto(const LinearArgumentProto &from)
void Swap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2824
PartialVariableAssignment(const PartialVariableAssignment &from)
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1280
void set_solution_info(const char *value, size_t size)
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:1456
void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1670
void unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_enforcement_literal()
const ::operations_research::sat::IntegerArgumentProto & int_max() const
DenseMatrixProto * New() const final
Definition: cp_model.pb.h:5426
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::IntegerArgumentProto * release_int_div()
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::NoOverlap2DConstraintProto * release_no_overlap_2d()
void UnsafeArenaSwap(CpModelProto *other)
Definition: cp_model.pb.h:5755
RoutesConstraintProto & operator=(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2794
void CopyFrom(const DenseMatrixProto &from)
::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const
::operations_research::sat::CircuitConstraintProto * mutable_circuit()
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:276
::operations_research::sat::PartialVariableAssignment * mutable_solution_hint()
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3701
const std::string & name() const
void set_allocated_start_view(::operations_research::sat::LinearExpressionProto *start_view)
void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value)
IntegerArgumentProto(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:589
void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
SparsePermutationProto(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5196
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
::PROTOBUF_NAMESPACE_ID::int32 capacity() const
void set_index(::PROTOBUF_NAMESPACE_ID::int32 value)
LinearArgumentProto & operator=(const LinearArgumentProto &from)
Definition: cp_model.pb.h:941
::operations_research::sat::CumulativeConstraintProto * unsafe_arena_release_cumulative()
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:3057
CircuitConstraintProto(const CircuitConstraintProto &from)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_exactly_one()
LinearExpressionProto & operator=(const LinearExpressionProto &from)
Definition: cp_model.pb.h:755
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2020
CircuitConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2644
void set_name(std::string &&value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_upper_bounds()
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
void MergeFrom(const IntervalConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > & constraints() const
::operations_research::sat::CpObjectiveProto * unsafe_arena_release_objective()
::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const
AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
::operations_research::sat::LinearArgumentProto * release_lin_max()
TableConstraintProto(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3021
::PROTOBUF_NAMESPACE_ID::int64 offset() const
IntegerVariableProto(const IntegerVariableProto &from)
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & entries() const
::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const
void MergeFrom(const DecisionStrategyProto &from)
CpModelProto * New() const final
Definition: cp_model.pb.h:5763
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1652
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
void unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation &from)
::PROTOBUF_NAMESPACE_ID::int32 end() const
TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_head()
void set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_max()
const ::operations_research::sat::LinearExpressionProto & end_view() const
CpSolverResponse & operator=(const CpSolverResponse &from)
Definition: cp_model.pb.h:6001
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1659
void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const TableConstraintProto &from)
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:3387
ConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3731
static const PartialVariableAssignment & default_instance()
::operations_research::sat::NoOverlapConstraintProto * unsafe_arena_release_no_overlap()
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:2182
void set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
AutomatonConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3441
NoOverlapConstraintProto * New() const final
Definition: cp_model.pb.h:1896
void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::BoolArgumentProto * mutable_bool_or()
void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_name(std::string *name)
void UnsafeArenaSwap(IntegerVariableProto *other)
Definition: cp_model.pb.h:318
::PROTOBUF_NAMESPACE_ID::int32 cycle_sizes(int index) const
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const
::PROTOBUF_NAMESPACE_ID::int32 num_rows() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution()
void MergeFrom(const SymmetryProto &from)
static const SymmetryProto & default_instance()
const ::operations_research::sat::LinearExpressionProto & start_view() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_x_intervals()
::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const
void MergeFrom(const AllDifferentConstraintProto &from)
::operations_research::sat::AllDifferentConstraintProto * unsafe_arena_release_all_diff()
void MergeFrom(const IntegerVariableProto &from)
RoutesConstraintProto(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2785
void MergeFrom(const NoOverlap2DConstraintProto &from)
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
void UnsafeArenaSwap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2224
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(LinearArgumentProto *other)
Definition: cp_model.pb.h:975
::operations_research::sat::AllDifferentConstraintProto * mutable_all_diff()
PartialVariableAssignment * New() const final
Definition: cp_model.pb.h:5076
ConstraintProto(const ConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const
void unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
ElementConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1510
InverseConstraintProto * New() const final
Definition: cp_model.pb.h:3262
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:5057
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:4791
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_upper_bounds() const
void CopyFrom(const InverseConstraintProto &from)
CumulativeConstraintProto & operator=(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2186
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
IntervalConstraintProto(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1623
void unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
LinearConstraintProto * New() const final
Definition: cp_model.pb.h:1306
void CopyFrom(const NoOverlapConstraintProto &from)
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & final_states() const
::operations_research::sat::BoolArgumentProto * mutable_bool_xor()
::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const
void unsafe_arena_set_allocated_size_view(::operations_research::sat::LinearExpressionProto *size_view)
CpObjectiveProto(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4375
void UnsafeArenaSwap(BoolArgumentProto *other)
Definition: cp_model.pb.h:486
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
SparsePermutationProto & operator=(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5205
const ::operations_research::sat::LinearConstraintProto & linear() const
void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void UnsafeArenaSwap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1298
ElementConstraintProto * New() const final
Definition: cp_model.pb.h:1506
static const ElementConstraintProto & default_instance()
void set_end(::PROTOBUF_NAMESPACE_ID::int32 value)
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3418
void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
void CopyFrom(const ElementConstraintProto &from)
void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_variables()
const ::operations_research::sat::BoolArgumentProto & exactly_one() const
void unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
IntegerArgumentProto * New() const final
Definition: cp_model.pb.h:644
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
const std::string name
int64 value
IntVar * var
Definition: expr_array.cc:1858
unsigned int uint32
int int32
int64_t int64
unsigned char uint8
const int64 offset_
Definition: interval.cc:2076
class operations_research::sat::SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
Definition: cp_model.pb.h:135
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:189
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:212
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:211
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:213
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF
Definition: cp_model.pb.h:209
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE
Definition: cp_model.pb.h:207
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE
Definition: cp_model.pb.h:208
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF
Definition: cp_model.pb.h:210
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
class operations_research::sat::InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.h:108
class operations_research::sat::CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.h:78
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
class operations_research::sat::LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.h:111
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:190
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:217
class operations_research::sat::IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
Definition: cp_model.pb.h:99
class operations_research::sat::IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
Definition: cp_model.pb.h:102
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:201
class operations_research::sat::CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
Definition: cp_model.pb.h:75
class operations_research::sat::DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.h:90
class operations_research::sat::AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.h:60
class operations_research::sat::NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.h:120
class operations_research::sat::IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.h:105
class operations_research::sat::RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.h:132
class operations_research::sat::BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
Definition: cp_model.pb.h:66
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:244
class operations_research::sat::DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.h:87
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:246
bool DecisionStrategyProto_DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:229
class operations_research::sat::LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.h:114
class operations_research::sat::CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.h:81
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
class operations_research::sat::NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.h:123
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:183
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:184
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:180
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:181
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST
Definition: cp_model.pb.h:179
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:182
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:185
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:245
class operations_research::sat::ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.h:96
class operations_research::sat::SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
Definition: cp_model.pb.h:138
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:194
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:218
class operations_research::sat::AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.h:63
const std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:222
class operations_research::sat::LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.h:117
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
bool CpSolverStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus *value)
Definition: cp_model.pb.h:257
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:188
class operations_research::sat::DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
Definition: cp_model.pb.h:93
class operations_research::sat::PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.h:126
bool CpSolverStatus_IsValid(int value)
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:216
class operations_research::sat::CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.h:69
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
class operations_research::sat::TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.h:141
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:250
class operations_research::sat::CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.h:84
class operations_research::sat::ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.h:72
class operations_research::sat::ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.h:129
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
class operations_research::PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
int index
Definition: pack.cc:508
IntervalVar * interval
Definition: resource.cc:98
int64 capacity
IntVar *const objective_
Definition: search.cc:2951
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[28] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:54
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: cp_model.pb.h:53
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: cp_model.pb.h:52