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[25]
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 ElementConstraintProto;
95 class IntegerArgumentProto;
98 class IntegerVariableProto;
101 class IntervalConstraintProto;
104 class InverseConstraintProto;
107 class LinearArgumentProto;
110 class LinearConstraintProto;
113 class LinearExpressionProto;
116 class NoOverlap2DConstraintProto;
119 class NoOverlapConstraintProto;
122 class PartialVariableAssignment;
125 class ReservoirConstraintProto;
128 class RoutesConstraintProto;
131 class TableConstraintProto;
134 } // namespace sat
135 } // namespace operations_research
136 PROTOBUF_NAMESPACE_OPEN
137 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
138 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
139 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
140 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
141 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
142 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
143 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
144 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
145 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
146 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
147 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
148 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
149 template<> ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerArgumentProto>(Arena*);
150 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
151 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
152 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
153 template<> ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearArgumentProto>(Arena*);
154 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
155 template<> ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(Arena*);
156 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
157 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
158 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
159 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
160 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
161 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
162 PROTOBUF_NAMESPACE_CLOSE
163 namespace operations_research {
164 namespace sat {
165 
174 };
179 
180 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
181 template<typename T>
182 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
185  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
186  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
188 }
190  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy* value) {
191  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
193 }
202 };
207 
208 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
209 template<typename T>
210 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
213  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
214  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
216 }
218  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy* value) {
219  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
221 }
222 enum CpSolverStatus : int {
223  UNKNOWN = 0,
225  FEASIBLE = 2,
227  OPTIMAL = 4,
230 };
231 bool CpSolverStatus_IsValid(int value);
235 
236 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
237 template<typename T>
238 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
239  static_assert(::std::is_same<T, CpSolverStatus>::value ||
241  "Incorrect type passed to function CpSolverStatus_Name.");
242  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
243  CpSolverStatus_descriptor(), enum_t_value);
244 }
246  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus* value) {
247  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
249 }
250 // ===================================================================
251 
252 class IntegerVariableProto PROTOBUF_FINAL :
253  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
254  public:
255  inline IntegerVariableProto() : IntegerVariableProto(nullptr) {}
257 
258  IntegerVariableProto(const IntegerVariableProto& from);
259  IntegerVariableProto(IntegerVariableProto&& from) noexcept
260  : IntegerVariableProto() {
261  *this = ::std::move(from);
262  }
263 
264  inline IntegerVariableProto& operator=(const IntegerVariableProto& from) {
265  CopyFrom(from);
266  return *this;
267  }
268  inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
269  if (GetArena() == from.GetArena()) {
270  if (this != &from) InternalSwap(&from);
271  } else {
272  CopyFrom(from);
273  }
274  return *this;
275  }
276 
277  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
278  return GetDescriptor();
279  }
280  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
281  return GetMetadataStatic().descriptor;
282  }
283  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
284  return GetMetadataStatic().reflection;
285  }
286  static const IntegerVariableProto& default_instance();
287 
288  static inline const IntegerVariableProto* internal_default_instance() {
289  return reinterpret_cast<const IntegerVariableProto*>(
291  }
292  static constexpr int kIndexInFileMessages =
293  0;
294 
295  friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) {
296  a.Swap(&b);
297  }
298  inline void Swap(IntegerVariableProto* other) {
299  if (other == this) return;
300  if (GetArena() == other->GetArena()) {
301  InternalSwap(other);
302  } else {
303  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
304  }
305  }
306  void UnsafeArenaSwap(IntegerVariableProto* other) {
307  if (other == this) return;
308  GOOGLE_DCHECK(GetArena() == other->GetArena());
309  InternalSwap(other);
310  }
311 
312  // implements Message ----------------------------------------------
313 
314  inline IntegerVariableProto* New() const final {
315  return CreateMaybeMessage<IntegerVariableProto>(nullptr);
316  }
317 
318  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
319  return CreateMaybeMessage<IntegerVariableProto>(arena);
320  }
321  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
322  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
323  void CopyFrom(const IntegerVariableProto& from);
324  void MergeFrom(const IntegerVariableProto& from);
325  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
326  bool IsInitialized() const final;
327 
328  size_t ByteSizeLong() const final;
329  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
330  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
331  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
332  int GetCachedSize() const final { return _cached_size_.Get(); }
333 
334  private:
335  inline void SharedCtor();
336  inline void SharedDtor();
337  void SetCachedSize(int size) const final;
338  void InternalSwap(IntegerVariableProto* other);
339  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
340  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
341  return "operations_research.sat.IntegerVariableProto";
342  }
343  protected:
344  explicit IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
345  private:
346  static void ArenaDtor(void* object);
347  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
348  public:
349 
350  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
351  private:
352  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
353  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
354  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
355  }
356 
357  public:
358 
359  // nested types ----------------------------------------------------
360 
361  // accessors -------------------------------------------------------
362 
363  enum : int {
364  kDomainFieldNumber = 2,
365  kNameFieldNumber = 1,
366  };
367  // repeated int64 domain = 2;
368  int domain_size() const;
369  private:
370  int _internal_domain_size() const;
371  public:
372  void clear_domain();
373  private:
374  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
375  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
376  _internal_domain() const;
377  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
378  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
379  _internal_mutable_domain();
380  public:
384  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
385  domain() const;
386  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
388 
389  // string name = 1;
390  void clear_name();
391  const std::string& name() const;
392  void set_name(const std::string& value);
393  void set_name(std::string&& value);
394  void set_name(const char* value);
395  void set_name(const char* value, size_t size);
396  std::string* mutable_name();
397  std::string* release_name();
398  void set_allocated_name(std::string* name);
399  private:
400  const std::string& _internal_name() const;
401  void _internal_set_name(const std::string& value);
402  std::string* _internal_mutable_name();
403  public:
404 
405  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
406  private:
407  class _Internal;
408 
409  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
410  typedef void InternalArenaConstructable_;
411  typedef void DestructorSkippable_;
412  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
413  mutable std::atomic<int> _domain_cached_byte_size_;
414  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
415  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
416  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
417 };
418 // -------------------------------------------------------------------
419 
420 class BoolArgumentProto PROTOBUF_FINAL :
421  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
422  public:
423  inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
425 
426  BoolArgumentProto(const BoolArgumentProto& from);
427  BoolArgumentProto(BoolArgumentProto&& from) noexcept
428  : BoolArgumentProto() {
429  *this = ::std::move(from);
430  }
431 
432  inline BoolArgumentProto& operator=(const BoolArgumentProto& from) {
433  CopyFrom(from);
434  return *this;
435  }
436  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
437  if (GetArena() == from.GetArena()) {
438  if (this != &from) InternalSwap(&from);
439  } else {
440  CopyFrom(from);
441  }
442  return *this;
443  }
444 
445  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
446  return GetDescriptor();
447  }
448  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
449  return GetMetadataStatic().descriptor;
450  }
451  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
452  return GetMetadataStatic().reflection;
453  }
454  static const BoolArgumentProto& default_instance();
455 
456  static inline const BoolArgumentProto* internal_default_instance() {
457  return reinterpret_cast<const BoolArgumentProto*>(
459  }
460  static constexpr int kIndexInFileMessages =
461  1;
462 
463  friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) {
464  a.Swap(&b);
465  }
466  inline void Swap(BoolArgumentProto* other) {
467  if (other == this) return;
468  if (GetArena() == other->GetArena()) {
469  InternalSwap(other);
470  } else {
471  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
472  }
473  }
474  void UnsafeArenaSwap(BoolArgumentProto* other) {
475  if (other == this) return;
476  GOOGLE_DCHECK(GetArena() == other->GetArena());
477  InternalSwap(other);
478  }
479 
480  // implements Message ----------------------------------------------
481 
482  inline BoolArgumentProto* New() const final {
483  return CreateMaybeMessage<BoolArgumentProto>(nullptr);
484  }
485 
486  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
487  return CreateMaybeMessage<BoolArgumentProto>(arena);
488  }
489  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
490  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
491  void CopyFrom(const BoolArgumentProto& from);
492  void MergeFrom(const BoolArgumentProto& from);
493  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
494  bool IsInitialized() const final;
495 
496  size_t ByteSizeLong() const final;
497  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
498  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
499  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
500  int GetCachedSize() const final { return _cached_size_.Get(); }
501 
502  private:
503  inline void SharedCtor();
504  inline void SharedDtor();
505  void SetCachedSize(int size) const final;
506  void InternalSwap(BoolArgumentProto* other);
507  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
508  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
509  return "operations_research.sat.BoolArgumentProto";
510  }
511  protected:
512  explicit BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
513  private:
514  static void ArenaDtor(void* object);
515  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
516  public:
517 
518  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
519  private:
520  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
521  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
522  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
523  }
524 
525  public:
526 
527  // nested types ----------------------------------------------------
528 
529  // accessors -------------------------------------------------------
530 
531  enum : int {
532  kLiteralsFieldNumber = 1,
533  };
534  // repeated int32 literals = 1;
535  int literals_size() const;
536  private:
537  int _internal_literals_size() const;
538  public:
540  private:
541  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
542  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
543  _internal_literals() const;
544  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
545  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
546  _internal_mutable_literals();
547  public:
551  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
552  literals() const;
553  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
555 
556  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
557  private:
558  class _Internal;
559 
560  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
561  typedef void InternalArenaConstructable_;
562  typedef void DestructorSkippable_;
563  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
564  mutable std::atomic<int> _literals_cached_byte_size_;
565  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
566  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
567 };
568 // -------------------------------------------------------------------
569 
570 class IntegerArgumentProto PROTOBUF_FINAL :
571  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerArgumentProto) */ {
572  public:
573  inline IntegerArgumentProto() : IntegerArgumentProto(nullptr) {}
575 
576  IntegerArgumentProto(const IntegerArgumentProto& from);
577  IntegerArgumentProto(IntegerArgumentProto&& from) noexcept
578  : IntegerArgumentProto() {
579  *this = ::std::move(from);
580  }
581 
582  inline IntegerArgumentProto& operator=(const IntegerArgumentProto& from) {
583  CopyFrom(from);
584  return *this;
585  }
586  inline IntegerArgumentProto& operator=(IntegerArgumentProto&& from) noexcept {
587  if (GetArena() == from.GetArena()) {
588  if (this != &from) InternalSwap(&from);
589  } else {
590  CopyFrom(from);
591  }
592  return *this;
593  }
594 
595  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
596  return GetDescriptor();
597  }
598  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
599  return GetMetadataStatic().descriptor;
600  }
601  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
602  return GetMetadataStatic().reflection;
603  }
604  static const IntegerArgumentProto& default_instance();
605 
606  static inline const IntegerArgumentProto* internal_default_instance() {
607  return reinterpret_cast<const IntegerArgumentProto*>(
609  }
610  static constexpr int kIndexInFileMessages =
611  2;
612 
613  friend void swap(IntegerArgumentProto& a, IntegerArgumentProto& b) {
614  a.Swap(&b);
615  }
616  inline void Swap(IntegerArgumentProto* other) {
617  if (other == this) return;
618  if (GetArena() == other->GetArena()) {
619  InternalSwap(other);
620  } else {
621  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
622  }
623  }
624  void UnsafeArenaSwap(IntegerArgumentProto* other) {
625  if (other == this) return;
626  GOOGLE_DCHECK(GetArena() == other->GetArena());
627  InternalSwap(other);
628  }
629 
630  // implements Message ----------------------------------------------
631 
632  inline IntegerArgumentProto* New() const final {
633  return CreateMaybeMessage<IntegerArgumentProto>(nullptr);
634  }
635 
636  IntegerArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
637  return CreateMaybeMessage<IntegerArgumentProto>(arena);
638  }
639  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
640  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
641  void CopyFrom(const IntegerArgumentProto& from);
642  void MergeFrom(const IntegerArgumentProto& from);
643  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
644  bool IsInitialized() const final;
645 
646  size_t ByteSizeLong() const final;
647  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
648  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
649  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
650  int GetCachedSize() const final { return _cached_size_.Get(); }
651 
652  private:
653  inline void SharedCtor();
654  inline void SharedDtor();
655  void SetCachedSize(int size) const final;
656  void InternalSwap(IntegerArgumentProto* other);
657  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
658  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
659  return "operations_research.sat.IntegerArgumentProto";
660  }
661  protected:
662  explicit IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
663  private:
664  static void ArenaDtor(void* object);
665  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
666  public:
667 
668  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
669  private:
670  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
671  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
672  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
673  }
674 
675  public:
676 
677  // nested types ----------------------------------------------------
678 
679  // accessors -------------------------------------------------------
680 
681  enum : int {
682  kVarsFieldNumber = 2,
683  kTargetFieldNumber = 1,
684  };
685  // repeated int32 vars = 2;
686  int vars_size() const;
687  private:
688  int _internal_vars_size() const;
689  public:
690  void clear_vars();
691  private:
692  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
693  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
694  _internal_vars() const;
695  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
696  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
697  _internal_mutable_vars();
698  public:
702  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
703  vars() const;
704  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
706 
707  // int32 target = 1;
708  void clear_target();
711  private:
712  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
713  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
714  public:
715 
716  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerArgumentProto)
717  private:
718  class _Internal;
719 
720  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
721  typedef void InternalArenaConstructable_;
722  typedef void DestructorSkippable_;
723  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
724  mutable std::atomic<int> _vars_cached_byte_size_;
726  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
727  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
728 };
729 // -------------------------------------------------------------------
730 
731 class LinearExpressionProto PROTOBUF_FINAL :
732  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
733  public:
734  inline LinearExpressionProto() : LinearExpressionProto(nullptr) {}
736 
737  LinearExpressionProto(const LinearExpressionProto& from);
738  LinearExpressionProto(LinearExpressionProto&& from) noexcept
739  : LinearExpressionProto() {
740  *this = ::std::move(from);
741  }
742 
743  inline LinearExpressionProto& operator=(const LinearExpressionProto& from) {
744  CopyFrom(from);
745  return *this;
746  }
747  inline LinearExpressionProto& operator=(LinearExpressionProto&& from) noexcept {
748  if (GetArena() == from.GetArena()) {
749  if (this != &from) InternalSwap(&from);
750  } else {
751  CopyFrom(from);
752  }
753  return *this;
754  }
755 
756  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
757  return GetDescriptor();
758  }
759  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
760  return GetMetadataStatic().descriptor;
761  }
762  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
763  return GetMetadataStatic().reflection;
764  }
765  static const LinearExpressionProto& default_instance();
766 
767  static inline const LinearExpressionProto* internal_default_instance() {
768  return reinterpret_cast<const LinearExpressionProto*>(
770  }
771  static constexpr int kIndexInFileMessages =
772  3;
773 
774  friend void swap(LinearExpressionProto& a, LinearExpressionProto& b) {
775  a.Swap(&b);
776  }
777  inline void Swap(LinearExpressionProto* other) {
778  if (other == this) return;
779  if (GetArena() == other->GetArena()) {
780  InternalSwap(other);
781  } else {
782  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
783  }
784  }
785  void UnsafeArenaSwap(LinearExpressionProto* other) {
786  if (other == this) return;
787  GOOGLE_DCHECK(GetArena() == other->GetArena());
788  InternalSwap(other);
789  }
790 
791  // implements Message ----------------------------------------------
792 
793  inline LinearExpressionProto* New() const final {
794  return CreateMaybeMessage<LinearExpressionProto>(nullptr);
795  }
796 
797  LinearExpressionProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
798  return CreateMaybeMessage<LinearExpressionProto>(arena);
799  }
800  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
801  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
802  void CopyFrom(const LinearExpressionProto& from);
803  void MergeFrom(const LinearExpressionProto& from);
804  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
805  bool IsInitialized() const final;
806 
807  size_t ByteSizeLong() const final;
808  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
809  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
810  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
811  int GetCachedSize() const final { return _cached_size_.Get(); }
812 
813  private:
814  inline void SharedCtor();
815  inline void SharedDtor();
816  void SetCachedSize(int size) const final;
817  void InternalSwap(LinearExpressionProto* other);
818  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
819  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
820  return "operations_research.sat.LinearExpressionProto";
821  }
822  protected:
823  explicit LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
824  private:
825  static void ArenaDtor(void* object);
826  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
827  public:
828 
829  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
830  private:
831  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
832  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
833  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
834  }
835 
836  public:
837 
838  // nested types ----------------------------------------------------
839 
840  // accessors -------------------------------------------------------
841 
842  enum : int {
843  kVarsFieldNumber = 1,
844  kCoeffsFieldNumber = 2,
845  kOffsetFieldNumber = 3,
846  };
847  // repeated int32 vars = 1;
848  int vars_size() const;
849  private:
850  int _internal_vars_size() const;
851  public:
852  void clear_vars();
853  private:
854  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
855  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
856  _internal_vars() const;
857  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
858  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
859  _internal_mutable_vars();
860  public:
864  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
865  vars() const;
866  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
868 
869  // repeated int64 coeffs = 2;
870  int coeffs_size() const;
871  private:
872  int _internal_coeffs_size() const;
873  public:
874  void clear_coeffs();
875  private:
876  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
877  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
878  _internal_coeffs() const;
879  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
880  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
881  _internal_mutable_coeffs();
882  public:
886  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
887  coeffs() const;
888  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
890 
891  // int64 offset = 3;
892  void clear_offset();
895  private:
896  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
897  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
898  public:
899 
900  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
901  private:
902  class _Internal;
903 
904  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
905  typedef void InternalArenaConstructable_;
906  typedef void DestructorSkippable_;
907  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
908  mutable std::atomic<int> _vars_cached_byte_size_;
909  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
910  mutable std::atomic<int> _coeffs_cached_byte_size_;
912  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
913  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
914 };
915 // -------------------------------------------------------------------
916 
917 class LinearArgumentProto PROTOBUF_FINAL :
918  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
919  public:
920  inline LinearArgumentProto() : LinearArgumentProto(nullptr) {}
922 
923  LinearArgumentProto(const LinearArgumentProto& from);
924  LinearArgumentProto(LinearArgumentProto&& from) noexcept
925  : LinearArgumentProto() {
926  *this = ::std::move(from);
927  }
928 
929  inline LinearArgumentProto& operator=(const LinearArgumentProto& from) {
930  CopyFrom(from);
931  return *this;
932  }
933  inline LinearArgumentProto& operator=(LinearArgumentProto&& from) noexcept {
934  if (GetArena() == from.GetArena()) {
935  if (this != &from) InternalSwap(&from);
936  } else {
937  CopyFrom(from);
938  }
939  return *this;
940  }
941 
942  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
943  return GetDescriptor();
944  }
945  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
946  return GetMetadataStatic().descriptor;
947  }
948  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
949  return GetMetadataStatic().reflection;
950  }
951  static const LinearArgumentProto& default_instance();
952 
953  static inline const LinearArgumentProto* internal_default_instance() {
954  return reinterpret_cast<const LinearArgumentProto*>(
956  }
957  static constexpr int kIndexInFileMessages =
958  4;
959 
960  friend void swap(LinearArgumentProto& a, LinearArgumentProto& b) {
961  a.Swap(&b);
962  }
963  inline void Swap(LinearArgumentProto* other) {
964  if (other == this) return;
965  if (GetArena() == other->GetArena()) {
966  InternalSwap(other);
967  } else {
968  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
969  }
970  }
971  void UnsafeArenaSwap(LinearArgumentProto* other) {
972  if (other == this) return;
973  GOOGLE_DCHECK(GetArena() == other->GetArena());
974  InternalSwap(other);
975  }
976 
977  // implements Message ----------------------------------------------
978 
979  inline LinearArgumentProto* New() const final {
980  return CreateMaybeMessage<LinearArgumentProto>(nullptr);
981  }
982 
983  LinearArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
984  return CreateMaybeMessage<LinearArgumentProto>(arena);
985  }
986  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
987  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
988  void CopyFrom(const LinearArgumentProto& from);
989  void MergeFrom(const LinearArgumentProto& from);
990  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
991  bool IsInitialized() const final;
992 
993  size_t ByteSizeLong() const final;
994  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
995  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
996  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
997  int GetCachedSize() const final { return _cached_size_.Get(); }
998 
999  private:
1000  inline void SharedCtor();
1001  inline void SharedDtor();
1002  void SetCachedSize(int size) const final;
1003  void InternalSwap(LinearArgumentProto* other);
1004  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1005  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1006  return "operations_research.sat.LinearArgumentProto";
1007  }
1008  protected:
1009  explicit LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1010  private:
1011  static void ArenaDtor(void* object);
1012  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1013  public:
1014 
1015  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1016  private:
1017  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1018  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1019  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1020  }
1021 
1022  public:
1023 
1024  // nested types ----------------------------------------------------
1025 
1026  // accessors -------------------------------------------------------
1027 
1028  enum : int {
1029  kExprsFieldNumber = 2,
1030  kTargetFieldNumber = 1,
1031  };
1032  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1033  int exprs_size() const;
1034  private:
1035  int _internal_exprs_size() const;
1036  public:
1037  void clear_exprs();
1038  ::operations_research::sat::LinearExpressionProto* mutable_exprs(int index);
1039  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
1041  private:
1042  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
1043  ::operations_research::sat::LinearExpressionProto* _internal_add_exprs();
1044  public:
1045  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
1046  ::operations_research::sat::LinearExpressionProto* add_exprs();
1047  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
1048  exprs() const;
1049 
1050  // .operations_research.sat.LinearExpressionProto target = 1;
1051  bool has_target() const;
1052  private:
1053  bool _internal_has_target() const;
1054  public:
1056  const ::operations_research::sat::LinearExpressionProto& target() const;
1057  ::operations_research::sat::LinearExpressionProto* release_target();
1058  ::operations_research::sat::LinearExpressionProto* mutable_target();
1059  void set_allocated_target(::operations_research::sat::LinearExpressionProto* target);
1060  private:
1061  const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
1062  ::operations_research::sat::LinearExpressionProto* _internal_mutable_target();
1063  public:
1065  ::operations_research::sat::LinearExpressionProto* target);
1066  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_target();
1067 
1068  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
1069  private:
1070  class _Internal;
1071 
1072  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1073  typedef void InternalArenaConstructable_;
1074  typedef void DestructorSkippable_;
1075  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
1076  ::operations_research::sat::LinearExpressionProto* target_;
1077  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1078  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1079 };
1080 // -------------------------------------------------------------------
1081 
1082 class AllDifferentConstraintProto PROTOBUF_FINAL :
1083  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
1084  public:
1085  inline AllDifferentConstraintProto() : AllDifferentConstraintProto(nullptr) {}
1087 
1088  AllDifferentConstraintProto(const AllDifferentConstraintProto& from);
1089  AllDifferentConstraintProto(AllDifferentConstraintProto&& from) noexcept
1090  : AllDifferentConstraintProto() {
1091  *this = ::std::move(from);
1092  }
1093 
1094  inline AllDifferentConstraintProto& operator=(const AllDifferentConstraintProto& from) {
1095  CopyFrom(from);
1096  return *this;
1097  }
1098  inline AllDifferentConstraintProto& operator=(AllDifferentConstraintProto&& from) noexcept {
1099  if (GetArena() == from.GetArena()) {
1100  if (this != &from) InternalSwap(&from);
1101  } else {
1102  CopyFrom(from);
1103  }
1104  return *this;
1105  }
1106 
1107  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1108  return GetDescriptor();
1109  }
1110  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1111  return GetMetadataStatic().descriptor;
1112  }
1113  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1114  return GetMetadataStatic().reflection;
1115  }
1116  static const AllDifferentConstraintProto& default_instance();
1117 
1118  static inline const AllDifferentConstraintProto* internal_default_instance() {
1119  return reinterpret_cast<const AllDifferentConstraintProto*>(
1121  }
1122  static constexpr int kIndexInFileMessages =
1123  5;
1124 
1125  friend void swap(AllDifferentConstraintProto& a, AllDifferentConstraintProto& b) {
1126  a.Swap(&b);
1127  }
1128  inline void Swap(AllDifferentConstraintProto* other) {
1129  if (other == this) return;
1130  if (GetArena() == other->GetArena()) {
1131  InternalSwap(other);
1132  } else {
1133  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1134  }
1135  }
1136  void UnsafeArenaSwap(AllDifferentConstraintProto* other) {
1137  if (other == this) return;
1138  GOOGLE_DCHECK(GetArena() == other->GetArena());
1139  InternalSwap(other);
1140  }
1141 
1142  // implements Message ----------------------------------------------
1143 
1144  inline AllDifferentConstraintProto* New() const final {
1145  return CreateMaybeMessage<AllDifferentConstraintProto>(nullptr);
1146  }
1147 
1148  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1149  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
1150  }
1151  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1152  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1153  void CopyFrom(const AllDifferentConstraintProto& from);
1154  void MergeFrom(const AllDifferentConstraintProto& from);
1155  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1156  bool IsInitialized() const final;
1157 
1158  size_t ByteSizeLong() const final;
1159  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1160  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1161  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1162  int GetCachedSize() const final { return _cached_size_.Get(); }
1163 
1164  private:
1165  inline void SharedCtor();
1166  inline void SharedDtor();
1167  void SetCachedSize(int size) const final;
1168  void InternalSwap(AllDifferentConstraintProto* other);
1169  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1170  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1171  return "operations_research.sat.AllDifferentConstraintProto";
1172  }
1173  protected:
1174  explicit AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1175  private:
1176  static void ArenaDtor(void* object);
1177  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1178  public:
1179 
1180  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1181  private:
1182  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1183  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1184  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1185  }
1186 
1187  public:
1188 
1189  // nested types ----------------------------------------------------
1190 
1191  // accessors -------------------------------------------------------
1192 
1193  enum : int {
1194  kVarsFieldNumber = 1,
1195  };
1196  // repeated int32 vars = 1;
1197  int vars_size() const;
1198  private:
1199  int _internal_vars_size() const;
1200  public:
1201  void clear_vars();
1202  private:
1203  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1204  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1205  _internal_vars() const;
1206  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1207  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1208  _internal_mutable_vars();
1209  public:
1213  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1214  vars() const;
1215  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1217 
1218  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
1219  private:
1220  class _Internal;
1221 
1222  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1223  typedef void InternalArenaConstructable_;
1224  typedef void DestructorSkippable_;
1225  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1226  mutable std::atomic<int> _vars_cached_byte_size_;
1227  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1228  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1229 };
1230 // -------------------------------------------------------------------
1231 
1232 class LinearConstraintProto PROTOBUF_FINAL :
1233  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1234  public:
1235  inline LinearConstraintProto() : LinearConstraintProto(nullptr) {}
1237 
1238  LinearConstraintProto(const LinearConstraintProto& from);
1239  LinearConstraintProto(LinearConstraintProto&& from) noexcept
1240  : LinearConstraintProto() {
1241  *this = ::std::move(from);
1242  }
1243 
1244  inline LinearConstraintProto& operator=(const LinearConstraintProto& from) {
1245  CopyFrom(from);
1246  return *this;
1247  }
1248  inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
1249  if (GetArena() == from.GetArena()) {
1250  if (this != &from) InternalSwap(&from);
1251  } else {
1252  CopyFrom(from);
1253  }
1254  return *this;
1255  }
1256 
1257  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1258  return GetDescriptor();
1259  }
1260  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1261  return GetMetadataStatic().descriptor;
1262  }
1263  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1264  return GetMetadataStatic().reflection;
1265  }
1266  static const LinearConstraintProto& default_instance();
1267 
1268  static inline const LinearConstraintProto* internal_default_instance() {
1269  return reinterpret_cast<const LinearConstraintProto*>(
1271  }
1272  static constexpr int kIndexInFileMessages =
1273  6;
1274 
1275  friend void swap(LinearConstraintProto& a, LinearConstraintProto& b) {
1276  a.Swap(&b);
1277  }
1278  inline void Swap(LinearConstraintProto* other) {
1279  if (other == this) return;
1280  if (GetArena() == other->GetArena()) {
1281  InternalSwap(other);
1282  } else {
1283  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1284  }
1285  }
1286  void UnsafeArenaSwap(LinearConstraintProto* other) {
1287  if (other == this) return;
1288  GOOGLE_DCHECK(GetArena() == other->GetArena());
1289  InternalSwap(other);
1290  }
1291 
1292  // implements Message ----------------------------------------------
1293 
1294  inline LinearConstraintProto* New() const final {
1295  return CreateMaybeMessage<LinearConstraintProto>(nullptr);
1296  }
1297 
1298  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1299  return CreateMaybeMessage<LinearConstraintProto>(arena);
1300  }
1301  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1302  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1303  void CopyFrom(const LinearConstraintProto& from);
1304  void MergeFrom(const LinearConstraintProto& from);
1305  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1306  bool IsInitialized() const final;
1307 
1308  size_t ByteSizeLong() const final;
1309  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1310  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1311  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1312  int GetCachedSize() const final { return _cached_size_.Get(); }
1313 
1314  private:
1315  inline void SharedCtor();
1316  inline void SharedDtor();
1317  void SetCachedSize(int size) const final;
1318  void InternalSwap(LinearConstraintProto* other);
1319  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1320  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1321  return "operations_research.sat.LinearConstraintProto";
1322  }
1323  protected:
1324  explicit LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1325  private:
1326  static void ArenaDtor(void* object);
1327  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1328  public:
1329 
1330  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1331  private:
1332  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1333  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1334  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1335  }
1336 
1337  public:
1338 
1339  // nested types ----------------------------------------------------
1340 
1341  // accessors -------------------------------------------------------
1342 
1343  enum : int {
1344  kVarsFieldNumber = 1,
1345  kCoeffsFieldNumber = 2,
1346  kDomainFieldNumber = 3,
1347  };
1348  // repeated int32 vars = 1;
1349  int vars_size() const;
1350  private:
1351  int _internal_vars_size() const;
1352  public:
1353  void clear_vars();
1354  private:
1355  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1356  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1357  _internal_vars() const;
1358  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1359  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1360  _internal_mutable_vars();
1361  public:
1365  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1366  vars() const;
1367  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1369 
1370  // repeated int64 coeffs = 2;
1371  int coeffs_size() const;
1372  private:
1373  int _internal_coeffs_size() const;
1374  public:
1376  private:
1377  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
1378  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1379  _internal_coeffs() const;
1380  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1381  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1382  _internal_mutable_coeffs();
1383  public:
1387  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1388  coeffs() const;
1389  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1391 
1392  // repeated int64 domain = 3;
1393  int domain_size() const;
1394  private:
1395  int _internal_domain_size() const;
1396  public:
1398  private:
1399  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
1400  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1401  _internal_domain() const;
1402  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1403  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1404  _internal_mutable_domain();
1405  public:
1409  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1410  domain() const;
1411  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1413 
1414  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1415  private:
1416  class _Internal;
1417 
1418  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1419  typedef void InternalArenaConstructable_;
1420  typedef void DestructorSkippable_;
1421  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1422  mutable std::atomic<int> _vars_cached_byte_size_;
1423  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
1424  mutable std::atomic<int> _coeffs_cached_byte_size_;
1425  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
1426  mutable std::atomic<int> _domain_cached_byte_size_;
1427  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1428  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1429 };
1430 // -------------------------------------------------------------------
1431 
1432 class ElementConstraintProto PROTOBUF_FINAL :
1433  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
1434  public:
1435  inline ElementConstraintProto() : ElementConstraintProto(nullptr) {}
1437 
1438  ElementConstraintProto(const ElementConstraintProto& from);
1439  ElementConstraintProto(ElementConstraintProto&& from) noexcept
1440  : ElementConstraintProto() {
1441  *this = ::std::move(from);
1442  }
1443 
1444  inline ElementConstraintProto& operator=(const ElementConstraintProto& from) {
1445  CopyFrom(from);
1446  return *this;
1447  }
1448  inline ElementConstraintProto& operator=(ElementConstraintProto&& from) noexcept {
1449  if (GetArena() == from.GetArena()) {
1450  if (this != &from) InternalSwap(&from);
1451  } else {
1452  CopyFrom(from);
1453  }
1454  return *this;
1455  }
1456 
1457  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1458  return GetDescriptor();
1459  }
1460  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1461  return GetMetadataStatic().descriptor;
1462  }
1463  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1464  return GetMetadataStatic().reflection;
1465  }
1466  static const ElementConstraintProto& default_instance();
1467 
1468  static inline const ElementConstraintProto* internal_default_instance() {
1469  return reinterpret_cast<const ElementConstraintProto*>(
1471  }
1472  static constexpr int kIndexInFileMessages =
1473  7;
1474 
1475  friend void swap(ElementConstraintProto& a, ElementConstraintProto& b) {
1476  a.Swap(&b);
1477  }
1478  inline void Swap(ElementConstraintProto* other) {
1479  if (other == this) return;
1480  if (GetArena() == other->GetArena()) {
1481  InternalSwap(other);
1482  } else {
1483  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1484  }
1485  }
1486  void UnsafeArenaSwap(ElementConstraintProto* other) {
1487  if (other == this) return;
1488  GOOGLE_DCHECK(GetArena() == other->GetArena());
1489  InternalSwap(other);
1490  }
1491 
1492  // implements Message ----------------------------------------------
1493 
1494  inline ElementConstraintProto* New() const final {
1495  return CreateMaybeMessage<ElementConstraintProto>(nullptr);
1496  }
1497 
1498  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1499  return CreateMaybeMessage<ElementConstraintProto>(arena);
1500  }
1501  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1502  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1503  void CopyFrom(const ElementConstraintProto& from);
1504  void MergeFrom(const ElementConstraintProto& from);
1505  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1506  bool IsInitialized() const final;
1507 
1508  size_t ByteSizeLong() const final;
1509  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1510  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1511  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1512  int GetCachedSize() const final { return _cached_size_.Get(); }
1513 
1514  private:
1515  inline void SharedCtor();
1516  inline void SharedDtor();
1517  void SetCachedSize(int size) const final;
1518  void InternalSwap(ElementConstraintProto* other);
1519  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1520  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1521  return "operations_research.sat.ElementConstraintProto";
1522  }
1523  protected:
1524  explicit ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1525  private:
1526  static void ArenaDtor(void* object);
1527  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1528  public:
1529 
1530  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1531  private:
1532  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1533  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1534  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1535  }
1536 
1537  public:
1538 
1539  // nested types ----------------------------------------------------
1540 
1541  // accessors -------------------------------------------------------
1542 
1543  enum : int {
1544  kVarsFieldNumber = 3,
1545  kIndexFieldNumber = 1,
1546  kTargetFieldNumber = 2,
1547  };
1548  // repeated int32 vars = 3;
1549  int vars_size() const;
1550  private:
1551  int _internal_vars_size() const;
1552  public:
1553  void clear_vars();
1554  private:
1555  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1556  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1557  _internal_vars() const;
1558  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1559  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1560  _internal_mutable_vars();
1561  public:
1565  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1566  vars() const;
1567  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1569 
1570  // int32 index = 1;
1571  void clear_index();
1574  private:
1575  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
1576  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1577  public:
1578 
1579  // int32 target = 2;
1583  private:
1584  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
1585  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1586  public:
1587 
1588  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1589  private:
1590  class _Internal;
1591 
1592  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1593  typedef void InternalArenaConstructable_;
1594  typedef void DestructorSkippable_;
1595  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1596  mutable std::atomic<int> _vars_cached_byte_size_;
1599  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1600  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1601 };
1602 // -------------------------------------------------------------------
1603 
1604 class IntervalConstraintProto PROTOBUF_FINAL :
1605  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1606  public:
1607  inline IntervalConstraintProto() : IntervalConstraintProto(nullptr) {}
1609 
1610  IntervalConstraintProto(const IntervalConstraintProto& from);
1611  IntervalConstraintProto(IntervalConstraintProto&& from) noexcept
1612  : IntervalConstraintProto() {
1613  *this = ::std::move(from);
1614  }
1615 
1616  inline IntervalConstraintProto& operator=(const IntervalConstraintProto& from) {
1617  CopyFrom(from);
1618  return *this;
1619  }
1620  inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
1621  if (GetArena() == from.GetArena()) {
1622  if (this != &from) InternalSwap(&from);
1623  } else {
1624  CopyFrom(from);
1625  }
1626  return *this;
1627  }
1628 
1629  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1630  return GetDescriptor();
1631  }
1632  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1633  return GetMetadataStatic().descriptor;
1634  }
1635  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1636  return GetMetadataStatic().reflection;
1637  }
1638  static const IntervalConstraintProto& default_instance();
1639 
1640  static inline const IntervalConstraintProto* internal_default_instance() {
1641  return reinterpret_cast<const IntervalConstraintProto*>(
1643  }
1644  static constexpr int kIndexInFileMessages =
1645  8;
1646 
1647  friend void swap(IntervalConstraintProto& a, IntervalConstraintProto& b) {
1648  a.Swap(&b);
1649  }
1650  inline void Swap(IntervalConstraintProto* other) {
1651  if (other == this) return;
1652  if (GetArena() == other->GetArena()) {
1653  InternalSwap(other);
1654  } else {
1655  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1656  }
1657  }
1658  void UnsafeArenaSwap(IntervalConstraintProto* other) {
1659  if (other == this) return;
1660  GOOGLE_DCHECK(GetArena() == other->GetArena());
1661  InternalSwap(other);
1662  }
1663 
1664  // implements Message ----------------------------------------------
1665 
1666  inline IntervalConstraintProto* New() const final {
1667  return CreateMaybeMessage<IntervalConstraintProto>(nullptr);
1668  }
1669 
1670  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1671  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1672  }
1673  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1674  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1675  void CopyFrom(const IntervalConstraintProto& from);
1676  void MergeFrom(const IntervalConstraintProto& from);
1677  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1678  bool IsInitialized() const final;
1679 
1680  size_t ByteSizeLong() const final;
1681  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1682  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1683  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1684  int GetCachedSize() const final { return _cached_size_.Get(); }
1685 
1686  private:
1687  inline void SharedCtor();
1688  inline void SharedDtor();
1689  void SetCachedSize(int size) const final;
1690  void InternalSwap(IntervalConstraintProto* other);
1691  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1692  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1693  return "operations_research.sat.IntervalConstraintProto";
1694  }
1695  protected:
1696  explicit IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1697  private:
1698  static void ArenaDtor(void* object);
1699  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1700  public:
1701 
1702  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1703  private:
1704  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1705  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1706  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1707  }
1708 
1709  public:
1710 
1711  // nested types ----------------------------------------------------
1712 
1713  // accessors -------------------------------------------------------
1714 
1715  enum : int {
1716  kStartViewFieldNumber = 4,
1717  kEndViewFieldNumber = 5,
1718  kSizeViewFieldNumber = 6,
1719  kStartFieldNumber = 1,
1720  kEndFieldNumber = 2,
1721  kSizeFieldNumber = 3,
1722  };
1723  // .operations_research.sat.LinearExpressionProto start_view = 4;
1724  bool has_start_view() const;
1725  private:
1726  bool _internal_has_start_view() const;
1727  public:
1729  const ::operations_research::sat::LinearExpressionProto& start_view() const;
1730  ::operations_research::sat::LinearExpressionProto* release_start_view();
1731  ::operations_research::sat::LinearExpressionProto* mutable_start_view();
1732  void set_allocated_start_view(::operations_research::sat::LinearExpressionProto* start_view);
1733  private:
1734  const ::operations_research::sat::LinearExpressionProto& _internal_start_view() const;
1735  ::operations_research::sat::LinearExpressionProto* _internal_mutable_start_view();
1736  public:
1738  ::operations_research::sat::LinearExpressionProto* start_view);
1739  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_start_view();
1740 
1741  // .operations_research.sat.LinearExpressionProto end_view = 5;
1742  bool has_end_view() const;
1743  private:
1744  bool _internal_has_end_view() const;
1745  public:
1747  const ::operations_research::sat::LinearExpressionProto& end_view() const;
1748  ::operations_research::sat::LinearExpressionProto* release_end_view();
1749  ::operations_research::sat::LinearExpressionProto* mutable_end_view();
1750  void set_allocated_end_view(::operations_research::sat::LinearExpressionProto* end_view);
1751  private:
1752  const ::operations_research::sat::LinearExpressionProto& _internal_end_view() const;
1753  ::operations_research::sat::LinearExpressionProto* _internal_mutable_end_view();
1754  public:
1756  ::operations_research::sat::LinearExpressionProto* end_view);
1757  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_end_view();
1758 
1759  // .operations_research.sat.LinearExpressionProto size_view = 6;
1760  bool has_size_view() const;
1761  private:
1762  bool _internal_has_size_view() const;
1763  public:
1765  const ::operations_research::sat::LinearExpressionProto& size_view() const;
1766  ::operations_research::sat::LinearExpressionProto* release_size_view();
1767  ::operations_research::sat::LinearExpressionProto* mutable_size_view();
1768  void set_allocated_size_view(::operations_research::sat::LinearExpressionProto* size_view);
1769  private:
1770  const ::operations_research::sat::LinearExpressionProto& _internal_size_view() const;
1771  ::operations_research::sat::LinearExpressionProto* _internal_mutable_size_view();
1772  public:
1774  ::operations_research::sat::LinearExpressionProto* size_view);
1775  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_size_view();
1776 
1777  // int32 start = 1;
1778  void clear_start();
1781  private:
1782  ::PROTOBUF_NAMESPACE_ID::int32 _internal_start() const;
1783  void _internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1784  public:
1785 
1786  // int32 end = 2;
1787  void clear_end();
1790  private:
1791  ::PROTOBUF_NAMESPACE_ID::int32 _internal_end() const;
1792  void _internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1793  public:
1794 
1795  // int32 size = 3;
1796  void clear_size();
1799  private:
1800  ::PROTOBUF_NAMESPACE_ID::int32 _internal_size() const;
1801  void _internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1802  public:
1803 
1804  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1805  private:
1806  class _Internal;
1807 
1808  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1809  typedef void InternalArenaConstructable_;
1810  typedef void DestructorSkippable_;
1811  ::operations_research::sat::LinearExpressionProto* start_view_;
1812  ::operations_research::sat::LinearExpressionProto* end_view_;
1813  ::operations_research::sat::LinearExpressionProto* size_view_;
1817  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1818  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1819 };
1820 // -------------------------------------------------------------------
1821 
1822 class NoOverlapConstraintProto PROTOBUF_FINAL :
1823  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1824  public:
1825  inline NoOverlapConstraintProto() : NoOverlapConstraintProto(nullptr) {}
1827 
1828  NoOverlapConstraintProto(const NoOverlapConstraintProto& from);
1829  NoOverlapConstraintProto(NoOverlapConstraintProto&& from) noexcept
1830  : NoOverlapConstraintProto() {
1831  *this = ::std::move(from);
1832  }
1833 
1834  inline NoOverlapConstraintProto& operator=(const NoOverlapConstraintProto& from) {
1835  CopyFrom(from);
1836  return *this;
1837  }
1838  inline NoOverlapConstraintProto& operator=(NoOverlapConstraintProto&& from) noexcept {
1839  if (GetArena() == from.GetArena()) {
1840  if (this != &from) InternalSwap(&from);
1841  } else {
1842  CopyFrom(from);
1843  }
1844  return *this;
1845  }
1846 
1847  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1848  return GetDescriptor();
1849  }
1850  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1851  return GetMetadataStatic().descriptor;
1852  }
1853  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1854  return GetMetadataStatic().reflection;
1855  }
1856  static const NoOverlapConstraintProto& default_instance();
1857 
1858  static inline const NoOverlapConstraintProto* internal_default_instance() {
1859  return reinterpret_cast<const NoOverlapConstraintProto*>(
1861  }
1862  static constexpr int kIndexInFileMessages =
1863  9;
1864 
1865  friend void swap(NoOverlapConstraintProto& a, NoOverlapConstraintProto& b) {
1866  a.Swap(&b);
1867  }
1868  inline void Swap(NoOverlapConstraintProto* other) {
1869  if (other == this) return;
1870  if (GetArena() == other->GetArena()) {
1871  InternalSwap(other);
1872  } else {
1873  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1874  }
1875  }
1876  void UnsafeArenaSwap(NoOverlapConstraintProto* other) {
1877  if (other == this) return;
1878  GOOGLE_DCHECK(GetArena() == other->GetArena());
1879  InternalSwap(other);
1880  }
1881 
1882  // implements Message ----------------------------------------------
1883 
1884  inline NoOverlapConstraintProto* New() const final {
1885  return CreateMaybeMessage<NoOverlapConstraintProto>(nullptr);
1886  }
1887 
1888  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1889  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1890  }
1891  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1892  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1893  void CopyFrom(const NoOverlapConstraintProto& from);
1894  void MergeFrom(const NoOverlapConstraintProto& from);
1895  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1896  bool IsInitialized() const final;
1897 
1898  size_t ByteSizeLong() const final;
1899  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1900  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1901  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1902  int GetCachedSize() const final { return _cached_size_.Get(); }
1903 
1904  private:
1905  inline void SharedCtor();
1906  inline void SharedDtor();
1907  void SetCachedSize(int size) const final;
1908  void InternalSwap(NoOverlapConstraintProto* other);
1909  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1910  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1911  return "operations_research.sat.NoOverlapConstraintProto";
1912  }
1913  protected:
1914  explicit NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1915  private:
1916  static void ArenaDtor(void* object);
1917  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1918  public:
1919 
1920  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1921  private:
1922  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1923  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1924  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1925  }
1926 
1927  public:
1928 
1929  // nested types ----------------------------------------------------
1930 
1931  // accessors -------------------------------------------------------
1932 
1933  enum : int {
1934  kIntervalsFieldNumber = 1,
1935  };
1936  // repeated int32 intervals = 1;
1937  int intervals_size() const;
1938  private:
1939  int _internal_intervals_size() const;
1940  public:
1942  private:
1943  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
1944  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1945  _internal_intervals() const;
1946  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1947  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1948  _internal_mutable_intervals();
1949  public:
1953  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1954  intervals() const;
1955  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1957 
1958  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
1959  private:
1960  class _Internal;
1961 
1962  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1963  typedef void InternalArenaConstructable_;
1964  typedef void DestructorSkippable_;
1965  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
1966  mutable std::atomic<int> _intervals_cached_byte_size_;
1967  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1968  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1969 };
1970 // -------------------------------------------------------------------
1971 
1972 class NoOverlap2DConstraintProto PROTOBUF_FINAL :
1973  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
1974  public:
1975  inline NoOverlap2DConstraintProto() : NoOverlap2DConstraintProto(nullptr) {}
1977 
1978  NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto& from);
1979  NoOverlap2DConstraintProto(NoOverlap2DConstraintProto&& from) noexcept
1980  : NoOverlap2DConstraintProto() {
1981  *this = ::std::move(from);
1982  }
1983 
1984  inline NoOverlap2DConstraintProto& operator=(const NoOverlap2DConstraintProto& from) {
1985  CopyFrom(from);
1986  return *this;
1987  }
1988  inline NoOverlap2DConstraintProto& operator=(NoOverlap2DConstraintProto&& from) noexcept {
1989  if (GetArena() == from.GetArena()) {
1990  if (this != &from) InternalSwap(&from);
1991  } else {
1992  CopyFrom(from);
1993  }
1994  return *this;
1995  }
1996 
1997  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1998  return GetDescriptor();
1999  }
2000  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2001  return GetMetadataStatic().descriptor;
2002  }
2003  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2004  return GetMetadataStatic().reflection;
2005  }
2006  static const NoOverlap2DConstraintProto& default_instance();
2007 
2008  static inline const NoOverlap2DConstraintProto* internal_default_instance() {
2009  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
2011  }
2012  static constexpr int kIndexInFileMessages =
2013  10;
2014 
2015  friend void swap(NoOverlap2DConstraintProto& a, NoOverlap2DConstraintProto& b) {
2016  a.Swap(&b);
2017  }
2018  inline void Swap(NoOverlap2DConstraintProto* other) {
2019  if (other == this) return;
2020  if (GetArena() == other->GetArena()) {
2021  InternalSwap(other);
2022  } else {
2023  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2024  }
2025  }
2026  void UnsafeArenaSwap(NoOverlap2DConstraintProto* other) {
2027  if (other == this) return;
2028  GOOGLE_DCHECK(GetArena() == other->GetArena());
2029  InternalSwap(other);
2030  }
2031 
2032  // implements Message ----------------------------------------------
2033 
2034  inline NoOverlap2DConstraintProto* New() const final {
2035  return CreateMaybeMessage<NoOverlap2DConstraintProto>(nullptr);
2036  }
2037 
2038  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2039  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
2040  }
2041  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2042  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2043  void CopyFrom(const NoOverlap2DConstraintProto& from);
2044  void MergeFrom(const NoOverlap2DConstraintProto& from);
2045  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2046  bool IsInitialized() const final;
2047 
2048  size_t ByteSizeLong() const final;
2049  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2050  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2051  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2052  int GetCachedSize() const final { return _cached_size_.Get(); }
2053 
2054  private:
2055  inline void SharedCtor();
2056  inline void SharedDtor();
2057  void SetCachedSize(int size) const final;
2058  void InternalSwap(NoOverlap2DConstraintProto* other);
2059  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2060  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2061  return "operations_research.sat.NoOverlap2DConstraintProto";
2062  }
2063  protected:
2064  explicit NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2065  private:
2066  static void ArenaDtor(void* object);
2067  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2068  public:
2069 
2070  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2071  private:
2072  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2073  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2074  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2075  }
2076 
2077  public:
2078 
2079  // nested types ----------------------------------------------------
2080 
2081  // accessors -------------------------------------------------------
2082 
2083  enum : int {
2084  kXIntervalsFieldNumber = 1,
2085  kYIntervalsFieldNumber = 2,
2086  kBoxesWithNullAreaCanOverlapFieldNumber = 3,
2087  };
2088  // repeated int32 x_intervals = 1;
2089  int x_intervals_size() const;
2090  private:
2091  int _internal_x_intervals_size() const;
2092  public:
2094  private:
2095  ::PROTOBUF_NAMESPACE_ID::int32 _internal_x_intervals(int index) const;
2096  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2097  _internal_x_intervals() const;
2098  void _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2099  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2100  _internal_mutable_x_intervals();
2101  public:
2105  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2106  x_intervals() const;
2107  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2109 
2110  // repeated int32 y_intervals = 2;
2111  int y_intervals_size() const;
2112  private:
2113  int _internal_y_intervals_size() const;
2114  public:
2116  private:
2117  ::PROTOBUF_NAMESPACE_ID::int32 _internal_y_intervals(int index) const;
2118  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2119  _internal_y_intervals() const;
2120  void _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2121  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2122  _internal_mutable_y_intervals();
2123  public:
2127  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2128  y_intervals() const;
2129  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2131 
2132  // bool boxes_with_null_area_can_overlap = 3;
2136  private:
2137  bool _internal_boxes_with_null_area_can_overlap() const;
2138  void _internal_set_boxes_with_null_area_can_overlap(bool value);
2139  public:
2140 
2141  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
2142  private:
2143  class _Internal;
2144 
2145  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2146  typedef void InternalArenaConstructable_;
2147  typedef void DestructorSkippable_;
2148  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > x_intervals_;
2149  mutable std::atomic<int> _x_intervals_cached_byte_size_;
2150  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > y_intervals_;
2151  mutable std::atomic<int> _y_intervals_cached_byte_size_;
2152  bool boxes_with_null_area_can_overlap_;
2153  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2154  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2155 };
2156 // -------------------------------------------------------------------
2157 
2158 class CumulativeConstraintProto PROTOBUF_FINAL :
2159  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
2160  public:
2161  inline CumulativeConstraintProto() : CumulativeConstraintProto(nullptr) {}
2163 
2164  CumulativeConstraintProto(const CumulativeConstraintProto& from);
2165  CumulativeConstraintProto(CumulativeConstraintProto&& from) noexcept
2166  : CumulativeConstraintProto() {
2167  *this = ::std::move(from);
2168  }
2169 
2170  inline CumulativeConstraintProto& operator=(const CumulativeConstraintProto& from) {
2171  CopyFrom(from);
2172  return *this;
2173  }
2174  inline CumulativeConstraintProto& operator=(CumulativeConstraintProto&& from) noexcept {
2175  if (GetArena() == from.GetArena()) {
2176  if (this != &from) InternalSwap(&from);
2177  } else {
2178  CopyFrom(from);
2179  }
2180  return *this;
2181  }
2182 
2183  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2184  return GetDescriptor();
2185  }
2186  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2187  return GetMetadataStatic().descriptor;
2188  }
2189  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2190  return GetMetadataStatic().reflection;
2191  }
2192  static const CumulativeConstraintProto& default_instance();
2193 
2194  static inline const CumulativeConstraintProto* internal_default_instance() {
2195  return reinterpret_cast<const CumulativeConstraintProto*>(
2197  }
2198  static constexpr int kIndexInFileMessages =
2199  11;
2200 
2201  friend void swap(CumulativeConstraintProto& a, CumulativeConstraintProto& b) {
2202  a.Swap(&b);
2203  }
2204  inline void Swap(CumulativeConstraintProto* other) {
2205  if (other == this) return;
2206  if (GetArena() == other->GetArena()) {
2207  InternalSwap(other);
2208  } else {
2209  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2210  }
2211  }
2212  void UnsafeArenaSwap(CumulativeConstraintProto* other) {
2213  if (other == this) return;
2214  GOOGLE_DCHECK(GetArena() == other->GetArena());
2215  InternalSwap(other);
2216  }
2217 
2218  // implements Message ----------------------------------------------
2219 
2220  inline CumulativeConstraintProto* New() const final {
2221  return CreateMaybeMessage<CumulativeConstraintProto>(nullptr);
2222  }
2223 
2224  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2225  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
2226  }
2227  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2228  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2229  void CopyFrom(const CumulativeConstraintProto& from);
2230  void MergeFrom(const CumulativeConstraintProto& from);
2231  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2232  bool IsInitialized() const final;
2233 
2234  size_t ByteSizeLong() const final;
2235  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2236  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2237  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2238  int GetCachedSize() const final { return _cached_size_.Get(); }
2239 
2240  private:
2241  inline void SharedCtor();
2242  inline void SharedDtor();
2243  void SetCachedSize(int size) const final;
2244  void InternalSwap(CumulativeConstraintProto* other);
2245  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2246  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2247  return "operations_research.sat.CumulativeConstraintProto";
2248  }
2249  protected:
2250  explicit CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2251  private:
2252  static void ArenaDtor(void* object);
2253  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2254  public:
2255 
2256  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2257  private:
2258  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2259  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2260  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2261  }
2262 
2263  public:
2264 
2265  // nested types ----------------------------------------------------
2266 
2267  // accessors -------------------------------------------------------
2268 
2269  enum : int {
2270  kIntervalsFieldNumber = 2,
2271  kDemandsFieldNumber = 3,
2272  kCapacityFieldNumber = 1,
2273  };
2274  // repeated int32 intervals = 2;
2275  int intervals_size() const;
2276  private:
2277  int _internal_intervals_size() const;
2278  public:
2280  private:
2281  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
2282  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2283  _internal_intervals() const;
2284  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2285  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2286  _internal_mutable_intervals();
2287  public:
2291  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2292  intervals() const;
2293  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2295 
2296  // repeated int32 demands = 3;
2297  int demands_size() const;
2298  private:
2299  int _internal_demands_size() const;
2300  public:
2302  private:
2303  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2304  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2305  _internal_demands() const;
2306  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2307  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2308  _internal_mutable_demands();
2309  public:
2313  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2314  demands() const;
2315  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2317 
2318  // int32 capacity = 1;
2322  private:
2323  ::PROTOBUF_NAMESPACE_ID::int32 _internal_capacity() const;
2324  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2325  public:
2326 
2327  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
2328  private:
2329  class _Internal;
2330 
2331  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2332  typedef void InternalArenaConstructable_;
2333  typedef void DestructorSkippable_;
2334  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
2335  mutable std::atomic<int> _intervals_cached_byte_size_;
2336  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2337  mutable std::atomic<int> _demands_cached_byte_size_;
2339  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2340  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2341 };
2342 // -------------------------------------------------------------------
2343 
2344 class ReservoirConstraintProto PROTOBUF_FINAL :
2345  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
2346  public:
2347  inline ReservoirConstraintProto() : ReservoirConstraintProto(nullptr) {}
2349 
2350  ReservoirConstraintProto(const ReservoirConstraintProto& from);
2351  ReservoirConstraintProto(ReservoirConstraintProto&& from) noexcept
2352  : ReservoirConstraintProto() {
2353  *this = ::std::move(from);
2354  }
2355 
2356  inline ReservoirConstraintProto& operator=(const ReservoirConstraintProto& from) {
2357  CopyFrom(from);
2358  return *this;
2359  }
2360  inline ReservoirConstraintProto& operator=(ReservoirConstraintProto&& from) noexcept {
2361  if (GetArena() == from.GetArena()) {
2362  if (this != &from) InternalSwap(&from);
2363  } else {
2364  CopyFrom(from);
2365  }
2366  return *this;
2367  }
2368 
2369  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2370  return GetDescriptor();
2371  }
2372  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2373  return GetMetadataStatic().descriptor;
2374  }
2375  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2376  return GetMetadataStatic().reflection;
2377  }
2378  static const ReservoirConstraintProto& default_instance();
2379 
2380  static inline const ReservoirConstraintProto* internal_default_instance() {
2381  return reinterpret_cast<const ReservoirConstraintProto*>(
2383  }
2384  static constexpr int kIndexInFileMessages =
2385  12;
2386 
2387  friend void swap(ReservoirConstraintProto& a, ReservoirConstraintProto& b) {
2388  a.Swap(&b);
2389  }
2390  inline void Swap(ReservoirConstraintProto* other) {
2391  if (other == this) return;
2392  if (GetArena() == other->GetArena()) {
2393  InternalSwap(other);
2394  } else {
2395  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2396  }
2397  }
2398  void UnsafeArenaSwap(ReservoirConstraintProto* other) {
2399  if (other == this) return;
2400  GOOGLE_DCHECK(GetArena() == other->GetArena());
2401  InternalSwap(other);
2402  }
2403 
2404  // implements Message ----------------------------------------------
2405 
2406  inline ReservoirConstraintProto* New() const final {
2407  return CreateMaybeMessage<ReservoirConstraintProto>(nullptr);
2408  }
2409 
2410  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2411  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
2412  }
2413  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2414  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2415  void CopyFrom(const ReservoirConstraintProto& from);
2416  void MergeFrom(const ReservoirConstraintProto& from);
2417  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2418  bool IsInitialized() const final;
2419 
2420  size_t ByteSizeLong() const final;
2421  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2422  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2423  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2424  int GetCachedSize() const final { return _cached_size_.Get(); }
2425 
2426  private:
2427  inline void SharedCtor();
2428  inline void SharedDtor();
2429  void SetCachedSize(int size) const final;
2430  void InternalSwap(ReservoirConstraintProto* other);
2431  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2432  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2433  return "operations_research.sat.ReservoirConstraintProto";
2434  }
2435  protected:
2436  explicit ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2437  private:
2438  static void ArenaDtor(void* object);
2439  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2440  public:
2441 
2442  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2443  private:
2444  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2445  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2446  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2447  }
2448 
2449  public:
2450 
2451  // nested types ----------------------------------------------------
2452 
2453  // accessors -------------------------------------------------------
2454 
2455  enum : int {
2456  kTimesFieldNumber = 3,
2457  kDemandsFieldNumber = 4,
2458  kActivesFieldNumber = 5,
2459  kMinLevelFieldNumber = 1,
2460  kMaxLevelFieldNumber = 2,
2461  };
2462  // repeated int32 times = 3;
2463  int times_size() const;
2464  private:
2465  int _internal_times_size() const;
2466  public:
2467  void clear_times();
2468  private:
2469  ::PROTOBUF_NAMESPACE_ID::int32 _internal_times(int index) const;
2470  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2471  _internal_times() const;
2472  void _internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2473  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2474  _internal_mutable_times();
2475  public:
2479  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2480  times() const;
2481  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2483 
2484  // repeated int64 demands = 4;
2485  int demands_size() const;
2486  private:
2487  int _internal_demands_size() const;
2488  public:
2490  private:
2491  ::PROTOBUF_NAMESPACE_ID::int64 _internal_demands(int index) const;
2492  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2493  _internal_demands() const;
2494  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2495  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2496  _internal_mutable_demands();
2497  public:
2501  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2502  demands() const;
2503  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2505 
2506  // repeated int32 actives = 5;
2507  int actives_size() const;
2508  private:
2509  int _internal_actives_size() const;
2510  public:
2512  private:
2513  ::PROTOBUF_NAMESPACE_ID::int32 _internal_actives(int index) const;
2514  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2515  _internal_actives() const;
2516  void _internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2517  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2518  _internal_mutable_actives();
2519  public:
2523  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2524  actives() const;
2525  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2527 
2528  // int64 min_level = 1;
2532  private:
2533  ::PROTOBUF_NAMESPACE_ID::int64 _internal_min_level() const;
2534  void _internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2535  public:
2536 
2537  // int64 max_level = 2;
2541  private:
2542  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_level() const;
2543  void _internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2544  public:
2545 
2546  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
2547  private:
2548  class _Internal;
2549 
2550  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2551  typedef void InternalArenaConstructable_;
2552  typedef void DestructorSkippable_;
2553  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > times_;
2554  mutable std::atomic<int> _times_cached_byte_size_;
2555  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > demands_;
2556  mutable std::atomic<int> _demands_cached_byte_size_;
2557  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > actives_;
2558  mutable std::atomic<int> _actives_cached_byte_size_;
2559  ::PROTOBUF_NAMESPACE_ID::int64 min_level_;
2560  ::PROTOBUF_NAMESPACE_ID::int64 max_level_;
2561  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2562  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2563 };
2564 // -------------------------------------------------------------------
2565 
2566 class CircuitConstraintProto PROTOBUF_FINAL :
2567  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
2568  public:
2569  inline CircuitConstraintProto() : CircuitConstraintProto(nullptr) {}
2571 
2572  CircuitConstraintProto(const CircuitConstraintProto& from);
2573  CircuitConstraintProto(CircuitConstraintProto&& from) noexcept
2574  : CircuitConstraintProto() {
2575  *this = ::std::move(from);
2576  }
2577 
2578  inline CircuitConstraintProto& operator=(const CircuitConstraintProto& from) {
2579  CopyFrom(from);
2580  return *this;
2581  }
2582  inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
2583  if (GetArena() == from.GetArena()) {
2584  if (this != &from) InternalSwap(&from);
2585  } else {
2586  CopyFrom(from);
2587  }
2588  return *this;
2589  }
2590 
2591  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2592  return GetDescriptor();
2593  }
2594  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2595  return GetMetadataStatic().descriptor;
2596  }
2597  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2598  return GetMetadataStatic().reflection;
2599  }
2600  static const CircuitConstraintProto& default_instance();
2601 
2602  static inline const CircuitConstraintProto* internal_default_instance() {
2603  return reinterpret_cast<const CircuitConstraintProto*>(
2605  }
2606  static constexpr int kIndexInFileMessages =
2607  13;
2608 
2609  friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) {
2610  a.Swap(&b);
2611  }
2612  inline void Swap(CircuitConstraintProto* other) {
2613  if (other == this) return;
2614  if (GetArena() == other->GetArena()) {
2615  InternalSwap(other);
2616  } else {
2617  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2618  }
2619  }
2620  void UnsafeArenaSwap(CircuitConstraintProto* other) {
2621  if (other == this) return;
2622  GOOGLE_DCHECK(GetArena() == other->GetArena());
2623  InternalSwap(other);
2624  }
2625 
2626  // implements Message ----------------------------------------------
2627 
2628  inline CircuitConstraintProto* New() const final {
2629  return CreateMaybeMessage<CircuitConstraintProto>(nullptr);
2630  }
2631 
2632  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2633  return CreateMaybeMessage<CircuitConstraintProto>(arena);
2634  }
2635  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2636  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2637  void CopyFrom(const CircuitConstraintProto& from);
2638  void MergeFrom(const CircuitConstraintProto& from);
2639  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2640  bool IsInitialized() const final;
2641 
2642  size_t ByteSizeLong() const final;
2643  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2644  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2645  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2646  int GetCachedSize() const final { return _cached_size_.Get(); }
2647 
2648  private:
2649  inline void SharedCtor();
2650  inline void SharedDtor();
2651  void SetCachedSize(int size) const final;
2652  void InternalSwap(CircuitConstraintProto* other);
2653  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2654  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2655  return "operations_research.sat.CircuitConstraintProto";
2656  }
2657  protected:
2658  explicit CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2659  private:
2660  static void ArenaDtor(void* object);
2661  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2662  public:
2663 
2664  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2665  private:
2666  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2667  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2668  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2669  }
2670 
2671  public:
2672 
2673  // nested types ----------------------------------------------------
2674 
2675  // accessors -------------------------------------------------------
2676 
2677  enum : int {
2678  kTailsFieldNumber = 3,
2679  kHeadsFieldNumber = 4,
2680  kLiteralsFieldNumber = 5,
2681  };
2682  // repeated int32 tails = 3;
2683  int tails_size() const;
2684  private:
2685  int _internal_tails_size() const;
2686  public:
2687  void clear_tails();
2688  private:
2689  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2690  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2691  _internal_tails() const;
2692  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2693  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2694  _internal_mutable_tails();
2695  public:
2699  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2700  tails() const;
2701  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2703 
2704  // repeated int32 heads = 4;
2705  int heads_size() const;
2706  private:
2707  int _internal_heads_size() const;
2708  public:
2709  void clear_heads();
2710  private:
2711  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2712  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2713  _internal_heads() const;
2714  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2715  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2716  _internal_mutable_heads();
2717  public:
2721  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2722  heads() const;
2723  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2725 
2726  // repeated int32 literals = 5;
2727  int literals_size() const;
2728  private:
2729  int _internal_literals_size() const;
2730  public:
2732  private:
2733  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2734  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2735  _internal_literals() const;
2736  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2737  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2738  _internal_mutable_literals();
2739  public:
2743  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2744  literals() const;
2745  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2747 
2748  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2749  private:
2750  class _Internal;
2751 
2752  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2753  typedef void InternalArenaConstructable_;
2754  typedef void DestructorSkippable_;
2755  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2756  mutable std::atomic<int> _tails_cached_byte_size_;
2757  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2758  mutable std::atomic<int> _heads_cached_byte_size_;
2759  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2760  mutable std::atomic<int> _literals_cached_byte_size_;
2761  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2762  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2763 };
2764 // -------------------------------------------------------------------
2765 
2766 class RoutesConstraintProto PROTOBUF_FINAL :
2767  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2768  public:
2769  inline RoutesConstraintProto() : RoutesConstraintProto(nullptr) {}
2771 
2772  RoutesConstraintProto(const RoutesConstraintProto& from);
2773  RoutesConstraintProto(RoutesConstraintProto&& from) noexcept
2774  : RoutesConstraintProto() {
2775  *this = ::std::move(from);
2776  }
2777 
2778  inline RoutesConstraintProto& operator=(const RoutesConstraintProto& from) {
2779  CopyFrom(from);
2780  return *this;
2781  }
2782  inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
2783  if (GetArena() == from.GetArena()) {
2784  if (this != &from) InternalSwap(&from);
2785  } else {
2786  CopyFrom(from);
2787  }
2788  return *this;
2789  }
2790 
2791  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2792  return GetDescriptor();
2793  }
2794  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2795  return GetMetadataStatic().descriptor;
2796  }
2797  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2798  return GetMetadataStatic().reflection;
2799  }
2800  static const RoutesConstraintProto& default_instance();
2801 
2802  static inline const RoutesConstraintProto* internal_default_instance() {
2803  return reinterpret_cast<const RoutesConstraintProto*>(
2805  }
2806  static constexpr int kIndexInFileMessages =
2807  14;
2808 
2809  friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) {
2810  a.Swap(&b);
2811  }
2812  inline void Swap(RoutesConstraintProto* other) {
2813  if (other == this) return;
2814  if (GetArena() == other->GetArena()) {
2815  InternalSwap(other);
2816  } else {
2817  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2818  }
2819  }
2820  void UnsafeArenaSwap(RoutesConstraintProto* other) {
2821  if (other == this) return;
2822  GOOGLE_DCHECK(GetArena() == other->GetArena());
2823  InternalSwap(other);
2824  }
2825 
2826  // implements Message ----------------------------------------------
2827 
2828  inline RoutesConstraintProto* New() const final {
2829  return CreateMaybeMessage<RoutesConstraintProto>(nullptr);
2830  }
2831 
2832  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2833  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2834  }
2835  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2836  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2837  void CopyFrom(const RoutesConstraintProto& from);
2838  void MergeFrom(const RoutesConstraintProto& from);
2839  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2840  bool IsInitialized() const final;
2841 
2842  size_t ByteSizeLong() const final;
2843  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2844  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2845  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2846  int GetCachedSize() const final { return _cached_size_.Get(); }
2847 
2848  private:
2849  inline void SharedCtor();
2850  inline void SharedDtor();
2851  void SetCachedSize(int size) const final;
2852  void InternalSwap(RoutesConstraintProto* other);
2853  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2854  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2855  return "operations_research.sat.RoutesConstraintProto";
2856  }
2857  protected:
2858  explicit RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2859  private:
2860  static void ArenaDtor(void* object);
2861  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2862  public:
2863 
2864  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2865  private:
2866  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2867  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2868  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2869  }
2870 
2871  public:
2872 
2873  // nested types ----------------------------------------------------
2874 
2875  // accessors -------------------------------------------------------
2876 
2877  enum : int {
2878  kTailsFieldNumber = 1,
2879  kHeadsFieldNumber = 2,
2880  kLiteralsFieldNumber = 3,
2881  kDemandsFieldNumber = 4,
2882  kCapacityFieldNumber = 5,
2883  };
2884  // repeated int32 tails = 1;
2885  int tails_size() const;
2886  private:
2887  int _internal_tails_size() const;
2888  public:
2889  void clear_tails();
2890  private:
2891  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2892  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2893  _internal_tails() const;
2894  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2895  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2896  _internal_mutable_tails();
2897  public:
2901  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2902  tails() const;
2903  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2905 
2906  // repeated int32 heads = 2;
2907  int heads_size() const;
2908  private:
2909  int _internal_heads_size() const;
2910  public:
2911  void clear_heads();
2912  private:
2913  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2914  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2915  _internal_heads() const;
2916  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2917  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2918  _internal_mutable_heads();
2919  public:
2923  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2924  heads() const;
2925  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2927 
2928  // repeated int32 literals = 3;
2929  int literals_size() const;
2930  private:
2931  int _internal_literals_size() const;
2932  public:
2934  private:
2935  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2936  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2937  _internal_literals() const;
2938  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2939  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2940  _internal_mutable_literals();
2941  public:
2945  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2946  literals() const;
2947  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2949 
2950  // repeated int32 demands = 4;
2951  int demands_size() const;
2952  private:
2953  int _internal_demands_size() const;
2954  public:
2956  private:
2957  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2958  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2959  _internal_demands() const;
2960  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2961  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2962  _internal_mutable_demands();
2963  public:
2967  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2968  demands() const;
2969  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2971 
2972  // int64 capacity = 5;
2976  private:
2977  ::PROTOBUF_NAMESPACE_ID::int64 _internal_capacity() const;
2978  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
2979  public:
2980 
2981  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
2982  private:
2983  class _Internal;
2984 
2985  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2986  typedef void InternalArenaConstructable_;
2987  typedef void DestructorSkippable_;
2988  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2989  mutable std::atomic<int> _tails_cached_byte_size_;
2990  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2991  mutable std::atomic<int> _heads_cached_byte_size_;
2992  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2993  mutable std::atomic<int> _literals_cached_byte_size_;
2994  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2995  mutable std::atomic<int> _demands_cached_byte_size_;
2997  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2998  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2999 };
3000 // -------------------------------------------------------------------
3001 
3002 class TableConstraintProto PROTOBUF_FINAL :
3003  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3004  public:
3005  inline TableConstraintProto() : TableConstraintProto(nullptr) {}
3007 
3008  TableConstraintProto(const TableConstraintProto& from);
3009  TableConstraintProto(TableConstraintProto&& from) noexcept
3010  : TableConstraintProto() {
3011  *this = ::std::move(from);
3012  }
3013 
3014  inline TableConstraintProto& operator=(const TableConstraintProto& from) {
3015  CopyFrom(from);
3016  return *this;
3017  }
3018  inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
3019  if (GetArena() == from.GetArena()) {
3020  if (this != &from) InternalSwap(&from);
3021  } else {
3022  CopyFrom(from);
3023  }
3024  return *this;
3025  }
3026 
3027  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3028  return GetDescriptor();
3029  }
3030  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3031  return GetMetadataStatic().descriptor;
3032  }
3033  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3034  return GetMetadataStatic().reflection;
3035  }
3036  static const TableConstraintProto& default_instance();
3037 
3038  static inline const TableConstraintProto* internal_default_instance() {
3039  return reinterpret_cast<const TableConstraintProto*>(
3041  }
3042  static constexpr int kIndexInFileMessages =
3043  15;
3044 
3045  friend void swap(TableConstraintProto& a, TableConstraintProto& b) {
3046  a.Swap(&b);
3047  }
3048  inline void Swap(TableConstraintProto* other) {
3049  if (other == this) return;
3050  if (GetArena() == other->GetArena()) {
3051  InternalSwap(other);
3052  } else {
3053  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3054  }
3055  }
3056  void UnsafeArenaSwap(TableConstraintProto* other) {
3057  if (other == this) return;
3058  GOOGLE_DCHECK(GetArena() == other->GetArena());
3059  InternalSwap(other);
3060  }
3061 
3062  // implements Message ----------------------------------------------
3063 
3064  inline TableConstraintProto* New() const final {
3065  return CreateMaybeMessage<TableConstraintProto>(nullptr);
3066  }
3067 
3068  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3069  return CreateMaybeMessage<TableConstraintProto>(arena);
3070  }
3071  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3072  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3073  void CopyFrom(const TableConstraintProto& from);
3074  void MergeFrom(const TableConstraintProto& from);
3075  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3076  bool IsInitialized() const final;
3077 
3078  size_t ByteSizeLong() const final;
3079  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3080  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3081  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3082  int GetCachedSize() const final { return _cached_size_.Get(); }
3083 
3084  private:
3085  inline void SharedCtor();
3086  inline void SharedDtor();
3087  void SetCachedSize(int size) const final;
3088  void InternalSwap(TableConstraintProto* other);
3089  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3090  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3091  return "operations_research.sat.TableConstraintProto";
3092  }
3093  protected:
3094  explicit TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3095  private:
3096  static void ArenaDtor(void* object);
3097  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3098  public:
3099 
3100  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3101  private:
3102  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3103  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3104  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3105  }
3106 
3107  public:
3108 
3109  // nested types ----------------------------------------------------
3110 
3111  // accessors -------------------------------------------------------
3112 
3113  enum : int {
3114  kVarsFieldNumber = 1,
3115  kValuesFieldNumber = 2,
3116  kNegatedFieldNumber = 3,
3117  };
3118  // repeated int32 vars = 1;
3119  int vars_size() const;
3120  private:
3121  int _internal_vars_size() const;
3122  public:
3123  void clear_vars();
3124  private:
3125  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3126  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3127  _internal_vars() const;
3128  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3129  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3130  _internal_mutable_vars();
3131  public:
3135  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3136  vars() const;
3137  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3139 
3140  // repeated int64 values = 2;
3141  int values_size() const;
3142  private:
3143  int _internal_values_size() const;
3144  public:
3146  private:
3147  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
3148  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3149  _internal_values() const;
3150  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3151  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3152  _internal_mutable_values();
3153  public:
3157  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3158  values() const;
3159  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3161 
3162  // bool negated = 3;
3164  bool negated() const;
3165  void set_negated(bool value);
3166  private:
3167  bool _internal_negated() const;
3168  void _internal_set_negated(bool value);
3169  public:
3170 
3171  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3172  private:
3173  class _Internal;
3174 
3175  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3176  typedef void InternalArenaConstructable_;
3177  typedef void DestructorSkippable_;
3178  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3179  mutable std::atomic<int> _vars_cached_byte_size_;
3180  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
3181  mutable std::atomic<int> _values_cached_byte_size_;
3182  bool negated_;
3183  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3184  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3185 };
3186 // -------------------------------------------------------------------
3187 
3188 class InverseConstraintProto PROTOBUF_FINAL :
3189  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
3190  public:
3191  inline InverseConstraintProto() : InverseConstraintProto(nullptr) {}
3193 
3194  InverseConstraintProto(const InverseConstraintProto& from);
3195  InverseConstraintProto(InverseConstraintProto&& from) noexcept
3196  : InverseConstraintProto() {
3197  *this = ::std::move(from);
3198  }
3199 
3200  inline InverseConstraintProto& operator=(const InverseConstraintProto& from) {
3201  CopyFrom(from);
3202  return *this;
3203  }
3204  inline InverseConstraintProto& operator=(InverseConstraintProto&& from) noexcept {
3205  if (GetArena() == from.GetArena()) {
3206  if (this != &from) InternalSwap(&from);
3207  } else {
3208  CopyFrom(from);
3209  }
3210  return *this;
3211  }
3212 
3213  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3214  return GetDescriptor();
3215  }
3216  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3217  return GetMetadataStatic().descriptor;
3218  }
3219  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3220  return GetMetadataStatic().reflection;
3221  }
3222  static const InverseConstraintProto& default_instance();
3223 
3224  static inline const InverseConstraintProto* internal_default_instance() {
3225  return reinterpret_cast<const InverseConstraintProto*>(
3227  }
3228  static constexpr int kIndexInFileMessages =
3229  16;
3230 
3231  friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) {
3232  a.Swap(&b);
3233  }
3234  inline void Swap(InverseConstraintProto* other) {
3235  if (other == this) return;
3236  if (GetArena() == other->GetArena()) {
3237  InternalSwap(other);
3238  } else {
3239  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3240  }
3241  }
3242  void UnsafeArenaSwap(InverseConstraintProto* other) {
3243  if (other == this) return;
3244  GOOGLE_DCHECK(GetArena() == other->GetArena());
3245  InternalSwap(other);
3246  }
3247 
3248  // implements Message ----------------------------------------------
3249 
3250  inline InverseConstraintProto* New() const final {
3251  return CreateMaybeMessage<InverseConstraintProto>(nullptr);
3252  }
3253 
3254  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3255  return CreateMaybeMessage<InverseConstraintProto>(arena);
3256  }
3257  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3258  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3259  void CopyFrom(const InverseConstraintProto& from);
3260  void MergeFrom(const InverseConstraintProto& from);
3261  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3262  bool IsInitialized() const final;
3263 
3264  size_t ByteSizeLong() const final;
3265  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3266  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3267  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3268  int GetCachedSize() const final { return _cached_size_.Get(); }
3269 
3270  private:
3271  inline void SharedCtor();
3272  inline void SharedDtor();
3273  void SetCachedSize(int size) const final;
3274  void InternalSwap(InverseConstraintProto* other);
3275  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3276  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3277  return "operations_research.sat.InverseConstraintProto";
3278  }
3279  protected:
3280  explicit InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3281  private:
3282  static void ArenaDtor(void* object);
3283  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3284  public:
3285 
3286  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3287  private:
3288  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3289  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3290  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3291  }
3292 
3293  public:
3294 
3295  // nested types ----------------------------------------------------
3296 
3297  // accessors -------------------------------------------------------
3298 
3299  enum : int {
3300  kFDirectFieldNumber = 1,
3301  kFInverseFieldNumber = 2,
3302  };
3303  // repeated int32 f_direct = 1;
3304  int f_direct_size() const;
3305  private:
3306  int _internal_f_direct_size() const;
3307  public:
3309  private:
3310  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_direct(int index) const;
3311  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3312  _internal_f_direct() const;
3313  void _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3314  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3315  _internal_mutable_f_direct();
3316  public:
3320  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3321  f_direct() const;
3322  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3324 
3325  // repeated int32 f_inverse = 2;
3326  int f_inverse_size() const;
3327  private:
3328  int _internal_f_inverse_size() const;
3329  public:
3331  private:
3332  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_inverse(int index) const;
3333  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3334  _internal_f_inverse() const;
3335  void _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3336  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3337  _internal_mutable_f_inverse();
3338  public:
3342  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3343  f_inverse() const;
3344  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3346 
3347  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
3348  private:
3349  class _Internal;
3350 
3351  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3352  typedef void InternalArenaConstructable_;
3353  typedef void DestructorSkippable_;
3354  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_direct_;
3355  mutable std::atomic<int> _f_direct_cached_byte_size_;
3356  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_inverse_;
3357  mutable std::atomic<int> _f_inverse_cached_byte_size_;
3358  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3359  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3360 };
3361 // -------------------------------------------------------------------
3362 
3363 class AutomatonConstraintProto PROTOBUF_FINAL :
3364  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
3365  public:
3366  inline AutomatonConstraintProto() : AutomatonConstraintProto(nullptr) {}
3368 
3369  AutomatonConstraintProto(const AutomatonConstraintProto& from);
3370  AutomatonConstraintProto(AutomatonConstraintProto&& from) noexcept
3371  : AutomatonConstraintProto() {
3372  *this = ::std::move(from);
3373  }
3374 
3375  inline AutomatonConstraintProto& operator=(const AutomatonConstraintProto& from) {
3376  CopyFrom(from);
3377  return *this;
3378  }
3379  inline AutomatonConstraintProto& operator=(AutomatonConstraintProto&& from) noexcept {
3380  if (GetArena() == from.GetArena()) {
3381  if (this != &from) InternalSwap(&from);
3382  } else {
3383  CopyFrom(from);
3384  }
3385  return *this;
3386  }
3387 
3388  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3389  return GetDescriptor();
3390  }
3391  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3392  return GetMetadataStatic().descriptor;
3393  }
3394  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3395  return GetMetadataStatic().reflection;
3396  }
3397  static const AutomatonConstraintProto& default_instance();
3398 
3399  static inline const AutomatonConstraintProto* internal_default_instance() {
3400  return reinterpret_cast<const AutomatonConstraintProto*>(
3402  }
3403  static constexpr int kIndexInFileMessages =
3404  17;
3405 
3406  friend void swap(AutomatonConstraintProto& a, AutomatonConstraintProto& b) {
3407  a.Swap(&b);
3408  }
3409  inline void Swap(AutomatonConstraintProto* other) {
3410  if (other == this) return;
3411  if (GetArena() == other->GetArena()) {
3412  InternalSwap(other);
3413  } else {
3414  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3415  }
3416  }
3417  void UnsafeArenaSwap(AutomatonConstraintProto* other) {
3418  if (other == this) return;
3419  GOOGLE_DCHECK(GetArena() == other->GetArena());
3420  InternalSwap(other);
3421  }
3422 
3423  // implements Message ----------------------------------------------
3424 
3425  inline AutomatonConstraintProto* New() const final {
3426  return CreateMaybeMessage<AutomatonConstraintProto>(nullptr);
3427  }
3428 
3429  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3430  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
3431  }
3432  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3433  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3434  void CopyFrom(const AutomatonConstraintProto& from);
3435  void MergeFrom(const AutomatonConstraintProto& from);
3436  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3437  bool IsInitialized() const final;
3438 
3439  size_t ByteSizeLong() const final;
3440  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3441  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3442  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3443  int GetCachedSize() const final { return _cached_size_.Get(); }
3444 
3445  private:
3446  inline void SharedCtor();
3447  inline void SharedDtor();
3448  void SetCachedSize(int size) const final;
3449  void InternalSwap(AutomatonConstraintProto* other);
3450  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3451  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3452  return "operations_research.sat.AutomatonConstraintProto";
3453  }
3454  protected:
3455  explicit AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3456  private:
3457  static void ArenaDtor(void* object);
3458  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3459  public:
3460 
3461  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3462  private:
3463  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3464  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3465  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3466  }
3467 
3468  public:
3469 
3470  // nested types ----------------------------------------------------
3471 
3472  // accessors -------------------------------------------------------
3473 
3474  enum : int {
3475  kFinalStatesFieldNumber = 3,
3476  kTransitionTailFieldNumber = 4,
3477  kTransitionHeadFieldNumber = 5,
3478  kTransitionLabelFieldNumber = 6,
3479  kVarsFieldNumber = 7,
3480  kStartingStateFieldNumber = 2,
3481  };
3482  // repeated int64 final_states = 3;
3483  int final_states_size() const;
3484  private:
3485  int _internal_final_states_size() const;
3486  public:
3488  private:
3489  ::PROTOBUF_NAMESPACE_ID::int64 _internal_final_states(int index) const;
3490  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3491  _internal_final_states() const;
3492  void _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3493  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3494  _internal_mutable_final_states();
3495  public:
3499  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3500  final_states() const;
3501  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3503 
3504  // repeated int64 transition_tail = 4;
3506  private:
3507  int _internal_transition_tail_size() const;
3508  public:
3510  private:
3511  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_tail(int index) const;
3512  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3513  _internal_transition_tail() const;
3514  void _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3515  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3516  _internal_mutable_transition_tail();
3517  public:
3521  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3523  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3525 
3526  // repeated int64 transition_head = 5;
3528  private:
3529  int _internal_transition_head_size() const;
3530  public:
3532  private:
3533  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_head(int index) const;
3534  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3535  _internal_transition_head() const;
3536  void _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3537  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3538  _internal_mutable_transition_head();
3539  public:
3543  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3545  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3547 
3548  // repeated int64 transition_label = 6;
3550  private:
3551  int _internal_transition_label_size() const;
3552  public:
3554  private:
3555  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_label(int index) const;
3556  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3557  _internal_transition_label() const;
3558  void _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3559  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3560  _internal_mutable_transition_label();
3561  public:
3565  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3567  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3569 
3570  // repeated int32 vars = 7;
3571  int vars_size() const;
3572  private:
3573  int _internal_vars_size() const;
3574  public:
3575  void clear_vars();
3576  private:
3577  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3578  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3579  _internal_vars() const;
3580  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3581  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3582  _internal_mutable_vars();
3583  public:
3587  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3588  vars() const;
3589  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3591 
3592  // int64 starting_state = 2;
3596  private:
3597  ::PROTOBUF_NAMESPACE_ID::int64 _internal_starting_state() const;
3598  void _internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3599  public:
3600 
3601  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
3602  private:
3603  class _Internal;
3604 
3605  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3606  typedef void InternalArenaConstructable_;
3607  typedef void DestructorSkippable_;
3608  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > final_states_;
3609  mutable std::atomic<int> _final_states_cached_byte_size_;
3610  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_tail_;
3611  mutable std::atomic<int> _transition_tail_cached_byte_size_;
3612  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_head_;
3613  mutable std::atomic<int> _transition_head_cached_byte_size_;
3614  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_label_;
3615  mutable std::atomic<int> _transition_label_cached_byte_size_;
3616  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3617  mutable std::atomic<int> _vars_cached_byte_size_;
3618  ::PROTOBUF_NAMESPACE_ID::int64 starting_state_;
3619  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3620  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3621 };
3622 // -------------------------------------------------------------------
3623 
3624 class ConstraintProto PROTOBUF_FINAL :
3625  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
3626  public:
3627  inline ConstraintProto() : ConstraintProto(nullptr) {}
3628  virtual ~ConstraintProto();
3629 
3630  ConstraintProto(const ConstraintProto& from);
3631  ConstraintProto(ConstraintProto&& from) noexcept
3632  : ConstraintProto() {
3633  *this = ::std::move(from);
3634  }
3635 
3636  inline ConstraintProto& operator=(const ConstraintProto& from) {
3637  CopyFrom(from);
3638  return *this;
3639  }
3640  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
3641  if (GetArena() == from.GetArena()) {
3642  if (this != &from) InternalSwap(&from);
3643  } else {
3644  CopyFrom(from);
3645  }
3646  return *this;
3647  }
3648 
3649  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3650  return GetDescriptor();
3651  }
3652  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3653  return GetMetadataStatic().descriptor;
3654  }
3655  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3656  return GetMetadataStatic().reflection;
3657  }
3658  static const ConstraintProto& default_instance();
3659 
3661  kBoolOr = 3,
3662  kBoolAnd = 4,
3663  kAtMostOne = 26,
3664  kExactlyOne = 29,
3665  kBoolXor = 5,
3666  kIntDiv = 7,
3667  kIntMod = 8,
3668  kIntMax = 9,
3669  kLinMax = 27,
3670  kIntMin = 10,
3671  kLinMin = 28,
3672  kIntProd = 11,
3673  kLinear = 12,
3674  kAllDiff = 13,
3675  kElement = 14,
3676  kCircuit = 15,
3677  kRoutes = 23,
3678  kTable = 16,
3679  kAutomaton = 17,
3680  kInverse = 18,
3681  kReservoir = 24,
3682  kInterval = 19,
3683  kNoOverlap = 20,
3684  kNoOverlap2D = 21,
3685  kCumulative = 22,
3686  CONSTRAINT_NOT_SET = 0,
3687  };
3688 
3689  static inline const ConstraintProto* internal_default_instance() {
3690  return reinterpret_cast<const ConstraintProto*>(
3692  }
3693  static constexpr int kIndexInFileMessages =
3694  18;
3695 
3696  friend void swap(ConstraintProto& a, ConstraintProto& b) {
3697  a.Swap(&b);
3698  }
3699  inline void Swap(ConstraintProto* other) {
3700  if (other == this) return;
3701  if (GetArena() == other->GetArena()) {
3702  InternalSwap(other);
3703  } else {
3704  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3705  }
3706  }
3707  void UnsafeArenaSwap(ConstraintProto* other) {
3708  if (other == this) return;
3709  GOOGLE_DCHECK(GetArena() == other->GetArena());
3710  InternalSwap(other);
3711  }
3712 
3713  // implements Message ----------------------------------------------
3714 
3715  inline ConstraintProto* New() const final {
3716  return CreateMaybeMessage<ConstraintProto>(nullptr);
3717  }
3718 
3719  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3720  return CreateMaybeMessage<ConstraintProto>(arena);
3721  }
3722  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3723  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3724  void CopyFrom(const ConstraintProto& from);
3725  void MergeFrom(const ConstraintProto& from);
3726  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3727  bool IsInitialized() const final;
3728 
3729  size_t ByteSizeLong() const final;
3730  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3731  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3732  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3733  int GetCachedSize() const final { return _cached_size_.Get(); }
3734 
3735  private:
3736  inline void SharedCtor();
3737  inline void SharedDtor();
3738  void SetCachedSize(int size) const final;
3739  void InternalSwap(ConstraintProto* other);
3740  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3741  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3742  return "operations_research.sat.ConstraintProto";
3743  }
3744  protected:
3745  explicit ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3746  private:
3747  static void ArenaDtor(void* object);
3748  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3749  public:
3750 
3751  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3752  private:
3753  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3754  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3755  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3756  }
3757 
3758  public:
3759 
3760  // nested types ----------------------------------------------------
3761 
3762  // accessors -------------------------------------------------------
3763 
3764  enum : int {
3765  kEnforcementLiteralFieldNumber = 2,
3766  kNameFieldNumber = 1,
3767  kBoolOrFieldNumber = 3,
3768  kBoolAndFieldNumber = 4,
3769  kAtMostOneFieldNumber = 26,
3770  kExactlyOneFieldNumber = 29,
3771  kBoolXorFieldNumber = 5,
3772  kIntDivFieldNumber = 7,
3773  kIntModFieldNumber = 8,
3774  kIntMaxFieldNumber = 9,
3775  kLinMaxFieldNumber = 27,
3776  kIntMinFieldNumber = 10,
3777  kLinMinFieldNumber = 28,
3778  kIntProdFieldNumber = 11,
3779  kLinearFieldNumber = 12,
3780  kAllDiffFieldNumber = 13,
3781  kElementFieldNumber = 14,
3782  kCircuitFieldNumber = 15,
3783  kRoutesFieldNumber = 23,
3784  kTableFieldNumber = 16,
3785  kAutomatonFieldNumber = 17,
3786  kInverseFieldNumber = 18,
3787  kReservoirFieldNumber = 24,
3788  kIntervalFieldNumber = 19,
3789  kNoOverlapFieldNumber = 20,
3790  kNoOverlap2DFieldNumber = 21,
3791  kCumulativeFieldNumber = 22,
3792  };
3793  // repeated int32 enforcement_literal = 2;
3795  private:
3796  int _internal_enforcement_literal_size() const;
3797  public:
3799  private:
3800  ::PROTOBUF_NAMESPACE_ID::int32 _internal_enforcement_literal(int index) const;
3801  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3802  _internal_enforcement_literal() const;
3803  void _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
3804  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3805  _internal_mutable_enforcement_literal();
3806  public:
3810  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3812  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3814 
3815  // string name = 1;
3816  void clear_name();
3817  const std::string& name() const;
3818  void set_name(const std::string& value);
3819  void set_name(std::string&& value);
3820  void set_name(const char* value);
3821  void set_name(const char* value, size_t size);
3822  std::string* mutable_name();
3823  std::string* release_name();
3824  void set_allocated_name(std::string* name);
3825  private:
3826  const std::string& _internal_name() const;
3827  void _internal_set_name(const std::string& value);
3828  std::string* _internal_mutable_name();
3829  public:
3830 
3831  // .operations_research.sat.BoolArgumentProto bool_or = 3;
3832  bool has_bool_or() const;
3833  private:
3834  bool _internal_has_bool_or() const;
3835  public:
3837  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
3838  ::operations_research::sat::BoolArgumentProto* release_bool_or();
3839  ::operations_research::sat::BoolArgumentProto* mutable_bool_or();
3840  void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or);
3841  private:
3842  const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
3843  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_or();
3844  public:
3846  ::operations_research::sat::BoolArgumentProto* bool_or);
3847  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_or();
3848 
3849  // .operations_research.sat.BoolArgumentProto bool_and = 4;
3850  bool has_bool_and() const;
3851  private:
3852  bool _internal_has_bool_and() const;
3853  public:
3855  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
3856  ::operations_research::sat::BoolArgumentProto* release_bool_and();
3857  ::operations_research::sat::BoolArgumentProto* mutable_bool_and();
3858  void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and);
3859  private:
3860  const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
3861  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_and();
3862  public:
3864  ::operations_research::sat::BoolArgumentProto* bool_and);
3865  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_and();
3866 
3867  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
3868  bool has_at_most_one() const;
3869  private:
3870  bool _internal_has_at_most_one() const;
3871  public:
3873  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
3874  ::operations_research::sat::BoolArgumentProto* release_at_most_one();
3875  ::operations_research::sat::BoolArgumentProto* mutable_at_most_one();
3876  void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one);
3877  private:
3878  const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
3879  ::operations_research::sat::BoolArgumentProto* _internal_mutable_at_most_one();
3880  public:
3882  ::operations_research::sat::BoolArgumentProto* at_most_one);
3883  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_at_most_one();
3884 
3885  // .operations_research.sat.BoolArgumentProto exactly_one = 29;
3886  bool has_exactly_one() const;
3887  private:
3888  bool _internal_has_exactly_one() const;
3889  public:
3891  const ::operations_research::sat::BoolArgumentProto& exactly_one() const;
3892  ::operations_research::sat::BoolArgumentProto* release_exactly_one();
3893  ::operations_research::sat::BoolArgumentProto* mutable_exactly_one();
3894  void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto* exactly_one);
3895  private:
3896  const ::operations_research::sat::BoolArgumentProto& _internal_exactly_one() const;
3897  ::operations_research::sat::BoolArgumentProto* _internal_mutable_exactly_one();
3898  public:
3900  ::operations_research::sat::BoolArgumentProto* exactly_one);
3901  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_exactly_one();
3902 
3903  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
3904  bool has_bool_xor() const;
3905  private:
3906  bool _internal_has_bool_xor() const;
3907  public:
3909  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
3910  ::operations_research::sat::BoolArgumentProto* release_bool_xor();
3911  ::operations_research::sat::BoolArgumentProto* mutable_bool_xor();
3912  void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor);
3913  private:
3914  const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
3915  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_xor();
3916  public:
3918  ::operations_research::sat::BoolArgumentProto* bool_xor);
3919  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_xor();
3920 
3921  // .operations_research.sat.IntegerArgumentProto int_div = 7;
3922  bool has_int_div() const;
3923  private:
3924  bool _internal_has_int_div() const;
3925  public:
3927  const ::operations_research::sat::IntegerArgumentProto& int_div() const;
3928  ::operations_research::sat::IntegerArgumentProto* release_int_div();
3929  ::operations_research::sat::IntegerArgumentProto* mutable_int_div();
3930  void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div);
3931  private:
3932  const ::operations_research::sat::IntegerArgumentProto& _internal_int_div() const;
3933  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_div();
3934  public:
3936  ::operations_research::sat::IntegerArgumentProto* int_div);
3937  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_div();
3938 
3939  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
3940  bool has_int_mod() const;
3941  private:
3942  bool _internal_has_int_mod() const;
3943  public:
3945  const ::operations_research::sat::IntegerArgumentProto& int_mod() const;
3946  ::operations_research::sat::IntegerArgumentProto* release_int_mod();
3947  ::operations_research::sat::IntegerArgumentProto* mutable_int_mod();
3948  void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod);
3949  private:
3950  const ::operations_research::sat::IntegerArgumentProto& _internal_int_mod() const;
3951  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_mod();
3952  public:
3954  ::operations_research::sat::IntegerArgumentProto* int_mod);
3955  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_mod();
3956 
3957  // .operations_research.sat.IntegerArgumentProto int_max = 9;
3958  bool has_int_max() const;
3959  private:
3960  bool _internal_has_int_max() const;
3961  public:
3963  const ::operations_research::sat::IntegerArgumentProto& int_max() const;
3964  ::operations_research::sat::IntegerArgumentProto* release_int_max();
3965  ::operations_research::sat::IntegerArgumentProto* mutable_int_max();
3966  void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max);
3967  private:
3968  const ::operations_research::sat::IntegerArgumentProto& _internal_int_max() const;
3969  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_max();
3970  public:
3972  ::operations_research::sat::IntegerArgumentProto* int_max);
3973  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_max();
3974 
3975  // .operations_research.sat.LinearArgumentProto lin_max = 27;
3976  bool has_lin_max() const;
3977  private:
3978  bool _internal_has_lin_max() const;
3979  public:
3981  const ::operations_research::sat::LinearArgumentProto& lin_max() const;
3982  ::operations_research::sat::LinearArgumentProto* release_lin_max();
3983  ::operations_research::sat::LinearArgumentProto* mutable_lin_max();
3984  void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max);
3985  private:
3986  const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
3987  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_max();
3988  public:
3990  ::operations_research::sat::LinearArgumentProto* lin_max);
3991  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_max();
3992 
3993  // .operations_research.sat.IntegerArgumentProto int_min = 10;
3994  bool has_int_min() const;
3995  private:
3996  bool _internal_has_int_min() const;
3997  public:
3999  const ::operations_research::sat::IntegerArgumentProto& int_min() const;
4000  ::operations_research::sat::IntegerArgumentProto* release_int_min();
4001  ::operations_research::sat::IntegerArgumentProto* mutable_int_min();
4002  void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min);
4003  private:
4004  const ::operations_research::sat::IntegerArgumentProto& _internal_int_min() const;
4005  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_min();
4006  public:
4008  ::operations_research::sat::IntegerArgumentProto* int_min);
4009  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_min();
4010 
4011  // .operations_research.sat.LinearArgumentProto lin_min = 28;
4012  bool has_lin_min() const;
4013  private:
4014  bool _internal_has_lin_min() const;
4015  public:
4017  const ::operations_research::sat::LinearArgumentProto& lin_min() const;
4018  ::operations_research::sat::LinearArgumentProto* release_lin_min();
4019  ::operations_research::sat::LinearArgumentProto* mutable_lin_min();
4020  void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min);
4021  private:
4022  const ::operations_research::sat::LinearArgumentProto& _internal_lin_min() const;
4023  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_min();
4024  public:
4026  ::operations_research::sat::LinearArgumentProto* lin_min);
4027  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_min();
4028 
4029  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
4030  bool has_int_prod() const;
4031  private:
4032  bool _internal_has_int_prod() const;
4033  public:
4035  const ::operations_research::sat::IntegerArgumentProto& int_prod() const;
4036  ::operations_research::sat::IntegerArgumentProto* release_int_prod();
4037  ::operations_research::sat::IntegerArgumentProto* mutable_int_prod();
4038  void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod);
4039  private:
4040  const ::operations_research::sat::IntegerArgumentProto& _internal_int_prod() const;
4041  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_prod();
4042  public:
4044  ::operations_research::sat::IntegerArgumentProto* int_prod);
4045  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_prod();
4046 
4047  // .operations_research.sat.LinearConstraintProto linear = 12;
4048  bool has_linear() const;
4049  private:
4050  bool _internal_has_linear() const;
4051  public:
4053  const ::operations_research::sat::LinearConstraintProto& linear() const;
4054  ::operations_research::sat::LinearConstraintProto* release_linear();
4055  ::operations_research::sat::LinearConstraintProto* mutable_linear();
4056  void set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear);
4057  private:
4058  const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
4059  ::operations_research::sat::LinearConstraintProto* _internal_mutable_linear();
4060  public:
4062  ::operations_research::sat::LinearConstraintProto* linear);
4063  ::operations_research::sat::LinearConstraintProto* unsafe_arena_release_linear();
4064 
4065  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
4066  bool has_all_diff() const;
4067  private:
4068  bool _internal_has_all_diff() const;
4069  public:
4071  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
4072  ::operations_research::sat::AllDifferentConstraintProto* release_all_diff();
4073  ::operations_research::sat::AllDifferentConstraintProto* mutable_all_diff();
4074  void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff);
4075  private:
4076  const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
4077  ::operations_research::sat::AllDifferentConstraintProto* _internal_mutable_all_diff();
4078  public:
4080  ::operations_research::sat::AllDifferentConstraintProto* all_diff);
4081  ::operations_research::sat::AllDifferentConstraintProto* unsafe_arena_release_all_diff();
4082 
4083  // .operations_research.sat.ElementConstraintProto element = 14;
4084  bool has_element() const;
4085  private:
4086  bool _internal_has_element() const;
4087  public:
4089  const ::operations_research::sat::ElementConstraintProto& element() const;
4090  ::operations_research::sat::ElementConstraintProto* release_element();
4091  ::operations_research::sat::ElementConstraintProto* mutable_element();
4092  void set_allocated_element(::operations_research::sat::ElementConstraintProto* element);
4093  private:
4094  const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
4095  ::operations_research::sat::ElementConstraintProto* _internal_mutable_element();
4096  public:
4098  ::operations_research::sat::ElementConstraintProto* element);
4099  ::operations_research::sat::ElementConstraintProto* unsafe_arena_release_element();
4100 
4101  // .operations_research.sat.CircuitConstraintProto circuit = 15;
4102  bool has_circuit() const;
4103  private:
4104  bool _internal_has_circuit() const;
4105  public:
4107  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
4108  ::operations_research::sat::CircuitConstraintProto* release_circuit();
4109  ::operations_research::sat::CircuitConstraintProto* mutable_circuit();
4110  void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit);
4111  private:
4112  const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
4113  ::operations_research::sat::CircuitConstraintProto* _internal_mutable_circuit();
4114  public:
4116  ::operations_research::sat::CircuitConstraintProto* circuit);
4117  ::operations_research::sat::CircuitConstraintProto* unsafe_arena_release_circuit();
4118 
4119  // .operations_research.sat.RoutesConstraintProto routes = 23;
4120  bool has_routes() const;
4121  private:
4122  bool _internal_has_routes() const;
4123  public:
4125  const ::operations_research::sat::RoutesConstraintProto& routes() const;
4126  ::operations_research::sat::RoutesConstraintProto* release_routes();
4127  ::operations_research::sat::RoutesConstraintProto* mutable_routes();
4128  void set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes);
4129  private:
4130  const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
4131  ::operations_research::sat::RoutesConstraintProto* _internal_mutable_routes();
4132  public:
4134  ::operations_research::sat::RoutesConstraintProto* routes);
4135  ::operations_research::sat::RoutesConstraintProto* unsafe_arena_release_routes();
4136 
4137  // .operations_research.sat.TableConstraintProto table = 16;
4138  bool has_table() const;
4139  private:
4140  bool _internal_has_table() const;
4141  public:
4142  void clear_table();
4143  const ::operations_research::sat::TableConstraintProto& table() const;
4144  ::operations_research::sat::TableConstraintProto* release_table();
4145  ::operations_research::sat::TableConstraintProto* mutable_table();
4146  void set_allocated_table(::operations_research::sat::TableConstraintProto* table);
4147  private:
4148  const ::operations_research::sat::TableConstraintProto& _internal_table() const;
4149  ::operations_research::sat::TableConstraintProto* _internal_mutable_table();
4150  public:
4152  ::operations_research::sat::TableConstraintProto* table);
4153  ::operations_research::sat::TableConstraintProto* unsafe_arena_release_table();
4154 
4155  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
4156  bool has_automaton() const;
4157  private:
4158  bool _internal_has_automaton() const;
4159  public:
4161  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
4162  ::operations_research::sat::AutomatonConstraintProto* release_automaton();
4163  ::operations_research::sat::AutomatonConstraintProto* mutable_automaton();
4164  void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton);
4165  private:
4166  const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
4167  ::operations_research::sat::AutomatonConstraintProto* _internal_mutable_automaton();
4168  public:
4170  ::operations_research::sat::AutomatonConstraintProto* automaton);
4171  ::operations_research::sat::AutomatonConstraintProto* unsafe_arena_release_automaton();
4172 
4173  // .operations_research.sat.InverseConstraintProto inverse = 18;
4174  bool has_inverse() const;
4175  private:
4176  bool _internal_has_inverse() const;
4177  public:
4179  const ::operations_research::sat::InverseConstraintProto& inverse() const;
4180  ::operations_research::sat::InverseConstraintProto* release_inverse();
4181  ::operations_research::sat::InverseConstraintProto* mutable_inverse();
4182  void set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse);
4183  private:
4184  const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
4185  ::operations_research::sat::InverseConstraintProto* _internal_mutable_inverse();
4186  public:
4188  ::operations_research::sat::InverseConstraintProto* inverse);
4189  ::operations_research::sat::InverseConstraintProto* unsafe_arena_release_inverse();
4190 
4191  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
4192  bool has_reservoir() const;
4193  private:
4194  bool _internal_has_reservoir() const;
4195  public:
4197  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
4198  ::operations_research::sat::ReservoirConstraintProto* release_reservoir();
4199  ::operations_research::sat::ReservoirConstraintProto* mutable_reservoir();
4200  void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir);
4201  private:
4202  const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
4203  ::operations_research::sat::ReservoirConstraintProto* _internal_mutable_reservoir();
4204  public:
4206  ::operations_research::sat::ReservoirConstraintProto* reservoir);
4207  ::operations_research::sat::ReservoirConstraintProto* unsafe_arena_release_reservoir();
4208 
4209  // .operations_research.sat.IntervalConstraintProto interval = 19;
4210  bool has_interval() const;
4211  private:
4212  bool _internal_has_interval() const;
4213  public:
4215  const ::operations_research::sat::IntervalConstraintProto& interval() const;
4216  ::operations_research::sat::IntervalConstraintProto* release_interval();
4217  ::operations_research::sat::IntervalConstraintProto* mutable_interval();
4218  void set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval);
4219  private:
4220  const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
4221  ::operations_research::sat::IntervalConstraintProto* _internal_mutable_interval();
4222  public:
4224  ::operations_research::sat::IntervalConstraintProto* interval);
4225  ::operations_research::sat::IntervalConstraintProto* unsafe_arena_release_interval();
4226 
4227  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
4228  bool has_no_overlap() const;
4229  private:
4230  bool _internal_has_no_overlap() const;
4231  public:
4233  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
4234  ::operations_research::sat::NoOverlapConstraintProto* release_no_overlap();
4235  ::operations_research::sat::NoOverlapConstraintProto* mutable_no_overlap();
4236  void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4237  private:
4238  const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
4239  ::operations_research::sat::NoOverlapConstraintProto* _internal_mutable_no_overlap();
4240  public:
4242  ::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4243  ::operations_research::sat::NoOverlapConstraintProto* unsafe_arena_release_no_overlap();
4244 
4245  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
4246  bool has_no_overlap_2d() const;
4247  private:
4248  bool _internal_has_no_overlap_2d() const;
4249  public:
4251  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
4252  ::operations_research::sat::NoOverlap2DConstraintProto* release_no_overlap_2d();
4253  ::operations_research::sat::NoOverlap2DConstraintProto* mutable_no_overlap_2d();
4254  void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4255  private:
4256  const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
4257  ::operations_research::sat::NoOverlap2DConstraintProto* _internal_mutable_no_overlap_2d();
4258  public:
4260  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4261  ::operations_research::sat::NoOverlap2DConstraintProto* unsafe_arena_release_no_overlap_2d();
4262 
4263  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
4264  bool has_cumulative() const;
4265  private:
4266  bool _internal_has_cumulative() const;
4267  public:
4269  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
4270  ::operations_research::sat::CumulativeConstraintProto* release_cumulative();
4271  ::operations_research::sat::CumulativeConstraintProto* mutable_cumulative();
4272  void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative);
4273  private:
4274  const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
4275  ::operations_research::sat::CumulativeConstraintProto* _internal_mutable_cumulative();
4276  public:
4278  ::operations_research::sat::CumulativeConstraintProto* cumulative);
4279  ::operations_research::sat::CumulativeConstraintProto* unsafe_arena_release_cumulative();
4280 
4283  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
4284  private:
4285  class _Internal;
4286  void set_has_bool_or();
4287  void set_has_bool_and();
4288  void set_has_at_most_one();
4289  void set_has_exactly_one();
4290  void set_has_bool_xor();
4291  void set_has_int_div();
4292  void set_has_int_mod();
4293  void set_has_int_max();
4294  void set_has_lin_max();
4295  void set_has_int_min();
4296  void set_has_lin_min();
4297  void set_has_int_prod();
4298  void set_has_linear();
4299  void set_has_all_diff();
4300  void set_has_element();
4301  void set_has_circuit();
4302  void set_has_routes();
4303  void set_has_table();
4304  void set_has_automaton();
4305  void set_has_inverse();
4306  void set_has_reservoir();
4307  void set_has_interval();
4308  void set_has_no_overlap();
4309  void set_has_no_overlap_2d();
4310  void set_has_cumulative();
4311 
4312  inline bool has_constraint() const;
4313  inline void clear_has_constraint();
4314 
4315  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4316  typedef void InternalArenaConstructable_;
4317  typedef void DestructorSkippable_;
4318  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > enforcement_literal_;
4319  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
4320  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4321  union ConstraintUnion {
4322  ConstraintUnion() {}
4323  ::operations_research::sat::BoolArgumentProto* bool_or_;
4324  ::operations_research::sat::BoolArgumentProto* bool_and_;
4325  ::operations_research::sat::BoolArgumentProto* at_most_one_;
4326  ::operations_research::sat::BoolArgumentProto* exactly_one_;
4327  ::operations_research::sat::BoolArgumentProto* bool_xor_;
4328  ::operations_research::sat::IntegerArgumentProto* int_div_;
4329  ::operations_research::sat::IntegerArgumentProto* int_mod_;
4330  ::operations_research::sat::IntegerArgumentProto* int_max_;
4331  ::operations_research::sat::LinearArgumentProto* lin_max_;
4332  ::operations_research::sat::IntegerArgumentProto* int_min_;
4333  ::operations_research::sat::LinearArgumentProto* lin_min_;
4334  ::operations_research::sat::IntegerArgumentProto* int_prod_;
4335  ::operations_research::sat::LinearConstraintProto* linear_;
4336  ::operations_research::sat::AllDifferentConstraintProto* all_diff_;
4337  ::operations_research::sat::ElementConstraintProto* element_;
4338  ::operations_research::sat::CircuitConstraintProto* circuit_;
4339  ::operations_research::sat::RoutesConstraintProto* routes_;
4340  ::operations_research::sat::TableConstraintProto* table_;
4341  ::operations_research::sat::AutomatonConstraintProto* automaton_;
4342  ::operations_research::sat::InverseConstraintProto* inverse_;
4343  ::operations_research::sat::ReservoirConstraintProto* reservoir_;
4344  ::operations_research::sat::IntervalConstraintProto* interval_;
4345  ::operations_research::sat::NoOverlapConstraintProto* no_overlap_;
4346  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d_;
4347  ::operations_research::sat::CumulativeConstraintProto* cumulative_;
4348  } constraint_;
4349  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4350  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
4351 
4352  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4353 };
4354 // -------------------------------------------------------------------
4355 
4356 class CpObjectiveProto PROTOBUF_FINAL :
4357  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
4358  public:
4359  inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
4361 
4362  CpObjectiveProto(const CpObjectiveProto& from);
4363  CpObjectiveProto(CpObjectiveProto&& from) noexcept
4364  : CpObjectiveProto() {
4365  *this = ::std::move(from);
4366  }
4367 
4368  inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
4369  CopyFrom(from);
4370  return *this;
4371  }
4372  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
4373  if (GetArena() == from.GetArena()) {
4374  if (this != &from) InternalSwap(&from);
4375  } else {
4376  CopyFrom(from);
4377  }
4378  return *this;
4379  }
4380 
4381  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4382  return GetDescriptor();
4383  }
4384  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4385  return GetMetadataStatic().descriptor;
4386  }
4387  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4388  return GetMetadataStatic().reflection;
4389  }
4390  static const CpObjectiveProto& default_instance();
4391 
4392  static inline const CpObjectiveProto* internal_default_instance() {
4393  return reinterpret_cast<const CpObjectiveProto*>(
4395  }
4396  static constexpr int kIndexInFileMessages =
4397  19;
4398 
4399  friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) {
4400  a.Swap(&b);
4401  }
4402  inline void Swap(CpObjectiveProto* other) {
4403  if (other == this) return;
4404  if (GetArena() == other->GetArena()) {
4405  InternalSwap(other);
4406  } else {
4407  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4408  }
4409  }
4410  void UnsafeArenaSwap(CpObjectiveProto* other) {
4411  if (other == this) return;
4412  GOOGLE_DCHECK(GetArena() == other->GetArena());
4413  InternalSwap(other);
4414  }
4415 
4416  // implements Message ----------------------------------------------
4417 
4418  inline CpObjectiveProto* New() const final {
4419  return CreateMaybeMessage<CpObjectiveProto>(nullptr);
4420  }
4421 
4422  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4423  return CreateMaybeMessage<CpObjectiveProto>(arena);
4424  }
4425  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4426  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4427  void CopyFrom(const CpObjectiveProto& from);
4428  void MergeFrom(const CpObjectiveProto& from);
4429  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4430  bool IsInitialized() const final;
4431 
4432  size_t ByteSizeLong() const final;
4433  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4434  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4435  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4436  int GetCachedSize() const final { return _cached_size_.Get(); }
4437 
4438  private:
4439  inline void SharedCtor();
4440  inline void SharedDtor();
4441  void SetCachedSize(int size) const final;
4442  void InternalSwap(CpObjectiveProto* other);
4443  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4444  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4445  return "operations_research.sat.CpObjectiveProto";
4446  }
4447  protected:
4448  explicit CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4449  private:
4450  static void ArenaDtor(void* object);
4451  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4452  public:
4453 
4454  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4455  private:
4456  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4457  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4458  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4459  }
4460 
4461  public:
4462 
4463  // nested types ----------------------------------------------------
4464 
4465  // accessors -------------------------------------------------------
4466 
4467  enum : int {
4468  kVarsFieldNumber = 1,
4469  kCoeffsFieldNumber = 4,
4470  kDomainFieldNumber = 5,
4471  kOffsetFieldNumber = 2,
4472  kScalingFactorFieldNumber = 3,
4473  };
4474  // repeated int32 vars = 1;
4475  int vars_size() const;
4476  private:
4477  int _internal_vars_size() const;
4478  public:
4479  void clear_vars();
4480  private:
4481  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
4482  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4483  _internal_vars() const;
4484  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4485  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4486  _internal_mutable_vars();
4487  public:
4491  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4492  vars() const;
4493  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4495 
4496  // repeated int64 coeffs = 4;
4497  int coeffs_size() const;
4498  private:
4499  int _internal_coeffs_size() const;
4500  public:
4502  private:
4503  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
4504  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4505  _internal_coeffs() const;
4506  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4507  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4508  _internal_mutable_coeffs();
4509  public:
4513  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4514  coeffs() const;
4515  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4517 
4518  // repeated int64 domain = 5;
4519  int domain_size() const;
4520  private:
4521  int _internal_domain_size() const;
4522  public:
4524  private:
4525  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
4526  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4527  _internal_domain() const;
4528  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4529  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4530  _internal_mutable_domain();
4531  public:
4535  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4536  domain() const;
4537  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4539 
4540  // double offset = 2;
4542  double offset() const;
4543  void set_offset(double value);
4544  private:
4545  double _internal_offset() const;
4546  void _internal_set_offset(double value);
4547  public:
4548 
4549  // double scaling_factor = 3;
4551  double scaling_factor() const;
4553  private:
4554  double _internal_scaling_factor() const;
4555  void _internal_set_scaling_factor(double value);
4556  public:
4557 
4558  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
4559  private:
4560  class _Internal;
4561 
4562  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4563  typedef void InternalArenaConstructable_;
4564  typedef void DestructorSkippable_;
4565  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
4566  mutable std::atomic<int> _vars_cached_byte_size_;
4567  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
4568  mutable std::atomic<int> _coeffs_cached_byte_size_;
4569  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
4570  mutable std::atomic<int> _domain_cached_byte_size_;
4571  double offset_;
4572  double scaling_factor_;
4573  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4574  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4575 };
4576 // -------------------------------------------------------------------
4577 
4578 class DecisionStrategyProto_AffineTransformation PROTOBUF_FINAL :
4579  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
4580  public:
4581  inline DecisionStrategyProto_AffineTransformation() : DecisionStrategyProto_AffineTransformation(nullptr) {}
4583 
4584  DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation& from);
4585  DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation&& from) noexcept
4586  : DecisionStrategyProto_AffineTransformation() {
4587  *this = ::std::move(from);
4588  }
4589 
4590  inline DecisionStrategyProto_AffineTransformation& operator=(const DecisionStrategyProto_AffineTransformation& from) {
4591  CopyFrom(from);
4592  return *this;
4593  }
4594  inline DecisionStrategyProto_AffineTransformation& operator=(DecisionStrategyProto_AffineTransformation&& from) noexcept {
4595  if (GetArena() == from.GetArena()) {
4596  if (this != &from) InternalSwap(&from);
4597  } else {
4598  CopyFrom(from);
4599  }
4600  return *this;
4601  }
4602 
4603  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4604  return GetDescriptor();
4605  }
4606  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4607  return GetMetadataStatic().descriptor;
4608  }
4609  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4610  return GetMetadataStatic().reflection;
4611  }
4612  static const DecisionStrategyProto_AffineTransformation& default_instance();
4613 
4614  static inline const DecisionStrategyProto_AffineTransformation* internal_default_instance() {
4615  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
4617  }
4618  static constexpr int kIndexInFileMessages =
4619  20;
4620 
4621  friend void swap(DecisionStrategyProto_AffineTransformation& a, DecisionStrategyProto_AffineTransformation& b) {
4622  a.Swap(&b);
4623  }
4624  inline void Swap(DecisionStrategyProto_AffineTransformation* other) {
4625  if (other == this) return;
4626  if (GetArena() == other->GetArena()) {
4627  InternalSwap(other);
4628  } else {
4629  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4630  }
4631  }
4632  void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation* other) {
4633  if (other == this) return;
4634  GOOGLE_DCHECK(GetArena() == other->GetArena());
4635  InternalSwap(other);
4636  }
4637 
4638  // implements Message ----------------------------------------------
4639 
4640  inline DecisionStrategyProto_AffineTransformation* New() const final {
4641  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(nullptr);
4642  }
4643 
4644  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4645  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
4646  }
4647  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4648  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4649  void CopyFrom(const DecisionStrategyProto_AffineTransformation& from);
4650  void MergeFrom(const DecisionStrategyProto_AffineTransformation& from);
4651  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4652  bool IsInitialized() const final;
4653 
4654  size_t ByteSizeLong() const final;
4655  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4656  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4657  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4658  int GetCachedSize() const final { return _cached_size_.Get(); }
4659 
4660  private:
4661  inline void SharedCtor();
4662  inline void SharedDtor();
4663  void SetCachedSize(int size) const final;
4664  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
4665  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4666  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4667  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
4668  }
4669  protected:
4670  explicit DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4671  private:
4672  static void ArenaDtor(void* object);
4673  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4674  public:
4675 
4676  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4677  private:
4678  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4679  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4680  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4681  }
4682 
4683  public:
4684 
4685  // nested types ----------------------------------------------------
4686 
4687  // accessors -------------------------------------------------------
4688 
4689  enum : int {
4690  kOffsetFieldNumber = 2,
4691  kPositiveCoeffFieldNumber = 3,
4692  kVarFieldNumber = 1,
4693  };
4694  // int64 offset = 2;
4698  private:
4699  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
4700  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4701  public:
4702 
4703  // int64 positive_coeff = 3;
4707  private:
4708  ::PROTOBUF_NAMESPACE_ID::int64 _internal_positive_coeff() const;
4709  void _internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4710  public:
4711 
4712  // int32 var = 1;
4713  void clear_var();
4716  private:
4717  ::PROTOBUF_NAMESPACE_ID::int32 _internal_var() const;
4718  void _internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value);
4719  public:
4720 
4721  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
4722  private:
4723  class _Internal;
4724 
4725  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4726  typedef void InternalArenaConstructable_;
4727  typedef void DestructorSkippable_;
4729  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff_;
4731  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4732  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4733 };
4734 // -------------------------------------------------------------------
4735 
4736 class DecisionStrategyProto PROTOBUF_FINAL :
4737  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
4738  public:
4739  inline DecisionStrategyProto() : DecisionStrategyProto(nullptr) {}
4741 
4742  DecisionStrategyProto(const DecisionStrategyProto& from);
4743  DecisionStrategyProto(DecisionStrategyProto&& from) noexcept
4744  : DecisionStrategyProto() {
4745  *this = ::std::move(from);
4746  }
4747 
4748  inline DecisionStrategyProto& operator=(const DecisionStrategyProto& from) {
4749  CopyFrom(from);
4750  return *this;
4751  }
4752  inline DecisionStrategyProto& operator=(DecisionStrategyProto&& from) noexcept {
4753  if (GetArena() == from.GetArena()) {
4754  if (this != &from) InternalSwap(&from);
4755  } else {
4756  CopyFrom(from);
4757  }
4758  return *this;
4759  }
4760 
4761  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4762  return GetDescriptor();
4763  }
4764  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4765  return GetMetadataStatic().descriptor;
4766  }
4767  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4768  return GetMetadataStatic().reflection;
4769  }
4770  static const DecisionStrategyProto& default_instance();
4771 
4772  static inline const DecisionStrategyProto* internal_default_instance() {
4773  return reinterpret_cast<const DecisionStrategyProto*>(
4775  }
4776  static constexpr int kIndexInFileMessages =
4777  21;
4778 
4779  friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) {
4780  a.Swap(&b);
4781  }
4782  inline void Swap(DecisionStrategyProto* other) {
4783  if (other == this) return;
4784  if (GetArena() == other->GetArena()) {
4785  InternalSwap(other);
4786  } else {
4787  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4788  }
4789  }
4790  void UnsafeArenaSwap(DecisionStrategyProto* other) {
4791  if (other == this) return;
4792  GOOGLE_DCHECK(GetArena() == other->GetArena());
4793  InternalSwap(other);
4794  }
4795 
4796  // implements Message ----------------------------------------------
4797 
4798  inline DecisionStrategyProto* New() const final {
4799  return CreateMaybeMessage<DecisionStrategyProto>(nullptr);
4800  }
4801 
4802  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4803  return CreateMaybeMessage<DecisionStrategyProto>(arena);
4804  }
4805  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4806  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4807  void CopyFrom(const DecisionStrategyProto& from);
4808  void MergeFrom(const DecisionStrategyProto& from);
4809  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4810  bool IsInitialized() const final;
4811 
4812  size_t ByteSizeLong() const final;
4813  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4814  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4815  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4816  int GetCachedSize() const final { return _cached_size_.Get(); }
4817 
4818  private:
4819  inline void SharedCtor();
4820  inline void SharedDtor();
4821  void SetCachedSize(int size) const final;
4822  void InternalSwap(DecisionStrategyProto* other);
4823  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4824  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4825  return "operations_research.sat.DecisionStrategyProto";
4826  }
4827  protected:
4828  explicit DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4829  private:
4830  static void ArenaDtor(void* object);
4831  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4832  public:
4833 
4834  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4835  private:
4836  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4837  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4838  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4839  }
4840 
4841  public:
4842 
4843  // nested types ----------------------------------------------------
4844 
4845  typedef DecisionStrategyProto_AffineTransformation AffineTransformation;
4846 
4848  static constexpr VariableSelectionStrategy CHOOSE_FIRST =
4850  static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN =
4852  static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX =
4854  static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE =
4856  static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE =
4858  static inline bool VariableSelectionStrategy_IsValid(int value) {
4860  }
4861  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN =
4863  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX =
4865  static constexpr int VariableSelectionStrategy_ARRAYSIZE =
4867  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
4870  }
4871  template<typename T>
4872  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
4875  "Incorrect type passed to function VariableSelectionStrategy_Name.");
4877  }
4878  static inline bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
4881  }
4882 
4884  static constexpr DomainReductionStrategy SELECT_MIN_VALUE =
4886  static constexpr DomainReductionStrategy SELECT_MAX_VALUE =
4888  static constexpr DomainReductionStrategy SELECT_LOWER_HALF =
4890  static constexpr DomainReductionStrategy SELECT_UPPER_HALF =
4892  static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE =
4894  static inline bool DomainReductionStrategy_IsValid(int value) {
4896  }
4897  static constexpr DomainReductionStrategy DomainReductionStrategy_MIN =
4899  static constexpr DomainReductionStrategy DomainReductionStrategy_MAX =
4901  static constexpr int DomainReductionStrategy_ARRAYSIZE =
4903  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
4906  }
4907  template<typename T>
4908  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
4911  "Incorrect type passed to function DomainReductionStrategy_Name.");
4913  }
4914  static inline bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
4917  }
4918 
4919  // accessors -------------------------------------------------------
4920 
4921  enum : int {
4922  kVariablesFieldNumber = 1,
4923  kTransformationsFieldNumber = 4,
4924  kVariableSelectionStrategyFieldNumber = 2,
4925  kDomainReductionStrategyFieldNumber = 3,
4926  };
4927  // repeated int32 variables = 1;
4928  int variables_size() const;
4929  private:
4930  int _internal_variables_size() const;
4931  public:
4933  private:
4934  ::PROTOBUF_NAMESPACE_ID::int32 _internal_variables(int index) const;
4935  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4936  _internal_variables() const;
4937  void _internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
4938  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4939  _internal_mutable_variables();
4940  public:
4944  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4945  variables() const;
4946  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4948 
4949  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
4951  private:
4952  int _internal_transformations_size() const;
4953  public:
4955  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* mutable_transformations(int index);
4956  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
4958  private:
4959  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& _internal_transformations(int index) const;
4960  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* _internal_add_transformations();
4961  public:
4962  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
4963  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* add_transformations();
4964  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
4966 
4967  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
4971  private:
4972  ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
4973  void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
4974  public:
4975 
4976  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
4980  private:
4981  ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
4982  void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
4983  public:
4984 
4985  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
4986  private:
4987  class _Internal;
4988 
4989  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4990  typedef void InternalArenaConstructable_;
4991  typedef void DestructorSkippable_;
4992  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > variables_;
4993  mutable std::atomic<int> _variables_cached_byte_size_;
4994  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
4995  int variable_selection_strategy_;
4996  int domain_reduction_strategy_;
4997  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4998  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4999 };
5000 // -------------------------------------------------------------------
5001 
5002 class PartialVariableAssignment PROTOBUF_FINAL :
5003  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
5004  public:
5005  inline PartialVariableAssignment() : PartialVariableAssignment(nullptr) {}
5007 
5008  PartialVariableAssignment(const PartialVariableAssignment& from);
5009  PartialVariableAssignment(PartialVariableAssignment&& from) noexcept
5010  : PartialVariableAssignment() {
5011  *this = ::std::move(from);
5012  }
5013 
5014  inline PartialVariableAssignment& operator=(const PartialVariableAssignment& from) {
5015  CopyFrom(from);
5016  return *this;
5017  }
5018  inline PartialVariableAssignment& operator=(PartialVariableAssignment&& from) noexcept {
5019  if (GetArena() == from.GetArena()) {
5020  if (this != &from) InternalSwap(&from);
5021  } else {
5022  CopyFrom(from);
5023  }
5024  return *this;
5025  }
5026 
5027  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5028  return GetDescriptor();
5029  }
5030  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5031  return GetMetadataStatic().descriptor;
5032  }
5033  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5034  return GetMetadataStatic().reflection;
5035  }
5036  static const PartialVariableAssignment& default_instance();
5037 
5038  static inline const PartialVariableAssignment* internal_default_instance() {
5039  return reinterpret_cast<const PartialVariableAssignment*>(
5041  }
5042  static constexpr int kIndexInFileMessages =
5043  22;
5044 
5045  friend void swap(PartialVariableAssignment& a, PartialVariableAssignment& b) {
5046  a.Swap(&b);
5047  }
5048  inline void Swap(PartialVariableAssignment* other) {
5049  if (other == this) return;
5050  if (GetArena() == other->GetArena()) {
5051  InternalSwap(other);
5052  } else {
5053  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5054  }
5055  }
5056  void UnsafeArenaSwap(PartialVariableAssignment* other) {
5057  if (other == this) return;
5058  GOOGLE_DCHECK(GetArena() == other->GetArena());
5059  InternalSwap(other);
5060  }
5061 
5062  // implements Message ----------------------------------------------
5063 
5064  inline PartialVariableAssignment* New() const final {
5065  return CreateMaybeMessage<PartialVariableAssignment>(nullptr);
5066  }
5067 
5068  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5069  return CreateMaybeMessage<PartialVariableAssignment>(arena);
5070  }
5071  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5072  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5073  void CopyFrom(const PartialVariableAssignment& from);
5074  void MergeFrom(const PartialVariableAssignment& from);
5075  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5076  bool IsInitialized() const final;
5077 
5078  size_t ByteSizeLong() const final;
5079  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5080  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5081  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5082  int GetCachedSize() const final { return _cached_size_.Get(); }
5083 
5084  private:
5085  inline void SharedCtor();
5086  inline void SharedDtor();
5087  void SetCachedSize(int size) const final;
5088  void InternalSwap(PartialVariableAssignment* other);
5089  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5090  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5091  return "operations_research.sat.PartialVariableAssignment";
5092  }
5093  protected:
5094  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5095  private:
5096  static void ArenaDtor(void* object);
5097  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5098  public:
5099 
5100  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5101  private:
5102  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5103  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5104  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5105  }
5106 
5107  public:
5108 
5109  // nested types ----------------------------------------------------
5110 
5111  // accessors -------------------------------------------------------
5112 
5113  enum : int {
5114  kVarsFieldNumber = 1,
5115  kValuesFieldNumber = 2,
5116  };
5117  // repeated int32 vars = 1;
5118  int vars_size() const;
5119  private:
5120  int _internal_vars_size() const;
5121  public:
5122  void clear_vars();
5123  private:
5124  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
5125  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5126  _internal_vars() const;
5127  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5128  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5129  _internal_mutable_vars();
5130  public:
5134  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5135  vars() const;
5136  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5138 
5139  // repeated int64 values = 2;
5140  int values_size() const;
5141  private:
5142  int _internal_values_size() const;
5143  public:
5145  private:
5146  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
5147  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5148  _internal_values() const;
5149  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5150  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5151  _internal_mutable_values();
5152  public:
5156  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5157  values() const;
5158  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5160 
5161  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
5162  private:
5163  class _Internal;
5164 
5165  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5166  typedef void InternalArenaConstructable_;
5167  typedef void DestructorSkippable_;
5168  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
5169  mutable std::atomic<int> _vars_cached_byte_size_;
5170  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
5171  mutable std::atomic<int> _values_cached_byte_size_;
5172  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5173  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5174 };
5175 // -------------------------------------------------------------------
5176 
5177 class CpModelProto PROTOBUF_FINAL :
5178  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
5179  public:
5180  inline CpModelProto() : CpModelProto(nullptr) {}
5181  virtual ~CpModelProto();
5182 
5183  CpModelProto(const CpModelProto& from);
5184  CpModelProto(CpModelProto&& from) noexcept
5185  : CpModelProto() {
5186  *this = ::std::move(from);
5187  }
5188 
5189  inline CpModelProto& operator=(const CpModelProto& from) {
5190  CopyFrom(from);
5191  return *this;
5192  }
5193  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
5194  if (GetArena() == from.GetArena()) {
5195  if (this != &from) InternalSwap(&from);
5196  } else {
5197  CopyFrom(from);
5198  }
5199  return *this;
5200  }
5201 
5202  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5203  return GetDescriptor();
5204  }
5205  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5206  return GetMetadataStatic().descriptor;
5207  }
5208  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5209  return GetMetadataStatic().reflection;
5210  }
5211  static const CpModelProto& default_instance();
5212 
5213  static inline const CpModelProto* internal_default_instance() {
5214  return reinterpret_cast<const CpModelProto*>(
5216  }
5217  static constexpr int kIndexInFileMessages =
5218  23;
5219 
5220  friend void swap(CpModelProto& a, CpModelProto& b) {
5221  a.Swap(&b);
5222  }
5223  inline void Swap(CpModelProto* other) {
5224  if (other == this) return;
5225  if (GetArena() == other->GetArena()) {
5226  InternalSwap(other);
5227  } else {
5228  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5229  }
5230  }
5231  void UnsafeArenaSwap(CpModelProto* other) {
5232  if (other == this) return;
5233  GOOGLE_DCHECK(GetArena() == other->GetArena());
5234  InternalSwap(other);
5235  }
5236 
5237  // implements Message ----------------------------------------------
5238 
5239  inline CpModelProto* New() const final {
5240  return CreateMaybeMessage<CpModelProto>(nullptr);
5241  }
5242 
5243  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5244  return CreateMaybeMessage<CpModelProto>(arena);
5245  }
5246  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5247  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5248  void CopyFrom(const CpModelProto& from);
5249  void MergeFrom(const CpModelProto& from);
5250  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5251  bool IsInitialized() const final;
5252 
5253  size_t ByteSizeLong() const final;
5254  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5255  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5256  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5257  int GetCachedSize() const final { return _cached_size_.Get(); }
5258 
5259  private:
5260  inline void SharedCtor();
5261  inline void SharedDtor();
5262  void SetCachedSize(int size) const final;
5263  void InternalSwap(CpModelProto* other);
5264  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5265  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5266  return "operations_research.sat.CpModelProto";
5267  }
5268  protected:
5269  explicit CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5270  private:
5271  static void ArenaDtor(void* object);
5272  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5273  public:
5274 
5275  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5276  private:
5277  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5278  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5279  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5280  }
5281 
5282  public:
5283 
5284  // nested types ----------------------------------------------------
5285 
5286  // accessors -------------------------------------------------------
5287 
5288  enum : int {
5289  kVariablesFieldNumber = 2,
5290  kConstraintsFieldNumber = 3,
5291  kSearchStrategyFieldNumber = 5,
5292  kAssumptionsFieldNumber = 7,
5293  kNameFieldNumber = 1,
5294  kObjectiveFieldNumber = 4,
5295  kSolutionHintFieldNumber = 6,
5296  };
5297  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
5298  int variables_size() const;
5299  private:
5300  int _internal_variables_size() const;
5301  public:
5303  ::operations_research::sat::IntegerVariableProto* mutable_variables(int index);
5304  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5306  private:
5307  const ::operations_research::sat::IntegerVariableProto& _internal_variables(int index) const;
5308  ::operations_research::sat::IntegerVariableProto* _internal_add_variables();
5309  public:
5310  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
5311  ::operations_research::sat::IntegerVariableProto* add_variables();
5312  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5313  variables() const;
5314 
5315  // repeated .operations_research.sat.ConstraintProto constraints = 3;
5316  int constraints_size() const;
5317  private:
5318  int _internal_constraints_size() const;
5319  public:
5321  ::operations_research::sat::ConstraintProto* mutable_constraints(int index);
5322  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
5324  private:
5325  const ::operations_research::sat::ConstraintProto& _internal_constraints(int index) const;
5326  ::operations_research::sat::ConstraintProto* _internal_add_constraints();
5327  public:
5328  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
5329  ::operations_research::sat::ConstraintProto* add_constraints();
5330  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
5331  constraints() const;
5332 
5333  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
5335  private:
5336  int _internal_search_strategy_size() const;
5337  public:
5339  ::operations_research::sat::DecisionStrategyProto* mutable_search_strategy(int index);
5340  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
5342  private:
5343  const ::operations_research::sat::DecisionStrategyProto& _internal_search_strategy(int index) const;
5344  ::operations_research::sat::DecisionStrategyProto* _internal_add_search_strategy();
5345  public:
5346  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
5347  ::operations_research::sat::DecisionStrategyProto* add_search_strategy();
5348  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
5350 
5351  // repeated int32 assumptions = 7;
5352  int assumptions_size() const;
5353  private:
5354  int _internal_assumptions_size() const;
5355  public:
5357  private:
5358  ::PROTOBUF_NAMESPACE_ID::int32 _internal_assumptions(int index) const;
5359  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5360  _internal_assumptions() const;
5361  void _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
5362  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5363  _internal_mutable_assumptions();
5364  public:
5368  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5369  assumptions() const;
5370  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5372 
5373  // string name = 1;
5374  void clear_name();
5375  const std::string& name() const;
5376  void set_name(const std::string& value);
5377  void set_name(std::string&& value);
5378  void set_name(const char* value);
5379  void set_name(const char* value, size_t size);
5380  std::string* mutable_name();
5381  std::string* release_name();
5382  void set_allocated_name(std::string* name);
5383  private:
5384  const std::string& _internal_name() const;
5385  void _internal_set_name(const std::string& value);
5386  std::string* _internal_mutable_name();
5387  public:
5388 
5389  // .operations_research.sat.CpObjectiveProto objective = 4;
5390  bool has_objective() const;
5391  private:
5392  bool _internal_has_objective() const;
5393  public:
5395  const ::operations_research::sat::CpObjectiveProto& objective() const;
5396  ::operations_research::sat::CpObjectiveProto* release_objective();
5397  ::operations_research::sat::CpObjectiveProto* mutable_objective();
5398  void set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective);
5399  private:
5400  const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
5401  ::operations_research::sat::CpObjectiveProto* _internal_mutable_objective();
5402  public:
5404  ::operations_research::sat::CpObjectiveProto* objective);
5405  ::operations_research::sat::CpObjectiveProto* unsafe_arena_release_objective();
5406 
5407  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
5408  bool has_solution_hint() const;
5409  private:
5410  bool _internal_has_solution_hint() const;
5411  public:
5413  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
5414  ::operations_research::sat::PartialVariableAssignment* release_solution_hint();
5415  ::operations_research::sat::PartialVariableAssignment* mutable_solution_hint();
5416  void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint);
5417  private:
5418  const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
5419  ::operations_research::sat::PartialVariableAssignment* _internal_mutable_solution_hint();
5420  public:
5422  ::operations_research::sat::PartialVariableAssignment* solution_hint);
5423  ::operations_research::sat::PartialVariableAssignment* unsafe_arena_release_solution_hint();
5424 
5425  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
5426  private:
5427  class _Internal;
5428 
5429  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5430  typedef void InternalArenaConstructable_;
5431  typedef void DestructorSkippable_;
5432  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
5433  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
5434  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
5435  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > assumptions_;
5436  mutable std::atomic<int> _assumptions_cached_byte_size_;
5437  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
5438  ::operations_research::sat::CpObjectiveProto* objective_;
5439  ::operations_research::sat::PartialVariableAssignment* solution_hint_;
5440  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5441  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5442 };
5443 // -------------------------------------------------------------------
5444 
5445 class CpSolverResponse PROTOBUF_FINAL :
5446  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
5447  public:
5448  inline CpSolverResponse() : CpSolverResponse(nullptr) {}
5450 
5451  CpSolverResponse(const CpSolverResponse& from);
5452  CpSolverResponse(CpSolverResponse&& from) noexcept
5453  : CpSolverResponse() {
5454  *this = ::std::move(from);
5455  }
5456 
5457  inline CpSolverResponse& operator=(const CpSolverResponse& from) {
5458  CopyFrom(from);
5459  return *this;
5460  }
5461  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
5462  if (GetArena() == from.GetArena()) {
5463  if (this != &from) InternalSwap(&from);
5464  } else {
5465  CopyFrom(from);
5466  }
5467  return *this;
5468  }
5469 
5470  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5471  return GetDescriptor();
5472  }
5473  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5474  return GetMetadataStatic().descriptor;
5475  }
5476  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5477  return GetMetadataStatic().reflection;
5478  }
5479  static const CpSolverResponse& default_instance();
5480 
5481  static inline const CpSolverResponse* internal_default_instance() {
5482  return reinterpret_cast<const CpSolverResponse*>(
5484  }
5485  static constexpr int kIndexInFileMessages =
5486  24;
5487 
5488  friend void swap(CpSolverResponse& a, CpSolverResponse& b) {
5489  a.Swap(&b);
5490  }
5491  inline void Swap(CpSolverResponse* other) {
5492  if (other == this) return;
5493  if (GetArena() == other->GetArena()) {
5494  InternalSwap(other);
5495  } else {
5496  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5497  }
5498  }
5499  void UnsafeArenaSwap(CpSolverResponse* other) {
5500  if (other == this) return;
5501  GOOGLE_DCHECK(GetArena() == other->GetArena());
5502  InternalSwap(other);
5503  }
5504 
5505  // implements Message ----------------------------------------------
5506 
5507  inline CpSolverResponse* New() const final {
5508  return CreateMaybeMessage<CpSolverResponse>(nullptr);
5509  }
5510 
5511  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5512  return CreateMaybeMessage<CpSolverResponse>(arena);
5513  }
5514  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5515  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5516  void CopyFrom(const CpSolverResponse& from);
5517  void MergeFrom(const CpSolverResponse& from);
5518  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5519  bool IsInitialized() const final;
5520 
5521  size_t ByteSizeLong() const final;
5522  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5523  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5524  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5525  int GetCachedSize() const final { return _cached_size_.Get(); }
5526 
5527  private:
5528  inline void SharedCtor();
5529  inline void SharedDtor();
5530  void SetCachedSize(int size) const final;
5531  void InternalSwap(CpSolverResponse* other);
5532  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5533  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5534  return "operations_research.sat.CpSolverResponse";
5535  }
5536  protected:
5537  explicit CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5538  private:
5539  static void ArenaDtor(void* object);
5540  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5541  public:
5542 
5543  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5544  private:
5545  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5546  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5547  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5548  }
5549 
5550  public:
5551 
5552  // nested types ----------------------------------------------------
5553 
5554  // accessors -------------------------------------------------------
5555 
5556  enum : int {
5557  kSolutionFieldNumber = 2,
5558  kSolutionLowerBoundsFieldNumber = 18,
5559  kSolutionUpperBoundsFieldNumber = 19,
5560  kTightenedVariablesFieldNumber = 21,
5561  kSufficientAssumptionsForInfeasibilityFieldNumber = 23,
5562  kSolutionInfoFieldNumber = 20,
5563  kObjectiveValueFieldNumber = 3,
5564  kStatusFieldNumber = 1,
5565  kAllSolutionsWereFoundFieldNumber = 5,
5566  kBestObjectiveBoundFieldNumber = 4,
5567  kNumBooleansFieldNumber = 10,
5568  kNumConflictsFieldNumber = 11,
5569  kNumBranchesFieldNumber = 12,
5570  kNumBinaryPropagationsFieldNumber = 13,
5571  kNumIntegerPropagationsFieldNumber = 14,
5572  kWallTimeFieldNumber = 15,
5573  kUserTimeFieldNumber = 16,
5574  kDeterministicTimeFieldNumber = 17,
5575  kPrimalIntegralFieldNumber = 22,
5576  kNumRestartsFieldNumber = 24,
5577  kNumLpIterationsFieldNumber = 25,
5578  };
5579  // repeated int64 solution = 2;
5580  int solution_size() const;
5581  private:
5582  int _internal_solution_size() const;
5583  public:
5585  private:
5586  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution(int index) const;
5587  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5588  _internal_solution() const;
5589  void _internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
5590  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5591  _internal_mutable_solution();
5592  public:
5596  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5597  solution() const;
5598  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5600 
5601  // repeated int64 solution_lower_bounds = 18;
5603  private:
5604  int _internal_solution_lower_bounds_size() const;
5605  public:
5607  private:
5608  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_lower_bounds(int index) const;
5609  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5610  _internal_solution_lower_bounds() const;
5611  void _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5612  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5613  _internal_mutable_solution_lower_bounds();
5614  public:
5618  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5620  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5622 
5623  // repeated int64 solution_upper_bounds = 19;
5625  private:
5626  int _internal_solution_upper_bounds_size() const;
5627  public:
5629  private:
5630  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_upper_bounds(int index) const;
5631  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5632  _internal_solution_upper_bounds() const;
5633  void _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5634  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5635  _internal_mutable_solution_upper_bounds();
5636  public:
5640  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5642  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5644 
5645  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
5647  private:
5648  int _internal_tightened_variables_size() const;
5649  public:
5651  ::operations_research::sat::IntegerVariableProto* mutable_tightened_variables(int index);
5652  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5654  private:
5655  const ::operations_research::sat::IntegerVariableProto& _internal_tightened_variables(int index) const;
5656  ::operations_research::sat::IntegerVariableProto* _internal_add_tightened_variables();
5657  public:
5658  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
5659  ::operations_research::sat::IntegerVariableProto* add_tightened_variables();
5660  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5662 
5663  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
5665  private:
5666  int _internal_sufficient_assumptions_for_infeasibility_size() const;
5667  public:
5669  private:
5670  ::PROTOBUF_NAMESPACE_ID::int32 _internal_sufficient_assumptions_for_infeasibility(int index) const;
5671  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5672  _internal_sufficient_assumptions_for_infeasibility() const;
5673  void _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
5674  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5675  _internal_mutable_sufficient_assumptions_for_infeasibility();
5676  public:
5680  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5682  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5684 
5685  // string solution_info = 20;
5687  const std::string& solution_info() const;
5688  void set_solution_info(const std::string& value);
5689  void set_solution_info(std::string&& value);
5690  void set_solution_info(const char* value);
5691  void set_solution_info(const char* value, size_t size);
5692  std::string* mutable_solution_info();
5693  std::string* release_solution_info();
5694  void set_allocated_solution_info(std::string* solution_info);
5695  private:
5696  const std::string& _internal_solution_info() const;
5697  void _internal_set_solution_info(const std::string& value);
5698  std::string* _internal_mutable_solution_info();
5699  public:
5700 
5701  // double objective_value = 3;
5703  double objective_value() const;
5705  private:
5706  double _internal_objective_value() const;
5707  void _internal_set_objective_value(double value);
5708  public:
5709 
5710  // .operations_research.sat.CpSolverStatus status = 1;
5714  private:
5715  ::operations_research::sat::CpSolverStatus _internal_status() const;
5716  void _internal_set_status(::operations_research::sat::CpSolverStatus value);
5717  public:
5718 
5719  // bool all_solutions_were_found = 5;
5723  private:
5724  bool _internal_all_solutions_were_found() const;
5725  void _internal_set_all_solutions_were_found(bool value);
5726  public:
5727 
5728  // double best_objective_bound = 4;
5730  double best_objective_bound() const;
5732  private:
5733  double _internal_best_objective_bound() const;
5734  void _internal_set_best_objective_bound(double value);
5735  public:
5736 
5737  // int64 num_booleans = 10;
5741  private:
5742  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_booleans() const;
5743  void _internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
5744  public:
5745 
5746  // int64 num_conflicts = 11;
5750  private:
5751  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_conflicts() const;
5752  void _internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
5753  public:
5754 
5755  // int64 num_branches = 12;
5759  private:
5760  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_branches() const;
5761  void _internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
5762  public:
5763 
5764  // int64 num_binary_propagations = 13;
5768  private:
5769  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_binary_propagations() const;
5770  void _internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5771  public:
5772 
5773  // int64 num_integer_propagations = 14;
5777  private:
5778  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_integer_propagations() const;
5779  void _internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5780  public:
5781 
5782  // double wall_time = 15;
5784  double wall_time() const;
5785  void set_wall_time(double value);
5786  private:
5787  double _internal_wall_time() const;
5788  void _internal_set_wall_time(double value);
5789  public:
5790 
5791  // double user_time = 16;
5793  double user_time() const;
5794  void set_user_time(double value);
5795  private:
5796  double _internal_user_time() const;
5797  void _internal_set_user_time(double value);
5798  public:
5799 
5800  // double deterministic_time = 17;
5802  double deterministic_time() const;
5804  private:
5805  double _internal_deterministic_time() const;
5806  void _internal_set_deterministic_time(double value);
5807  public:
5808 
5809  // double primal_integral = 22;
5811  double primal_integral() const;
5813  private:
5814  double _internal_primal_integral() const;
5815  void _internal_set_primal_integral(double value);
5816  public:
5817 
5818  // int64 num_restarts = 24;
5822  private:
5823  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_restarts() const;
5824  void _internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value);
5825  public:
5826 
5827  // int64 num_lp_iterations = 25;
5831  private:
5832  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_lp_iterations() const;
5833  void _internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
5834  public:
5835 
5836  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
5837  private:
5838  class _Internal;
5839 
5840  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5841  typedef void InternalArenaConstructable_;
5842  typedef void DestructorSkippable_;
5843  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_;
5844  mutable std::atomic<int> _solution_cached_byte_size_;
5845  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_lower_bounds_;
5846  mutable std::atomic<int> _solution_lower_bounds_cached_byte_size_;
5847  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_upper_bounds_;
5848  mutable std::atomic<int> _solution_upper_bounds_cached_byte_size_;
5849  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
5850  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > sufficient_assumptions_for_infeasibility_;
5851  mutable std::atomic<int> _sufficient_assumptions_for_infeasibility_cached_byte_size_;
5852  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
5853  double objective_value_;
5854  int status_;
5855  bool all_solutions_were_found_;
5856  double best_objective_bound_;
5857  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans_;
5858  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts_;
5859  ::PROTOBUF_NAMESPACE_ID::int64 num_branches_;
5860  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations_;
5861  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations_;
5862  double wall_time_;
5863  double user_time_;
5864  double deterministic_time_;
5865  double primal_integral_;
5866  ::PROTOBUF_NAMESPACE_ID::int64 num_restarts_;
5867  ::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations_;
5868  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5869  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5870 };
5871 // ===================================================================
5872 
5873 
5874 // ===================================================================
5875 
5876 #ifdef __GNUC__
5877  #pragma GCC diagnostic push
5878  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
5879 #endif // __GNUC__
5880 // IntegerVariableProto
5881 
5882 // string name = 1;
5883 inline void IntegerVariableProto::clear_name() {
5884  name_.ClearToEmpty();
5885 }
5886 inline const std::string& IntegerVariableProto::name() const {
5887  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
5888  return _internal_name();
5889 }
5890 inline void IntegerVariableProto::set_name(const std::string& value) {
5891  _internal_set_name(value);
5892  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
5893 }
5894 inline std::string* IntegerVariableProto::mutable_name() {
5895  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
5896  return _internal_mutable_name();
5897 }
5898 inline const std::string& IntegerVariableProto::_internal_name() const {
5899  return name_.Get();
5900 }
5901 inline void IntegerVariableProto::_internal_set_name(const std::string& value) {
5902 
5903  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
5904 }
5905 inline void IntegerVariableProto::set_name(std::string&& value) {
5906 
5907  name_.Set(
5908  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
5909  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.IntegerVariableProto.name)
5910 }
5911 inline void IntegerVariableProto::set_name(const char* value) {
5912  GOOGLE_DCHECK(value != nullptr);
5913 
5914  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
5915  // @@protoc_insertion_point(field_set_char:operations_research.sat.IntegerVariableProto.name)
5916 }
5917 inline void IntegerVariableProto::set_name(const char* value,
5918  size_t size) {
5919 
5920  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
5921  reinterpret_cast<const char*>(value), size), GetArena());
5922  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.IntegerVariableProto.name)
5923 }
5924 inline std::string* IntegerVariableProto::_internal_mutable_name() {
5925 
5926  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
5927 }
5928 inline std::string* IntegerVariableProto::release_name() {
5929  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
5930  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5931 }
5932 inline void IntegerVariableProto::set_allocated_name(std::string* name) {
5933  if (name != nullptr) {
5934 
5935  } else {
5936 
5937  }
5938  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
5939  GetArena());
5940  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
5941 }
5942 
5943 // repeated int64 domain = 2;
5944 inline int IntegerVariableProto::_internal_domain_size() const {
5945  return domain_.size();
5946 }
5947 inline int IntegerVariableProto::domain_size() const {
5948  return _internal_domain_size();
5949 }
5950 inline void IntegerVariableProto::clear_domain() {
5951  domain_.Clear();
5952 }
5953 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::_internal_domain(int index) const {
5954  return domain_.Get(index);
5955 }
5956 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::domain(int index) const {
5957  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
5958  return _internal_domain(index);
5959 }
5960 inline void IntegerVariableProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5961  domain_.Set(index, value);
5962  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
5963 }
5964 inline void IntegerVariableProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
5965  domain_.Add(value);
5966 }
5967 inline void IntegerVariableProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
5968  _internal_add_domain(value);
5969  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
5970 }
5971 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5972 IntegerVariableProto::_internal_domain() const {
5973  return domain_;
5974 }
5975 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5976 IntegerVariableProto::domain() const {
5977  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
5978  return _internal_domain();
5979 }
5980 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5981 IntegerVariableProto::_internal_mutable_domain() {
5982  return &domain_;
5983 }
5984 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5985 IntegerVariableProto::mutable_domain() {
5986  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
5987  return _internal_mutable_domain();
5988 }
5989 
5990 // -------------------------------------------------------------------
5991 
5992 // BoolArgumentProto
5993 
5994 // repeated int32 literals = 1;
5995 inline int BoolArgumentProto::_internal_literals_size() const {
5996  return literals_.size();
5997 }
5998 inline int BoolArgumentProto::literals_size() const {
5999  return _internal_literals_size();
6000 }
6001 inline void BoolArgumentProto::clear_literals() {
6002  literals_.Clear();
6003 }
6004 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::_internal_literals(int index) const {
6005  return literals_.Get(index);
6006 }
6007 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::literals(int index) const {
6008  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
6009  return _internal_literals(index);
6010 }
6011 inline void BoolArgumentProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6012  literals_.Set(index, value);
6013  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
6014 }
6015 inline void BoolArgumentProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6016  literals_.Add(value);
6017 }
6018 inline void BoolArgumentProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6019  _internal_add_literals(value);
6020  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
6021 }
6022 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6023 BoolArgumentProto::_internal_literals() const {
6024  return literals_;
6025 }
6026 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6027 BoolArgumentProto::literals() const {
6028  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
6029  return _internal_literals();
6030 }
6031 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6032 BoolArgumentProto::_internal_mutable_literals() {
6033  return &literals_;
6034 }
6035 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6036 BoolArgumentProto::mutable_literals() {
6037  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
6038  return _internal_mutable_literals();
6039 }
6040 
6041 // -------------------------------------------------------------------
6042 
6043 // IntegerArgumentProto
6044 
6045 // int32 target = 1;
6046 inline void IntegerArgumentProto::clear_target() {
6047  target_ = 0;
6048 }
6049 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_target() const {
6050  return target_;
6051 }
6052 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::target() const {
6053  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.target)
6054  return _internal_target();
6055 }
6056 inline void IntegerArgumentProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6057 
6058  target_ = value;
6059 }
6060 inline void IntegerArgumentProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6061  _internal_set_target(value);
6062  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.target)
6063 }
6064 
6065 // repeated int32 vars = 2;
6066 inline int IntegerArgumentProto::_internal_vars_size() const {
6067  return vars_.size();
6068 }
6069 inline int IntegerArgumentProto::vars_size() const {
6070  return _internal_vars_size();
6071 }
6072 inline void IntegerArgumentProto::clear_vars() {
6073  vars_.Clear();
6074 }
6075 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_vars(int index) const {
6076  return vars_.Get(index);
6077 }
6078 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::vars(int index) const {
6079  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.vars)
6080  return _internal_vars(index);
6081 }
6082 inline void IntegerArgumentProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6083  vars_.Set(index, value);
6084  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.vars)
6085 }
6086 inline void IntegerArgumentProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6087  vars_.Add(value);
6088 }
6089 inline void IntegerArgumentProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6090  _internal_add_vars(value);
6091  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerArgumentProto.vars)
6092 }
6093 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6094 IntegerArgumentProto::_internal_vars() const {
6095  return vars_;
6096 }
6097 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6098 IntegerArgumentProto::vars() const {
6099  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerArgumentProto.vars)
6100  return _internal_vars();
6101 }
6102 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6103 IntegerArgumentProto::_internal_mutable_vars() {
6104  return &vars_;
6105 }
6106 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6107 IntegerArgumentProto::mutable_vars() {
6108  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerArgumentProto.vars)
6109  return _internal_mutable_vars();
6110 }
6111 
6112 // -------------------------------------------------------------------
6113 
6114 // LinearExpressionProto
6115 
6116 // repeated int32 vars = 1;
6117 inline int LinearExpressionProto::_internal_vars_size() const {
6118  return vars_.size();
6119 }
6120 inline int LinearExpressionProto::vars_size() const {
6121  return _internal_vars_size();
6122 }
6123 inline void LinearExpressionProto::clear_vars() {
6124  vars_.Clear();
6125 }
6126 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::_internal_vars(int index) const {
6127  return vars_.Get(index);
6128 }
6129 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::vars(int index) const {
6130  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
6131  return _internal_vars(index);
6132 }
6133 inline void LinearExpressionProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6134  vars_.Set(index, value);
6135  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
6136 }
6137 inline void LinearExpressionProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6138  vars_.Add(value);
6139 }
6140 inline void LinearExpressionProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6141  _internal_add_vars(value);
6142  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
6143 }
6144 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6145 LinearExpressionProto::_internal_vars() const {
6146  return vars_;
6147 }
6148 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6149 LinearExpressionProto::vars() const {
6150  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
6151  return _internal_vars();
6152 }
6153 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6154 LinearExpressionProto::_internal_mutable_vars() {
6155  return &vars_;
6156 }
6157 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6158 LinearExpressionProto::mutable_vars() {
6159  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
6160  return _internal_mutable_vars();
6161 }
6162 
6163 // repeated int64 coeffs = 2;
6164 inline int LinearExpressionProto::_internal_coeffs_size() const {
6165  return coeffs_.size();
6166 }
6167 inline int LinearExpressionProto::coeffs_size() const {
6168  return _internal_coeffs_size();
6169 }
6170 inline void LinearExpressionProto::clear_coeffs() {
6171  coeffs_.Clear();
6172 }
6173 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_coeffs(int index) const {
6174  return coeffs_.Get(index);
6175 }
6176 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::coeffs(int index) const {
6177  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
6178  return _internal_coeffs(index);
6179 }
6180 inline void LinearExpressionProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6181  coeffs_.Set(index, value);
6182  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
6183 }
6184 inline void LinearExpressionProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6185  coeffs_.Add(value);
6186 }
6187 inline void LinearExpressionProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6188  _internal_add_coeffs(value);
6189  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
6190 }
6191 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6192 LinearExpressionProto::_internal_coeffs() const {
6193  return coeffs_;
6194 }
6195 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6196 LinearExpressionProto::coeffs() const {
6197  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
6198  return _internal_coeffs();
6199 }
6200 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6201 LinearExpressionProto::_internal_mutable_coeffs() {
6202  return &coeffs_;
6203 }
6204 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6205 LinearExpressionProto::mutable_coeffs() {
6206  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
6207  return _internal_mutable_coeffs();
6208 }
6209 
6210 // int64 offset = 3;
6211 inline void LinearExpressionProto::clear_offset() {
6212  offset_ = PROTOBUF_LONGLONG(0);
6213 }
6214 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_offset() const {
6215  return offset_;
6216 }
6217 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::offset() const {
6218  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
6219  return _internal_offset();
6220 }
6221 inline void LinearExpressionProto::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6222 
6223  offset_ = value;
6224 }
6225 inline void LinearExpressionProto::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6226  _internal_set_offset(value);
6227  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
6228 }
6229 
6230 // -------------------------------------------------------------------
6231 
6232 // LinearArgumentProto
6233 
6234 // .operations_research.sat.LinearExpressionProto target = 1;
6235 inline bool LinearArgumentProto::_internal_has_target() const {
6236  return this != internal_default_instance() && target_ != nullptr;
6237 }
6238 inline bool LinearArgumentProto::has_target() const {
6239  return _internal_has_target();
6240 }
6241 inline void LinearArgumentProto::clear_target() {
6242  if (GetArena() == nullptr && target_ != nullptr) {
6243  delete target_;
6244  }
6245  target_ = nullptr;
6246 }
6247 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
6248  const ::operations_research::sat::LinearExpressionProto* p = target_;
6249  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
6251 }
6252 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const {
6253  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
6254  return _internal_target();
6255 }
6256 inline void LinearArgumentProto::unsafe_arena_set_allocated_target(
6257  ::operations_research::sat::LinearExpressionProto* target) {
6258  if (GetArena() == nullptr) {
6259  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(target_);
6260  }
6261  target_ = target;
6262  if (target) {
6263 
6264  } else {
6265 
6266  }
6267  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
6268 }
6269 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::release_target() {
6270 
6271  ::operations_research::sat::LinearExpressionProto* temp = target_;
6272  target_ = nullptr;
6273  if (GetArena() != nullptr) {
6274  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6275  }
6276  return temp;
6277 }
6278 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::unsafe_arena_release_target() {
6279  // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
6280 
6281  ::operations_research::sat::LinearExpressionProto* temp = target_;
6282  target_ = nullptr;
6283  return temp;
6284 }
6285 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_mutable_target() {
6286 
6287  if (target_ == nullptr) {
6288  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6289  target_ = p;
6290  }
6291  return target_;
6292 }
6293 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_target() {
6294  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
6295  return _internal_mutable_target();
6296 }
6297 inline void LinearArgumentProto::set_allocated_target(::operations_research::sat::LinearExpressionProto* target) {
6298  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6299  if (message_arena == nullptr) {
6300  delete target_;
6301  }
6302  if (target) {
6303  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6304  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(target);
6305  if (message_arena != submessage_arena) {
6306  target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6307  message_arena, target, submessage_arena);
6308  }
6309 
6310  } else {
6311 
6312  }
6313  target_ = target;
6314  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
6315 }
6316 
6317 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
6318 inline int LinearArgumentProto::_internal_exprs_size() const {
6319  return exprs_.size();
6320 }
6321 inline int LinearArgumentProto::exprs_size() const {
6322  return _internal_exprs_size();
6323 }
6324 inline void LinearArgumentProto::clear_exprs() {
6325  exprs_.Clear();
6326 }
6327 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_exprs(int index) {
6328  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
6329  return exprs_.Mutable(index);
6330 }
6331 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
6332 LinearArgumentProto::mutable_exprs() {
6333  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
6334  return &exprs_;
6335 }
6336 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_exprs(int index) const {
6337  return exprs_.Get(index);
6338 }
6339 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const {
6340  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
6341  return _internal_exprs(index);
6342 }
6343 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_add_exprs() {
6344  return exprs_.Add();
6345 }
6346 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::add_exprs() {
6347  // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
6348  return _internal_add_exprs();
6349 }
6350 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
6351 LinearArgumentProto::exprs() const {
6352  // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
6353  return exprs_;
6354 }
6355 
6356 // -------------------------------------------------------------------
6357 
6358 // AllDifferentConstraintProto
6359 
6360 // repeated int32 vars = 1;
6361 inline int AllDifferentConstraintProto::_internal_vars_size() const {
6362  return vars_.size();
6363 }
6364 inline int AllDifferentConstraintProto::vars_size() const {
6365  return _internal_vars_size();
6366 }
6367 inline void AllDifferentConstraintProto::clear_vars() {
6368  vars_.Clear();
6369 }
6370 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::_internal_vars(int index) const {
6371  return vars_.Get(index);
6372 }
6373 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::vars(int index) const {
6374  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.vars)
6375  return _internal_vars(index);
6376 }
6377 inline void AllDifferentConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6378  vars_.Set(index, value);
6379  // @@protoc_insertion_point(field_set:operations_research.sat.AllDifferentConstraintProto.vars)
6380 }
6381 inline void AllDifferentConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6382  vars_.Add(value);
6383 }
6384 inline void AllDifferentConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6385  _internal_add_vars(value);
6386  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.vars)
6387 }
6388 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6389 AllDifferentConstraintProto::_internal_vars() const {
6390  return vars_;
6391 }
6392 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6393 AllDifferentConstraintProto::vars() const {
6394  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.vars)
6395  return _internal_vars();
6396 }
6397 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6398 AllDifferentConstraintProto::_internal_mutable_vars() {
6399  return &vars_;
6400 }
6401 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6402 AllDifferentConstraintProto::mutable_vars() {
6403  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.vars)
6404  return _internal_mutable_vars();
6405 }
6406 
6407 // -------------------------------------------------------------------
6408 
6409 // LinearConstraintProto
6410 
6411 // repeated int32 vars = 1;
6412 inline int LinearConstraintProto::_internal_vars_size() const {
6413  return vars_.size();
6414 }
6415 inline int LinearConstraintProto::vars_size() const {
6416  return _internal_vars_size();
6417 }
6418 inline void LinearConstraintProto::clear_vars() {
6419  vars_.Clear();
6420 }
6421 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::_internal_vars(int index) const {
6422  return vars_.Get(index);
6423 }
6424 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::vars(int index) const {
6425  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
6426  return _internal_vars(index);
6427 }
6428 inline void LinearConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6429  vars_.Set(index, value);
6430  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
6431 }
6432 inline void LinearConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6433  vars_.Add(value);
6434 }
6435 inline void LinearConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6436  _internal_add_vars(value);
6437  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
6438 }
6439 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6440 LinearConstraintProto::_internal_vars() const {
6441  return vars_;
6442 }
6443 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6444 LinearConstraintProto::vars() const {
6445  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
6446  return _internal_vars();
6447 }
6448 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6449 LinearConstraintProto::_internal_mutable_vars() {
6450  return &vars_;
6451 }
6452 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6453 LinearConstraintProto::mutable_vars() {
6454  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
6455  return _internal_mutable_vars();
6456 }
6457 
6458 // repeated int64 coeffs = 2;
6459 inline int LinearConstraintProto::_internal_coeffs_size() const {
6460  return coeffs_.size();
6461 }
6462 inline int LinearConstraintProto::coeffs_size() const {
6463  return _internal_coeffs_size();
6464 }
6465 inline void LinearConstraintProto::clear_coeffs() {
6466  coeffs_.Clear();
6467 }
6468 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_coeffs(int index) const {
6469  return coeffs_.Get(index);
6470 }
6471 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::coeffs(int index) const {
6472  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
6473  return _internal_coeffs(index);
6474 }
6475 inline void LinearConstraintProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6476  coeffs_.Set(index, value);
6477  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
6478 }
6479 inline void LinearConstraintProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6480  coeffs_.Add(value);
6481 }
6482 inline void LinearConstraintProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6483  _internal_add_coeffs(value);
6484  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
6485 }
6486 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6487 LinearConstraintProto::_internal_coeffs() const {
6488  return coeffs_;
6489 }
6490 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6491 LinearConstraintProto::coeffs() const {
6492  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
6493  return _internal_coeffs();
6494 }
6495 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6496 LinearConstraintProto::_internal_mutable_coeffs() {
6497  return &coeffs_;
6498 }
6499 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6500 LinearConstraintProto::mutable_coeffs() {
6501  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
6502  return _internal_mutable_coeffs();
6503 }
6504 
6505 // repeated int64 domain = 3;
6506 inline int LinearConstraintProto::_internal_domain_size() const {
6507  return domain_.size();
6508 }
6509 inline int LinearConstraintProto::domain_size() const {
6510  return _internal_domain_size();
6511 }
6512 inline void LinearConstraintProto::clear_domain() {
6513  domain_.Clear();
6514 }
6515 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_domain(int index) const {
6516  return domain_.Get(index);
6517 }
6518 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::domain(int index) const {
6519  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
6520  return _internal_domain(index);
6521 }
6522 inline void LinearConstraintProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6523  domain_.Set(index, value);
6524  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
6525 }
6526 inline void LinearConstraintProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6527  domain_.Add(value);
6528 }
6529 inline void LinearConstraintProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6530  _internal_add_domain(value);
6531  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
6532 }
6533 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6534 LinearConstraintProto::_internal_domain() const {
6535  return domain_;
6536 }
6537 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6538 LinearConstraintProto::domain() const {
6539  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
6540  return _internal_domain();
6541 }
6542 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6543 LinearConstraintProto::_internal_mutable_domain() {
6544  return &domain_;
6545 }
6546 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6547 LinearConstraintProto::mutable_domain() {
6548  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
6549  return _internal_mutable_domain();
6550 }
6551 
6552 // -------------------------------------------------------------------
6553 
6554 // ElementConstraintProto
6555 
6556 // int32 index = 1;
6557 inline void ElementConstraintProto::clear_index() {
6558  index_ = 0;
6559 }
6560 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_index() const {
6561  return index_;
6562 }
6564  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
6565  return _internal_index();
6566 }
6567 inline void ElementConstraintProto::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
6568 
6569  index_ = value;
6570 }
6571 inline void ElementConstraintProto::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
6572  _internal_set_index(value);
6573  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
6574 }
6575 
6576 // int32 target = 2;
6577 inline void ElementConstraintProto::clear_target() {
6578  target_ = 0;
6579 }
6580 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_target() const {
6581  return target_;
6582 }
6583 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::target() const {
6584  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
6585  return _internal_target();
6586 }
6587 inline void ElementConstraintProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6588 
6589  target_ = value;
6590 }
6591 inline void ElementConstraintProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6592  _internal_set_target(value);
6593  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
6594 }
6595 
6596 // repeated int32 vars = 3;
6597 inline int ElementConstraintProto::_internal_vars_size() const {
6598  return vars_.size();
6599 }
6600 inline int ElementConstraintProto::vars_size() const {
6601  return _internal_vars_size();
6602 }
6603 inline void ElementConstraintProto::clear_vars() {
6604  vars_.Clear();
6605 }
6606 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_vars(int index) const {
6607  return vars_.Get(index);
6608 }
6609 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::vars(int index) const {
6610  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
6611  return _internal_vars(index);
6612 }
6613 inline void ElementConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6614  vars_.Set(index, value);
6615  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
6616 }
6617 inline void ElementConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6618  vars_.Add(value);
6619 }
6620 inline void ElementConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6621  _internal_add_vars(value);
6622  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
6623 }
6624 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6625 ElementConstraintProto::_internal_vars() const {
6626  return vars_;
6627 }
6628 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6629 ElementConstraintProto::vars() const {
6630  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
6631  return _internal_vars();
6632 }
6633 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6634 ElementConstraintProto::_internal_mutable_vars() {
6635  return &vars_;
6636 }
6637 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6638 ElementConstraintProto::mutable_vars() {
6639  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
6640  return _internal_mutable_vars();
6641 }
6642 
6643 // -------------------------------------------------------------------
6644 
6645 // IntervalConstraintProto
6646 
6647 // int32 start = 1;
6648 inline void IntervalConstraintProto::clear_start() {
6649  start_ = 0;
6650 }
6651 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_start() const {
6652  return start_;
6653 }
6654 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::start() const {
6655  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
6656  return _internal_start();
6657 }
6658 inline void IntervalConstraintProto::_internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
6659 
6660  start_ = value;
6661 }
6662 inline void IntervalConstraintProto::set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
6663  _internal_set_start(value);
6664  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.start)
6665 }
6666 
6667 // int32 end = 2;
6668 inline void IntervalConstraintProto::clear_end() {
6669  end_ = 0;
6670 }
6671 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_end() const {
6672  return end_;
6673 }
6674 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::end() const {
6675  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
6676  return _internal_end();
6677 }
6678 inline void IntervalConstraintProto::_internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
6679 
6680  end_ = value;
6681 }
6682 inline void IntervalConstraintProto::set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
6683  _internal_set_end(value);
6684  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.end)
6685 }
6686 
6687 // int32 size = 3;
6688 inline void IntervalConstraintProto::clear_size() {
6689  size_ = 0;
6690 }
6691 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_size() const {
6692  return size_;
6693 }
6694 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::size() const {
6695  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
6696  return _internal_size();
6697 }
6698 inline void IntervalConstraintProto::_internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6699 
6700  size_ = value;
6701 }
6702 inline void IntervalConstraintProto::set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6703  _internal_set_size(value);
6704  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.size)
6705 }
6706 
6707 // .operations_research.sat.LinearExpressionProto start_view = 4;
6708 inline bool IntervalConstraintProto::_internal_has_start_view() const {
6709  return this != internal_default_instance() && start_view_ != nullptr;
6710 }
6711 inline bool IntervalConstraintProto::has_start_view() const {
6712  return _internal_has_start_view();
6713 }
6714 inline void IntervalConstraintProto::clear_start_view() {
6715  if (GetArena() == nullptr && start_view_ != nullptr) {
6716  delete start_view_;
6717  }
6718  start_view_ = nullptr;
6719 }
6720 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_start_view() const {
6721  const ::operations_research::sat::LinearExpressionProto* p = start_view_;
6722  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
6724 }
6725 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::start_view() const {
6726  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start_view)
6727  return _internal_start_view();
6728 }
6729 inline void IntervalConstraintProto::unsafe_arena_set_allocated_start_view(
6730  ::operations_research::sat::LinearExpressionProto* start_view) {
6731  if (GetArena() == nullptr) {
6732  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_view_);
6733  }
6734  start_view_ = start_view;
6735  if (start_view) {
6736 
6737  } else {
6738 
6739  }
6740  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
6741 }
6742 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_start_view() {
6743 
6744  ::operations_research::sat::LinearExpressionProto* temp = start_view_;
6745  start_view_ = nullptr;
6746  if (GetArena() != nullptr) {
6747  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6748  }
6749  return temp;
6750 }
6751 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_start_view() {
6752  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.start_view)
6753 
6754  ::operations_research::sat::LinearExpressionProto* temp = start_view_;
6755  start_view_ = nullptr;
6756  return temp;
6757 }
6758 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_start_view() {
6759 
6760  if (start_view_ == nullptr) {
6761  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6762  start_view_ = p;
6763  }
6764  return start_view_;
6765 }
6766 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_start_view() {
6767  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.start_view)
6768  return _internal_mutable_start_view();
6769 }
6770 inline void IntervalConstraintProto::set_allocated_start_view(::operations_research::sat::LinearExpressionProto* start_view) {
6771  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6772  if (message_arena == nullptr) {
6773  delete start_view_;
6774  }
6775  if (start_view) {
6776  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6777  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(start_view);
6778  if (message_arena != submessage_arena) {
6779  start_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6780  message_arena, start_view, submessage_arena);
6781  }
6782 
6783  } else {
6784 
6785  }
6786  start_view_ = start_view;
6787  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
6788 }
6789 
6790 // .operations_research.sat.LinearExpressionProto end_view = 5;
6791 inline bool IntervalConstraintProto::_internal_has_end_view() const {
6792  return this != internal_default_instance() && end_view_ != nullptr;
6793 }
6794 inline bool IntervalConstraintProto::has_end_view() const {
6795  return _internal_has_end_view();
6796 }
6797 inline void IntervalConstraintProto::clear_end_view() {
6798  if (GetArena() == nullptr && end_view_ != nullptr) {
6799  delete end_view_;
6800  }
6801  end_view_ = nullptr;
6802 }
6803 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_end_view() const {
6804  const ::operations_research::sat::LinearExpressionProto* p = end_view_;
6805  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
6807 }
6808 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::end_view() const {
6809  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end_view)
6810  return _internal_end_view();
6811 }
6812 inline void IntervalConstraintProto::unsafe_arena_set_allocated_end_view(
6813  ::operations_research::sat::LinearExpressionProto* end_view) {
6814  if (GetArena() == nullptr) {
6815  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_view_);
6816  }
6817  end_view_ = end_view;
6818  if (end_view) {
6819 
6820  } else {
6821 
6822  }
6823  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
6824 }
6825 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_end_view() {
6826 
6827  ::operations_research::sat::LinearExpressionProto* temp = end_view_;
6828  end_view_ = nullptr;
6829  if (GetArena() != nullptr) {
6830  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6831  }
6832  return temp;
6833 }
6834 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_end_view() {
6835  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.end_view)
6836 
6837  ::operations_research::sat::LinearExpressionProto* temp = end_view_;
6838  end_view_ = nullptr;
6839  return temp;
6840 }
6841 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_end_view() {
6842 
6843  if (end_view_ == nullptr) {
6844  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6845  end_view_ = p;
6846  }
6847  return end_view_;
6848 }
6849 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_end_view() {
6850  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.end_view)
6851  return _internal_mutable_end_view();
6852 }
6853 inline void IntervalConstraintProto::set_allocated_end_view(::operations_research::sat::LinearExpressionProto* end_view) {
6854  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6855  if (message_arena == nullptr) {
6856  delete end_view_;
6857  }
6858  if (end_view) {
6859  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6860  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(end_view);
6861  if (message_arena != submessage_arena) {
6862  end_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6863  message_arena, end_view, submessage_arena);
6864  }
6865 
6866  } else {
6867 
6868  }
6869  end_view_ = end_view;
6870  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
6871 }
6872 
6873 // .operations_research.sat.LinearExpressionProto size_view = 6;
6874 inline bool IntervalConstraintProto::_internal_has_size_view() const {
6875  return this != internal_default_instance() && size_view_ != nullptr;
6876 }
6877 inline bool IntervalConstraintProto::has_size_view() const {
6878  return _internal_has_size_view();
6879 }
6880 inline void IntervalConstraintProto::clear_size_view() {
6881  if (GetArena() == nullptr && size_view_ != nullptr) {
6882  delete size_view_;
6883  }
6884  size_view_ = nullptr;
6885 }
6886 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_size_view() const {
6887  const ::operations_research::sat::LinearExpressionProto* p = size_view_;
6888  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
6890 }
6891 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::size_view() const {
6892  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size_view)
6893  return _internal_size_view();
6894 }
6895 inline void IntervalConstraintProto::unsafe_arena_set_allocated_size_view(
6896  ::operations_research::sat::LinearExpressionProto* size_view) {
6897  if (GetArena() == nullptr) {
6898  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(size_view_);
6899  }
6900  size_view_ = size_view;
6901  if (size_view) {
6902 
6903  } else {
6904 
6905  }
6906  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
6907 }
6908 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_size_view() {
6909 
6910  ::operations_research::sat::LinearExpressionProto* temp = size_view_;
6911  size_view_ = nullptr;
6912  if (GetArena() != nullptr) {
6913  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6914  }
6915  return temp;
6916 }
6917 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_size_view() {
6918  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.size_view)
6919 
6920  ::operations_research::sat::LinearExpressionProto* temp = size_view_;
6921  size_view_ = nullptr;
6922  return temp;
6923 }
6924 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_size_view() {
6925 
6926  if (size_view_ == nullptr) {
6927  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6928  size_view_ = p;
6929  }
6930  return size_view_;
6931 }
6932 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_size_view() {
6933  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.size_view)
6934  return _internal_mutable_size_view();
6935 }
6936 inline void IntervalConstraintProto::set_allocated_size_view(::operations_research::sat::LinearExpressionProto* size_view) {
6937  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6938  if (message_arena == nullptr) {
6939  delete size_view_;
6940  }
6941  if (size_view) {
6942  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6943  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(size_view);
6944  if (message_arena != submessage_arena) {
6945  size_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6946  message_arena, size_view, submessage_arena);
6947  }
6948 
6949  } else {
6950 
6951  }
6952  size_view_ = size_view;
6953  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
6954 }
6955 
6956 // -------------------------------------------------------------------
6957 
6958 // NoOverlapConstraintProto
6959 
6960 // repeated int32 intervals = 1;
6961 inline int NoOverlapConstraintProto::_internal_intervals_size() const {
6962  return intervals_.size();
6963 }
6964 inline int NoOverlapConstraintProto::intervals_size() const {
6965  return _internal_intervals_size();
6966 }
6967 inline void NoOverlapConstraintProto::clear_intervals() {
6968  intervals_.Clear();
6969 }
6970 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::_internal_intervals(int index) const {
6971  return intervals_.Get(index);
6972 }
6973 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::intervals(int index) const {
6974  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
6975  return _internal_intervals(index);
6976 }
6977 inline void NoOverlapConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6978  intervals_.Set(index, value);
6979  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
6980 }
6981 inline void NoOverlapConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6982  intervals_.Add(value);
6983 }
6984 inline void NoOverlapConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6985  _internal_add_intervals(value);
6986  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
6987 }
6988 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6989 NoOverlapConstraintProto::_internal_intervals() const {
6990  return intervals_;
6991 }
6992 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6993 NoOverlapConstraintProto::intervals() const {
6994  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
6995  return _internal_intervals();
6996 }
6997 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6998 NoOverlapConstraintProto::_internal_mutable_intervals() {
6999  return &intervals_;
7000 }
7001 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7002 NoOverlapConstraintProto::mutable_intervals() {
7003  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
7004  return _internal_mutable_intervals();
7005 }
7006 
7007 // -------------------------------------------------------------------
7008 
7009 // NoOverlap2DConstraintProto
7010 
7011 // repeated int32 x_intervals = 1;
7012 inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
7013  return x_intervals_.size();
7014 }
7015 inline int NoOverlap2DConstraintProto::x_intervals_size() const {
7016  return _internal_x_intervals_size();
7017 }
7018 inline void NoOverlap2DConstraintProto::clear_x_intervals() {
7019  x_intervals_.Clear();
7020 }
7021 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_x_intervals(int index) const {
7022  return x_intervals_.Get(index);
7023 }
7024 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::x_intervals(int index) const {
7025  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7026  return _internal_x_intervals(index);
7027 }
7028 inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7029  x_intervals_.Set(index, value);
7030  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7031 }
7032 inline void NoOverlap2DConstraintProto::_internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7033  x_intervals_.Add(value);
7034 }
7035 inline void NoOverlap2DConstraintProto::add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7036  _internal_add_x_intervals(value);
7037  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7038 }
7039 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7040 NoOverlap2DConstraintProto::_internal_x_intervals() const {
7041  return x_intervals_;
7042 }
7043 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7044 NoOverlap2DConstraintProto::x_intervals() const {
7045  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7046  return _internal_x_intervals();
7047 }
7048 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7049 NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
7050  return &x_intervals_;
7051 }
7052 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7053 NoOverlap2DConstraintProto::mutable_x_intervals() {
7054  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7055  return _internal_mutable_x_intervals();
7056 }
7057 
7058 // repeated int32 y_intervals = 2;
7059 inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
7060  return y_intervals_.size();
7061 }
7062 inline int NoOverlap2DConstraintProto::y_intervals_size() const {
7063  return _internal_y_intervals_size();
7064 }
7065 inline void NoOverlap2DConstraintProto::clear_y_intervals() {
7066  y_intervals_.Clear();
7067 }
7068 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_y_intervals(int index) const {
7069  return y_intervals_.Get(index);
7070 }
7071 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::y_intervals(int index) const {
7072  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7073  return _internal_y_intervals(index);
7074 }
7075 inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7076  y_intervals_.Set(index, value);
7077  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7078 }
7079 inline void NoOverlap2DConstraintProto::_internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7080  y_intervals_.Add(value);
7081 }
7082 inline void NoOverlap2DConstraintProto::add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7083  _internal_add_y_intervals(value);
7084  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7085 }
7086 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7087 NoOverlap2DConstraintProto::_internal_y_intervals() const {
7088  return y_intervals_;
7089 }
7090 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7091 NoOverlap2DConstraintProto::y_intervals() const {
7092  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7093  return _internal_y_intervals();
7094 }
7095 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7096 NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
7097  return &y_intervals_;
7098 }
7099 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7100 NoOverlap2DConstraintProto::mutable_y_intervals() {
7101  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7102  return _internal_mutable_y_intervals();
7103 }
7104 
7105 // bool boxes_with_null_area_can_overlap = 3;
7106 inline void NoOverlap2DConstraintProto::clear_boxes_with_null_area_can_overlap() {
7107  boxes_with_null_area_can_overlap_ = false;
7108 }
7109 inline bool NoOverlap2DConstraintProto::_internal_boxes_with_null_area_can_overlap() const {
7110  return boxes_with_null_area_can_overlap_;
7111 }
7112 inline bool NoOverlap2DConstraintProto::boxes_with_null_area_can_overlap() const {
7113  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7114  return _internal_boxes_with_null_area_can_overlap();
7115 }
7116 inline void NoOverlap2DConstraintProto::_internal_set_boxes_with_null_area_can_overlap(bool value) {
7117 
7118  boxes_with_null_area_can_overlap_ = value;
7119 }
7120 inline void NoOverlap2DConstraintProto::set_boxes_with_null_area_can_overlap(bool value) {
7121  _internal_set_boxes_with_null_area_can_overlap(value);
7122  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7123 }
7124 
7125 // -------------------------------------------------------------------
7126 
7127 // CumulativeConstraintProto
7128 
7129 // int32 capacity = 1;
7130 inline void CumulativeConstraintProto::clear_capacity() {
7131  capacity_ = 0;
7132 }
7133 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_capacity() const {
7134  return capacity_;
7135 }
7137  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
7138  return _internal_capacity();
7139 }
7140 inline void CumulativeConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7141 
7142  capacity_ = value;
7143 }
7144 inline void CumulativeConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7145  _internal_set_capacity(value);
7146  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.capacity)
7147 }
7148 
7149 // repeated int32 intervals = 2;
7150 inline int CumulativeConstraintProto::_internal_intervals_size() const {
7151  return intervals_.size();
7152 }
7153 inline int CumulativeConstraintProto::intervals_size() const {
7154  return _internal_intervals_size();
7155 }
7156 inline void CumulativeConstraintProto::clear_intervals() {
7157  intervals_.Clear();
7158 }
7159 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_intervals(int index) const {
7160  return intervals_.Get(index);
7161 }
7162 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::intervals(int index) const {
7163  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
7164  return _internal_intervals(index);
7165 }
7166 inline void CumulativeConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7167  intervals_.Set(index, value);
7168  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
7169 }
7170 inline void CumulativeConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7171  intervals_.Add(value);
7172 }
7173 inline void CumulativeConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7174  _internal_add_intervals(value);
7175  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
7176 }
7177 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7178 CumulativeConstraintProto::_internal_intervals() const {
7179  return intervals_;
7180 }
7181 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7182 CumulativeConstraintProto::intervals() const {
7183  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
7184  return _internal_intervals();
7185 }
7186 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7187 CumulativeConstraintProto::_internal_mutable_intervals() {
7188  return &intervals_;
7189 }
7190 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7191 CumulativeConstraintProto::mutable_intervals() {
7192  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
7193  return _internal_mutable_intervals();
7194 }
7195 
7196 // repeated int32 demands = 3;
7197 inline int CumulativeConstraintProto::_internal_demands_size() const {
7198  return demands_.size();
7199 }
7200 inline int CumulativeConstraintProto::demands_size() const {
7201  return _internal_demands_size();
7202 }
7203 inline void CumulativeConstraintProto::clear_demands() {
7204  demands_.Clear();
7205 }
7206 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_demands(int index) const {
7207  return demands_.Get(index);
7208 }
7209 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::demands(int index) const {
7210  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
7211  return _internal_demands(index);
7212 }
7213 inline void CumulativeConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7214  demands_.Set(index, value);
7215  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.demands)
7216 }
7217 inline void CumulativeConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7218  demands_.Add(value);
7219 }
7220 inline void CumulativeConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7221  _internal_add_demands(value);
7222  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
7223 }
7224 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7225 CumulativeConstraintProto::_internal_demands() const {
7226  return demands_;
7227 }
7228 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7229 CumulativeConstraintProto::demands() const {
7230  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
7231  return _internal_demands();
7232 }
7233 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7234 CumulativeConstraintProto::_internal_mutable_demands() {
7235  return &demands_;
7236 }
7237 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7238 CumulativeConstraintProto::mutable_demands() {
7239  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
7240  return _internal_mutable_demands();
7241 }
7242 
7243 // -------------------------------------------------------------------
7244 
7245 // ReservoirConstraintProto
7246 
7247 // int64 min_level = 1;
7248 inline void ReservoirConstraintProto::clear_min_level() {
7249  min_level_ = PROTOBUF_LONGLONG(0);
7250 }
7251 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_min_level() const {
7252  return min_level_;
7253 }
7254 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::min_level() const {
7255  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
7256  return _internal_min_level();
7257 }
7258 inline void ReservoirConstraintProto::_internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7259 
7260  min_level_ = value;
7261 }
7262 inline void ReservoirConstraintProto::set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7263  _internal_set_min_level(value);
7264  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
7265 }
7266 
7267 // int64 max_level = 2;
7268 inline void ReservoirConstraintProto::clear_max_level() {
7269  max_level_ = PROTOBUF_LONGLONG(0);
7270 }
7271 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_max_level() const {
7272  return max_level_;
7273 }
7274 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::max_level() const {
7275  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
7276  return _internal_max_level();
7277 }
7278 inline void ReservoirConstraintProto::_internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7279 
7280  max_level_ = value;
7281 }
7282 inline void ReservoirConstraintProto::set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7283  _internal_set_max_level(value);
7284  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
7285 }
7286 
7287 // repeated int32 times = 3;
7288 inline int ReservoirConstraintProto::_internal_times_size() const {
7289  return times_.size();
7290 }
7291 inline int ReservoirConstraintProto::times_size() const {
7292  return _internal_times_size();
7293 }
7294 inline void ReservoirConstraintProto::clear_times() {
7295  times_.Clear();
7296 }
7297 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_times(int index) const {
7298  return times_.Get(index);
7299 }
7300 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::times(int index) const {
7301  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.times)
7302  return _internal_times(index);
7303 }
7304 inline void ReservoirConstraintProto::set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7305  times_.Set(index, value);
7306  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.times)
7307 }
7308 inline void ReservoirConstraintProto::_internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7309  times_.Add(value);
7310 }
7311 inline void ReservoirConstraintProto::add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7312  _internal_add_times(value);
7313  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.times)
7314 }
7315 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7316 ReservoirConstraintProto::_internal_times() const {
7317  return times_;
7318 }
7319 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7320 ReservoirConstraintProto::times() const {
7321  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.times)
7322  return _internal_times();
7323 }
7324 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7325 ReservoirConstraintProto::_internal_mutable_times() {
7326  return &times_;
7327 }
7328 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7329 ReservoirConstraintProto::mutable_times() {
7330  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.times)
7331  return _internal_mutable_times();
7332 }
7333 
7334 // repeated int64 demands = 4;
7335 inline int ReservoirConstraintProto::_internal_demands_size() const {
7336  return demands_.size();
7337 }
7338 inline int ReservoirConstraintProto::demands_size() const {
7339  return _internal_demands_size();
7340 }
7341 inline void ReservoirConstraintProto::clear_demands() {
7342  demands_.Clear();
7343 }
7344 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_demands(int index) const {
7345  return demands_.Get(index);
7346 }
7347 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::demands(int index) const {
7348  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.demands)
7349  return _internal_demands(index);
7350 }
7351 inline void ReservoirConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7352  demands_.Set(index, value);
7353  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.demands)
7354 }
7355 inline void ReservoirConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7356  demands_.Add(value);
7357 }
7358 inline void ReservoirConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7359  _internal_add_demands(value);
7360  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.demands)
7361 }
7362 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7363 ReservoirConstraintProto::_internal_demands() const {
7364  return demands_;
7365 }
7366 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7367 ReservoirConstraintProto::demands() const {
7368  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.demands)
7369  return _internal_demands();
7370 }
7371 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7372 ReservoirConstraintProto::_internal_mutable_demands() {
7373  return &demands_;
7374 }
7375 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7376 ReservoirConstraintProto::mutable_demands() {
7377  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.demands)
7378  return _internal_mutable_demands();
7379 }
7380 
7381 // repeated int32 actives = 5;
7382 inline int ReservoirConstraintProto::_internal_actives_size() const {
7383  return actives_.size();
7384 }
7385 inline int ReservoirConstraintProto::actives_size() const {
7386  return _internal_actives_size();
7387 }
7388 inline void ReservoirConstraintProto::clear_actives() {
7389  actives_.Clear();
7390 }
7391 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_actives(int index) const {
7392  return actives_.Get(index);
7393 }
7394 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::actives(int index) const {
7395  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.actives)
7396  return _internal_actives(index);
7397 }
7398 inline void ReservoirConstraintProto::set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7399  actives_.Set(index, value);
7400  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.actives)
7401 }
7402 inline void ReservoirConstraintProto::_internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7403  actives_.Add(value);
7404 }
7405 inline void ReservoirConstraintProto::add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7406  _internal_add_actives(value);
7407  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.actives)
7408 }
7409 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7410 ReservoirConstraintProto::_internal_actives() const {
7411  return actives_;
7412 }
7413 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7414 ReservoirConstraintProto::actives() const {
7415  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.actives)
7416  return _internal_actives();
7417 }
7418 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7419 ReservoirConstraintProto::_internal_mutable_actives() {
7420  return &actives_;
7421 }
7422 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7423 ReservoirConstraintProto::mutable_actives() {
7424  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.actives)
7425  return _internal_mutable_actives();
7426 }
7427 
7428 // -------------------------------------------------------------------
7429 
7430 // CircuitConstraintProto
7431 
7432 // repeated int32 tails = 3;
7433 inline int CircuitConstraintProto::_internal_tails_size() const {
7434  return tails_.size();
7435 }
7436 inline int CircuitConstraintProto::tails_size() const {
7437  return _internal_tails_size();
7438 }
7439 inline void CircuitConstraintProto::clear_tails() {
7440  tails_.Clear();
7441 }
7442 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_tails(int index) const {
7443  return tails_.Get(index);
7444 }
7445 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::tails(int index) const {
7446  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
7447  return _internal_tails(index);
7448 }
7449 inline void CircuitConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7450  tails_.Set(index, value);
7451  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
7452 }
7453 inline void CircuitConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7454  tails_.Add(value);
7455 }
7456 inline void CircuitConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7457  _internal_add_tails(value);
7458  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
7459 }
7460 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7461 CircuitConstraintProto::_internal_tails() const {
7462  return tails_;
7463 }
7464 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7465 CircuitConstraintProto::tails() const {
7466  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
7467  return _internal_tails();
7468 }
7469 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7470 CircuitConstraintProto::_internal_mutable_tails() {
7471  return &tails_;
7472 }
7473 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7474 CircuitConstraintProto::mutable_tails() {
7475  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
7476  return _internal_mutable_tails();
7477 }
7478 
7479 // repeated int32 heads = 4;
7480 inline int CircuitConstraintProto::_internal_heads_size() const {
7481  return heads_.size();
7482 }
7483 inline int CircuitConstraintProto::heads_size() const {
7484  return _internal_heads_size();
7485 }
7486 inline void CircuitConstraintProto::clear_heads() {
7487  heads_.Clear();
7488 }
7489 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_heads(int index) const {
7490  return heads_.Get(index);
7491 }
7492 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::heads(int index) const {
7493  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
7494  return _internal_heads(index);
7495 }
7496 inline void CircuitConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7497  heads_.Set(index, value);
7498  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
7499 }
7500 inline void CircuitConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7501  heads_.Add(value);
7502 }
7503 inline void CircuitConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7504  _internal_add_heads(value);
7505  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
7506 }
7507 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7508 CircuitConstraintProto::_internal_heads() const {
7509  return heads_;
7510 }
7511 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7512 CircuitConstraintProto::heads() const {
7513  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
7514  return _internal_heads();
7515 }
7516 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7517 CircuitConstraintProto::_internal_mutable_heads() {
7518  return &heads_;
7519 }
7520 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7521 CircuitConstraintProto::mutable_heads() {
7522  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
7523  return _internal_mutable_heads();
7524 }
7525 
7526 // repeated int32 literals = 5;
7527 inline int CircuitConstraintProto::_internal_literals_size() const {
7528  return literals_.size();
7529 }
7530 inline int CircuitConstraintProto::literals_size() const {
7531  return _internal_literals_size();
7532 }
7533 inline void CircuitConstraintProto::clear_literals() {
7534  literals_.Clear();
7535 }
7536 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_literals(int index) const {
7537  return literals_.Get(index);
7538 }
7539 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::literals(int index) const {
7540  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
7541  return _internal_literals(index);
7542 }
7543 inline void CircuitConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7544  literals_.Set(index, value);
7545  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
7546 }
7547 inline void CircuitConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7548  literals_.Add(value);
7549 }
7550 inline void CircuitConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7551  _internal_add_literals(value);
7552  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
7553 }
7554 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7555 CircuitConstraintProto::_internal_literals() const {
7556  return literals_;
7557 }
7558 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7559 CircuitConstraintProto::literals() const {
7560  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
7561  return _internal_literals();
7562 }
7563 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7564 CircuitConstraintProto::_internal_mutable_literals() {
7565  return &literals_;
7566 }
7567 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7568 CircuitConstraintProto::mutable_literals() {
7569  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
7570  return _internal_mutable_literals();
7571 }
7572 
7573 // -------------------------------------------------------------------
7574 
7575 // RoutesConstraintProto
7576 
7577 // repeated int32 tails = 1;
7578 inline int RoutesConstraintProto::_internal_tails_size() const {
7579  return tails_.size();
7580 }
7581 inline int RoutesConstraintProto::tails_size() const {
7582  return _internal_tails_size();
7583 }
7584 inline void RoutesConstraintProto::clear_tails() {
7585  tails_.Clear();
7586 }
7587 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_tails(int index) const {
7588  return tails_.Get(index);
7589 }
7590 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::tails(int index) const {
7591  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
7592  return _internal_tails(index);
7593 }
7594 inline void RoutesConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7595  tails_.Set(index, value);
7596  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
7597 }
7598 inline void RoutesConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7599  tails_.Add(value);
7600 }
7601 inline void RoutesConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7602  _internal_add_tails(value);
7603  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
7604 }
7605 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7606 RoutesConstraintProto::_internal_tails() const {
7607  return tails_;
7608 }
7609 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7610 RoutesConstraintProto::tails() const {
7611  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
7612  return _internal_tails();
7613 }
7614 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7615 RoutesConstraintProto::_internal_mutable_tails() {
7616  return &tails_;
7617 }
7618 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7619 RoutesConstraintProto::mutable_tails() {
7620  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
7621  return _internal_mutable_tails();
7622 }
7623 
7624 // repeated int32 heads = 2;
7625 inline int RoutesConstraintProto::_internal_heads_size() const {
7626  return heads_.size();
7627 }
7628 inline int RoutesConstraintProto::heads_size() const {
7629  return _internal_heads_size();
7630 }
7631 inline void RoutesConstraintProto::clear_heads() {
7632  heads_.Clear();
7633 }
7634 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_heads(int index) const {
7635  return heads_.Get(index);
7636 }
7637 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::heads(int index) const {
7638  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
7639  return _internal_heads(index);
7640 }
7641 inline void RoutesConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7642  heads_.Set(index, value);
7643  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
7644 }
7645 inline void RoutesConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7646  heads_.Add(value);
7647 }
7648 inline void RoutesConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7649  _internal_add_heads(value);
7650  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
7651 }
7652 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7653 RoutesConstraintProto::_internal_heads() const {
7654  return heads_;
7655 }
7656 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7657 RoutesConstraintProto::heads() const {
7658  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
7659  return _internal_heads();
7660 }
7661 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7662 RoutesConstraintProto::_internal_mutable_heads() {
7663  return &heads_;
7664 }
7665 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7666 RoutesConstraintProto::mutable_heads() {
7667  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
7668  return _internal_mutable_heads();
7669 }
7670 
7671 // repeated int32 literals = 3;
7672 inline int RoutesConstraintProto::_internal_literals_size() const {
7673  return literals_.size();
7674 }
7675 inline int RoutesConstraintProto::literals_size() const {
7676  return _internal_literals_size();
7677 }
7678 inline void RoutesConstraintProto::clear_literals() {
7679  literals_.Clear();
7680 }
7681 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_literals(int index) const {
7682  return literals_.Get(index);
7683 }
7684 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::literals(int index) const {
7685  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
7686  return _internal_literals(index);
7687 }
7688 inline void RoutesConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7689  literals_.Set(index, value);
7690  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
7691 }
7692 inline void RoutesConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7693  literals_.Add(value);
7694 }
7695 inline void RoutesConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7696  _internal_add_literals(value);
7697  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
7698 }
7699 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7700 RoutesConstraintProto::_internal_literals() const {
7701  return literals_;
7702 }
7703 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7704 RoutesConstraintProto::literals() const {
7705  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
7706  return _internal_literals();
7707 }
7708 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7709 RoutesConstraintProto::_internal_mutable_literals() {
7710  return &literals_;
7711 }
7712 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7713 RoutesConstraintProto::mutable_literals() {
7714  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
7715  return _internal_mutable_literals();
7716 }
7717 
7718 // repeated int32 demands = 4;
7719 inline int RoutesConstraintProto::_internal_demands_size() const {
7720  return demands_.size();
7721 }
7722 inline int RoutesConstraintProto::demands_size() const {
7723  return _internal_demands_size();
7724 }
7725 inline void RoutesConstraintProto::clear_demands() {
7726  demands_.Clear();
7727 }
7728 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_demands(int index) const {
7729  return demands_.Get(index);
7730 }
7731 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::demands(int index) const {
7732  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
7733  return _internal_demands(index);
7734 }
7735 inline void RoutesConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7736  demands_.Set(index, value);
7737  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
7738 }
7739 inline void RoutesConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7740  demands_.Add(value);
7741 }
7742 inline void RoutesConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7743  _internal_add_demands(value);
7744  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
7745 }
7746 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7747 RoutesConstraintProto::_internal_demands() const {
7748  return demands_;
7749 }
7750 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7751 RoutesConstraintProto::demands() const {
7752  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
7753  return _internal_demands();
7754 }
7755 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7756 RoutesConstraintProto::_internal_mutable_demands() {
7757  return &demands_;
7758 }
7759 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7760 RoutesConstraintProto::mutable_demands() {
7761  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
7762  return _internal_mutable_demands();
7763 }
7764 
7765 // int64 capacity = 5;
7766 inline void RoutesConstraintProto::clear_capacity() {
7767  capacity_ = PROTOBUF_LONGLONG(0);
7768 }
7769 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::_internal_capacity() const {
7770  return capacity_;
7771 }
7773  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
7774  return _internal_capacity();
7775 }
7776 inline void RoutesConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
7777 
7778  capacity_ = value;
7779 }
7780 inline void RoutesConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
7781  _internal_set_capacity(value);
7782  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
7783 }
7784 
7785 // -------------------------------------------------------------------
7786 
7787 // TableConstraintProto
7788 
7789 // repeated int32 vars = 1;
7790 inline int TableConstraintProto::_internal_vars_size() const {
7791  return vars_.size();
7792 }
7793 inline int TableConstraintProto::vars_size() const {
7794  return _internal_vars_size();
7795 }
7796 inline void TableConstraintProto::clear_vars() {
7797  vars_.Clear();
7798 }
7799 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::_internal_vars(int index) const {
7800  return vars_.Get(index);
7801 }
7802 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::vars(int index) const {
7803  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
7804  return _internal_vars(index);
7805 }
7806 inline void TableConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7807  vars_.Set(index, value);
7808  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
7809 }
7810 inline void TableConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7811  vars_.Add(value);
7812 }
7813 inline void TableConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7814  _internal_add_vars(value);
7815  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
7816 }
7817 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7818 TableConstraintProto::_internal_vars() const {
7819  return vars_;
7820 }
7821 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7822 TableConstraintProto::vars() const {
7823  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
7824  return _internal_vars();
7825 }
7826 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7827 TableConstraintProto::_internal_mutable_vars() {
7828  return &vars_;
7829 }
7830 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7831 TableConstraintProto::mutable_vars() {
7832  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
7833  return _internal_mutable_vars();
7834 }
7835 
7836 // repeated int64 values = 2;
7837 inline int TableConstraintProto::_internal_values_size() const {
7838  return values_.size();
7839 }
7840 inline int TableConstraintProto::values_size() const {
7841  return _internal_values_size();
7842 }
7843 inline void TableConstraintProto::clear_values() {
7844  values_.Clear();
7845 }
7846 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::_internal_values(int index) const {
7847  return values_.Get(index);
7848 }
7849 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::values(int index) const {
7850  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
7851  return _internal_values(index);
7852 }
7853 inline void TableConstraintProto::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7854  values_.Set(index, value);
7855  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
7856 }
7857 inline void TableConstraintProto::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
7858  values_.Add(value);
7859 }
7860 inline void TableConstraintProto::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
7861  _internal_add_values(value);
7862  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
7863 }
7864 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7865 TableConstraintProto::_internal_values() const {
7866  return values_;
7867 }
7868 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7869 TableConstraintProto::values() const {
7870  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
7871  return _internal_values();
7872 }
7873 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7874 TableConstraintProto::_internal_mutable_values() {
7875  return &values_;
7876 }
7877 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7878 TableConstraintProto::mutable_values() {
7879  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
7880  return _internal_mutable_values();
7881 }
7882 
7883 // bool negated = 3;
7884 inline void TableConstraintProto::clear_negated() {
7885  negated_ = false;
7886 }
7887 inline bool TableConstraintProto::_internal_negated() const {
7888  return negated_;
7889 }
7890 inline bool TableConstraintProto::negated() const {
7891  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
7892  return _internal_negated();
7893 }
7894 inline void TableConstraintProto::_internal_set_negated(bool value) {
7895 
7896  negated_ = value;
7897 }
7898 inline void TableConstraintProto::set_negated(bool value) {
7899  _internal_set_negated(value);
7900  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
7901 }
7902 
7903 // -------------------------------------------------------------------
7904 
7905 // InverseConstraintProto
7906 
7907 // repeated int32 f_direct = 1;
7908 inline int InverseConstraintProto::_internal_f_direct_size() const {
7909  return f_direct_.size();
7910 }
7911 inline int InverseConstraintProto::f_direct_size() const {
7912  return _internal_f_direct_size();
7913 }
7914 inline void InverseConstraintProto::clear_f_direct() {
7915  f_direct_.Clear();
7916 }
7917 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_direct(int index) const {
7918  return f_direct_.Get(index);
7919 }
7920 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_direct(int index) const {
7921  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
7922  return _internal_f_direct(index);
7923 }
7924 inline void InverseConstraintProto::set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7925  f_direct_.Set(index, value);
7926  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
7927 }
7928 inline void InverseConstraintProto::_internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
7929  f_direct_.Add(value);
7930 }
7931 inline void InverseConstraintProto::add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
7932  _internal_add_f_direct(value);
7933  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
7934 }
7935 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7936 InverseConstraintProto::_internal_f_direct() const {
7937  return f_direct_;
7938 }
7939 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7940 InverseConstraintProto::f_direct() const {
7941  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
7942  return _internal_f_direct();
7943 }
7944 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7945 InverseConstraintProto::_internal_mutable_f_direct() {
7946  return &f_direct_;
7947 }
7948 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7949 InverseConstraintProto::mutable_f_direct() {
7950  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
7951  return _internal_mutable_f_direct();
7952 }
7953 
7954 // repeated int32 f_inverse = 2;
7955 inline int InverseConstraintProto::_internal_f_inverse_size() const {
7956  return f_inverse_.size();
7957 }
7958 inline int InverseConstraintProto::f_inverse_size() const {
7959  return _internal_f_inverse_size();
7960 }
7961 inline void InverseConstraintProto::clear_f_inverse() {
7962  f_inverse_.Clear();
7963 }
7964 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_inverse(int index) const {
7965  return f_inverse_.Get(index);
7966 }
7967 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_inverse(int index) const {
7968  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
7969  return _internal_f_inverse(index);
7970 }
7971 inline void InverseConstraintProto::set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7972  f_inverse_.Set(index, value);
7973  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
7974 }
7975 inline void InverseConstraintProto::_internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
7976  f_inverse_.Add(value);
7977 }
7978 inline void InverseConstraintProto::add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
7979  _internal_add_f_inverse(value);
7980  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
7981 }
7982 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7983 InverseConstraintProto::_internal_f_inverse() const {
7984  return f_inverse_;
7985 }
7986 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7987 InverseConstraintProto::f_inverse() const {
7988  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
7989  return _internal_f_inverse();
7990 }
7991 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7992 InverseConstraintProto::_internal_mutable_f_inverse() {
7993  return &f_inverse_;
7994 }
7995 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7996 InverseConstraintProto::mutable_f_inverse() {
7997  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
7998  return _internal_mutable_f_inverse();
7999 }
8000 
8001 // -------------------------------------------------------------------
8002 
8003 // AutomatonConstraintProto
8004 
8005 // int64 starting_state = 2;
8006 inline void AutomatonConstraintProto::clear_starting_state() {
8007  starting_state_ = PROTOBUF_LONGLONG(0);
8008 }
8009 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_starting_state() const {
8010  return starting_state_;
8011 }
8012 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::starting_state() const {
8013  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
8014  return _internal_starting_state();
8015 }
8016 inline void AutomatonConstraintProto::_internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8017 
8018  starting_state_ = value;
8019 }
8020 inline void AutomatonConstraintProto::set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8021  _internal_set_starting_state(value);
8022  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
8023 }
8024 
8025 // repeated int64 final_states = 3;
8026 inline int AutomatonConstraintProto::_internal_final_states_size() const {
8027  return final_states_.size();
8028 }
8029 inline int AutomatonConstraintProto::final_states_size() const {
8030  return _internal_final_states_size();
8031 }
8032 inline void AutomatonConstraintProto::clear_final_states() {
8033  final_states_.Clear();
8034 }
8035 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_final_states(int index) const {
8036  return final_states_.Get(index);
8037 }
8038 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::final_states(int index) const {
8039  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
8040  return _internal_final_states(index);
8041 }
8042 inline void AutomatonConstraintProto::set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8043  final_states_.Set(index, value);
8044  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
8045 }
8046 inline void AutomatonConstraintProto::_internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8047  final_states_.Add(value);
8048 }
8049 inline void AutomatonConstraintProto::add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8050  _internal_add_final_states(value);
8051  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
8052 }
8053 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8054 AutomatonConstraintProto::_internal_final_states() const {
8055  return final_states_;
8056 }
8057 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8058 AutomatonConstraintProto::final_states() const {
8059  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
8060  return _internal_final_states();
8061 }
8062 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8063 AutomatonConstraintProto::_internal_mutable_final_states() {
8064  return &final_states_;
8065 }
8066 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8067 AutomatonConstraintProto::mutable_final_states() {
8068  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
8069  return _internal_mutable_final_states();
8070 }
8071 
8072 // repeated int64 transition_tail = 4;
8073 inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
8074  return transition_tail_.size();
8075 }
8076 inline int AutomatonConstraintProto::transition_tail_size() const {
8077  return _internal_transition_tail_size();
8078 }
8079 inline void AutomatonConstraintProto::clear_transition_tail() {
8080  transition_tail_.Clear();
8081 }
8082 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_tail(int index) const {
8083  return transition_tail_.Get(index);
8084 }
8085 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_tail(int index) const {
8086  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
8087  return _internal_transition_tail(index);
8088 }
8089 inline void AutomatonConstraintProto::set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8090  transition_tail_.Set(index, value);
8091  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
8092 }
8093 inline void AutomatonConstraintProto::_internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8094  transition_tail_.Add(value);
8095 }
8096 inline void AutomatonConstraintProto::add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8097  _internal_add_transition_tail(value);
8098  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
8099 }
8100 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8101 AutomatonConstraintProto::_internal_transition_tail() const {
8102  return transition_tail_;
8103 }
8104 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8105 AutomatonConstraintProto::transition_tail() const {
8106  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8107  return _internal_transition_tail();
8108 }
8109 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8110 AutomatonConstraintProto::_internal_mutable_transition_tail() {
8111  return &transition_tail_;
8112 }
8113 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8114 AutomatonConstraintProto::mutable_transition_tail() {
8115  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8116  return _internal_mutable_transition_tail();
8117 }
8118 
8119 // repeated int64 transition_head = 5;
8120 inline int AutomatonConstraintProto::_internal_transition_head_size() const {
8121  return transition_head_.size();
8122 }
8123 inline int AutomatonConstraintProto::transition_head_size() const {
8124  return _internal_transition_head_size();
8125 }
8126 inline void AutomatonConstraintProto::clear_transition_head() {
8127  transition_head_.Clear();
8128 }
8129 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_head(int index) const {
8130  return transition_head_.Get(index);
8131 }
8132 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_head(int index) const {
8133  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
8134  return _internal_transition_head(index);
8135 }
8136 inline void AutomatonConstraintProto::set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8137  transition_head_.Set(index, value);
8138  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
8139 }
8140 inline void AutomatonConstraintProto::_internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8141  transition_head_.Add(value);
8142 }
8143 inline void AutomatonConstraintProto::add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8144  _internal_add_transition_head(value);
8145  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
8146 }
8147 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8148 AutomatonConstraintProto::_internal_transition_head() const {
8149  return transition_head_;
8150 }
8151 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8152 AutomatonConstraintProto::transition_head() const {
8153  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8154  return _internal_transition_head();
8155 }
8156 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8157 AutomatonConstraintProto::_internal_mutable_transition_head() {
8158  return &transition_head_;
8159 }
8160 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8161 AutomatonConstraintProto::mutable_transition_head() {
8162  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8163  return _internal_mutable_transition_head();
8164 }
8165 
8166 // repeated int64 transition_label = 6;
8167 inline int AutomatonConstraintProto::_internal_transition_label_size() const {
8168  return transition_label_.size();
8169 }
8170 inline int AutomatonConstraintProto::transition_label_size() const {
8171  return _internal_transition_label_size();
8172 }
8173 inline void AutomatonConstraintProto::clear_transition_label() {
8174  transition_label_.Clear();
8175 }
8176 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_label(int index) const {
8177  return transition_label_.Get(index);
8178 }
8179 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_label(int index) const {
8180  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
8181  return _internal_transition_label(index);
8182 }
8183 inline void AutomatonConstraintProto::set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8184  transition_label_.Set(index, value);
8185  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
8186 }
8187 inline void AutomatonConstraintProto::_internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8188  transition_label_.Add(value);
8189 }
8190 inline void AutomatonConstraintProto::add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8191  _internal_add_transition_label(value);
8192  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
8193 }
8194 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8195 AutomatonConstraintProto::_internal_transition_label() const {
8196  return transition_label_;
8197 }
8198 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8199 AutomatonConstraintProto::transition_label() const {
8200  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8201  return _internal_transition_label();
8202 }
8203 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8204 AutomatonConstraintProto::_internal_mutable_transition_label() {
8205  return &transition_label_;
8206 }
8207 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8208 AutomatonConstraintProto::mutable_transition_label() {
8209  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8210  return _internal_mutable_transition_label();
8211 }
8212 
8213 // repeated int32 vars = 7;
8214 inline int AutomatonConstraintProto::_internal_vars_size() const {
8215  return vars_.size();
8216 }
8217 inline int AutomatonConstraintProto::vars_size() const {
8218  return _internal_vars_size();
8219 }
8220 inline void AutomatonConstraintProto::clear_vars() {
8221  vars_.Clear();
8222 }
8223 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::_internal_vars(int index) const {
8224  return vars_.Get(index);
8225 }
8226 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::vars(int index) const {
8227  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
8228  return _internal_vars(index);
8229 }
8230 inline void AutomatonConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8231  vars_.Set(index, value);
8232  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
8233 }
8234 inline void AutomatonConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8235  vars_.Add(value);
8236 }
8237 inline void AutomatonConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8238  _internal_add_vars(value);
8239  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
8240 }
8241 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8242 AutomatonConstraintProto::_internal_vars() const {
8243  return vars_;
8244 }
8245 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8246 AutomatonConstraintProto::vars() const {
8247  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
8248  return _internal_vars();
8249 }
8250 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8251 AutomatonConstraintProto::_internal_mutable_vars() {
8252  return &vars_;
8253 }
8254 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8255 AutomatonConstraintProto::mutable_vars() {
8256  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
8257  return _internal_mutable_vars();
8258 }
8259 
8260 // -------------------------------------------------------------------
8261 
8262 // ConstraintProto
8263 
8264 // string name = 1;
8265 inline void ConstraintProto::clear_name() {
8266  name_.ClearToEmpty();
8267 }
8268 inline const std::string& ConstraintProto::name() const {
8269  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
8270  return _internal_name();
8271 }
8272 inline void ConstraintProto::set_name(const std::string& value) {
8273  _internal_set_name(value);
8274  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
8275 }
8276 inline std::string* ConstraintProto::mutable_name() {
8277  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
8278  return _internal_mutable_name();
8279 }
8280 inline const std::string& ConstraintProto::_internal_name() const {
8281  return name_.Get();
8282 }
8283 inline void ConstraintProto::_internal_set_name(const std::string& value) {
8284 
8285  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
8286 }
8287 inline void ConstraintProto::set_name(std::string&& value) {
8288 
8289  name_.Set(
8290  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
8291  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.ConstraintProto.name)
8292 }
8293 inline void ConstraintProto::set_name(const char* value) {
8294  GOOGLE_DCHECK(value != nullptr);
8295 
8296  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
8297  // @@protoc_insertion_point(field_set_char:operations_research.sat.ConstraintProto.name)
8298 }
8299 inline void ConstraintProto::set_name(const char* value,
8300  size_t size) {
8301 
8302  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
8303  reinterpret_cast<const char*>(value), size), GetArena());
8304  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.ConstraintProto.name)
8305 }
8306 inline std::string* ConstraintProto::_internal_mutable_name() {
8307 
8308  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
8309 }
8310 inline std::string* ConstraintProto::release_name() {
8311  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
8312  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8313 }
8314 inline void ConstraintProto::set_allocated_name(std::string* name) {
8315  if (name != nullptr) {
8316 
8317  } else {
8318 
8319  }
8320  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
8321  GetArena());
8322  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
8323 }
8324 
8325 // repeated int32 enforcement_literal = 2;
8326 inline int ConstraintProto::_internal_enforcement_literal_size() const {
8327  return enforcement_literal_.size();
8328 }
8329 inline int ConstraintProto::enforcement_literal_size() const {
8330  return _internal_enforcement_literal_size();
8331 }
8332 inline void ConstraintProto::clear_enforcement_literal() {
8333  enforcement_literal_.Clear();
8334 }
8335 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::_internal_enforcement_literal(int index) const {
8336  return enforcement_literal_.Get(index);
8337 }
8338 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::enforcement_literal(int index) const {
8339  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
8340  return _internal_enforcement_literal(index);
8341 }
8342 inline void ConstraintProto::set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8343  enforcement_literal_.Set(index, value);
8344  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
8345 }
8346 inline void ConstraintProto::_internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8347  enforcement_literal_.Add(value);
8348 }
8349 inline void ConstraintProto::add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8350  _internal_add_enforcement_literal(value);
8351  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
8352 }
8353 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8354 ConstraintProto::_internal_enforcement_literal() const {
8355  return enforcement_literal_;
8356 }
8357 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8358 ConstraintProto::enforcement_literal() const {
8359  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
8360  return _internal_enforcement_literal();
8361 }
8362 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8363 ConstraintProto::_internal_mutable_enforcement_literal() {
8364  return &enforcement_literal_;
8365 }
8366 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8367 ConstraintProto::mutable_enforcement_literal() {
8368  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
8369  return _internal_mutable_enforcement_literal();
8370 }
8371 
8372 // .operations_research.sat.BoolArgumentProto bool_or = 3;
8373 inline bool ConstraintProto::_internal_has_bool_or() const {
8374  return constraint_case() == kBoolOr;
8375 }
8376 inline bool ConstraintProto::has_bool_or() const {
8377  return _internal_has_bool_or();
8378 }
8379 inline void ConstraintProto::set_has_bool_or() {
8380  _oneof_case_[0] = kBoolOr;
8381 }
8382 inline void ConstraintProto::clear_bool_or() {
8383  if (_internal_has_bool_or()) {
8384  if (GetArena() == nullptr) {
8385  delete constraint_.bool_or_;
8386  }
8387  clear_has_constraint();
8388  }
8389 }
8390 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
8391  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
8392  if (_internal_has_bool_or()) {
8393  clear_has_constraint();
8394  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8395  if (GetArena() != nullptr) {
8396  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8397  }
8398  constraint_.bool_or_ = nullptr;
8399  return temp;
8400  } else {
8401  return nullptr;
8402  }
8403 }
8404 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
8405  return _internal_has_bool_or()
8406  ? *constraint_.bool_or_
8407  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
8408 }
8409 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
8410  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
8411  return _internal_bool_or();
8412 }
8413 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_or() {
8414  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
8415  if (_internal_has_bool_or()) {
8416  clear_has_constraint();
8417  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8418  constraint_.bool_or_ = nullptr;
8419  return temp;
8420  } else {
8421  return nullptr;
8422  }
8423 }
8424 inline void ConstraintProto::unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or) {
8425  clear_constraint();
8426  if (bool_or) {
8427  set_has_bool_or();
8428  constraint_.bool_or_ = bool_or;
8429  }
8430  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
8431 }
8432 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_or() {
8433  if (!_internal_has_bool_or()) {
8434  clear_constraint();
8435  set_has_bool_or();
8436  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8437  }
8438  return constraint_.bool_or_;
8439 }
8440 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
8441  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
8442  return _internal_mutable_bool_or();
8443 }
8444 
8445 // .operations_research.sat.BoolArgumentProto bool_and = 4;
8446 inline bool ConstraintProto::_internal_has_bool_and() const {
8447  return constraint_case() == kBoolAnd;
8448 }
8449 inline bool ConstraintProto::has_bool_and() const {
8450  return _internal_has_bool_and();
8451 }
8452 inline void ConstraintProto::set_has_bool_and() {
8453  _oneof_case_[0] = kBoolAnd;
8454 }
8455 inline void ConstraintProto::clear_bool_and() {
8456  if (_internal_has_bool_and()) {
8457  if (GetArena() == nullptr) {
8458  delete constraint_.bool_and_;
8459  }
8460  clear_has_constraint();
8461  }
8462 }
8463 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
8464  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
8465  if (_internal_has_bool_and()) {
8466  clear_has_constraint();
8467  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
8468  if (GetArena() != nullptr) {
8469  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8470  }
8471  constraint_.bool_and_ = nullptr;
8472  return temp;
8473  } else {
8474  return nullptr;
8475  }
8476 }
8477 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
8478  return _internal_has_bool_and()
8479  ? *constraint_.bool_and_
8480  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
8481 }
8482 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
8483  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
8484  return _internal_bool_and();
8485 }
8486 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_and() {
8487  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
8488  if (_internal_has_bool_and()) {
8489  clear_has_constraint();
8490  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
8491  constraint_.bool_and_ = nullptr;
8492  return temp;
8493  } else {
8494  return nullptr;
8495  }
8496 }
8497 inline void ConstraintProto::unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and) {
8498  clear_constraint();
8499  if (bool_and) {
8500  set_has_bool_and();
8501  constraint_.bool_and_ = bool_and;
8502  }
8503  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
8504 }
8505 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_and() {
8506  if (!_internal_has_bool_and()) {
8507  clear_constraint();
8508  set_has_bool_and();
8509  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8510  }
8511  return constraint_.bool_and_;
8512 }
8513 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
8514  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
8515  return _internal_mutable_bool_and();
8516 }
8517 
8518 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
8519 inline bool ConstraintProto::_internal_has_at_most_one() const {
8520  return constraint_case() == kAtMostOne;
8521 }
8522 inline bool ConstraintProto::has_at_most_one() const {
8523  return _internal_has_at_most_one();
8524 }
8525 inline void ConstraintProto::set_has_at_most_one() {
8526  _oneof_case_[0] = kAtMostOne;
8527 }
8528 inline void ConstraintProto::clear_at_most_one() {
8529  if (_internal_has_at_most_one()) {
8530  if (GetArena() == nullptr) {
8531  delete constraint_.at_most_one_;
8532  }
8533  clear_has_constraint();
8534  }
8535 }
8536 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
8537  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
8538  if (_internal_has_at_most_one()) {
8539  clear_has_constraint();
8540  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
8541  if (GetArena() != nullptr) {
8542  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8543  }
8544  constraint_.at_most_one_ = nullptr;
8545  return temp;
8546  } else {
8547  return nullptr;
8548  }
8549 }
8550 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
8551  return _internal_has_at_most_one()
8552  ? *constraint_.at_most_one_
8553  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
8554 }
8555 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
8556  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
8557  return _internal_at_most_one();
8558 }
8559 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_at_most_one() {
8560  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
8561  if (_internal_has_at_most_one()) {
8562  clear_has_constraint();
8563  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
8564  constraint_.at_most_one_ = nullptr;
8565  return temp;
8566  } else {
8567  return nullptr;
8568  }
8569 }
8570 inline void ConstraintProto::unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one) {
8571  clear_constraint();
8572  if (at_most_one) {
8573  set_has_at_most_one();
8574  constraint_.at_most_one_ = at_most_one;
8575  }
8576  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
8577 }
8578 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_at_most_one() {
8579  if (!_internal_has_at_most_one()) {
8580  clear_constraint();
8581  set_has_at_most_one();
8582  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8583  }
8584  return constraint_.at_most_one_;
8585 }
8586 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
8587  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
8588  return _internal_mutable_at_most_one();
8589 }
8590 
8591 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
8592 inline bool ConstraintProto::_internal_has_exactly_one() const {
8593  return constraint_case() == kExactlyOne;
8594 }
8595 inline bool ConstraintProto::has_exactly_one() const {
8596  return _internal_has_exactly_one();
8597 }
8598 inline void ConstraintProto::set_has_exactly_one() {
8599  _oneof_case_[0] = kExactlyOne;
8600 }
8601 inline void ConstraintProto::clear_exactly_one() {
8602  if (_internal_has_exactly_one()) {
8603  if (GetArena() == nullptr) {
8604  delete constraint_.exactly_one_;
8605  }
8606  clear_has_constraint();
8607  }
8608 }
8609 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_exactly_one() {
8610  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.exactly_one)
8611  if (_internal_has_exactly_one()) {
8612  clear_has_constraint();
8613  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
8614  if (GetArena() != nullptr) {
8615  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8616  }
8617  constraint_.exactly_one_ = nullptr;
8618  return temp;
8619  } else {
8620  return nullptr;
8621  }
8622 }
8623 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_exactly_one() const {
8624  return _internal_has_exactly_one()
8625  ? *constraint_.exactly_one_
8626  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
8627 }
8628 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::exactly_one() const {
8629  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.exactly_one)
8630  return _internal_exactly_one();
8631 }
8632 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_exactly_one() {
8633  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.exactly_one)
8634  if (_internal_has_exactly_one()) {
8635  clear_has_constraint();
8636  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
8637  constraint_.exactly_one_ = nullptr;
8638  return temp;
8639  } else {
8640  return nullptr;
8641  }
8642 }
8643 inline void ConstraintProto::unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto* exactly_one) {
8644  clear_constraint();
8645  if (exactly_one) {
8646  set_has_exactly_one();
8647  constraint_.exactly_one_ = exactly_one;
8648  }
8649  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
8650 }
8651 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_exactly_one() {
8652  if (!_internal_has_exactly_one()) {
8653  clear_constraint();
8654  set_has_exactly_one();
8655  constraint_.exactly_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8656  }
8657  return constraint_.exactly_one_;
8658 }
8659 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_exactly_one() {
8660  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.exactly_one)
8661  return _internal_mutable_exactly_one();
8662 }
8663 
8664 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
8665 inline bool ConstraintProto::_internal_has_bool_xor() const {
8666  return constraint_case() == kBoolXor;
8667 }
8668 inline bool ConstraintProto::has_bool_xor() const {
8669  return _internal_has_bool_xor();
8670 }
8671 inline void ConstraintProto::set_has_bool_xor() {
8672  _oneof_case_[0] = kBoolXor;
8673 }
8674 inline void ConstraintProto::clear_bool_xor() {
8675  if (_internal_has_bool_xor()) {
8676  if (GetArena() == nullptr) {
8677  delete constraint_.bool_xor_;
8678  }
8679  clear_has_constraint();
8680  }
8681 }
8682 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
8683  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
8684  if (_internal_has_bool_xor()) {
8685  clear_has_constraint();
8686  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
8687  if (GetArena() != nullptr) {
8688  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8689  }
8690  constraint_.bool_xor_ = nullptr;
8691  return temp;
8692  } else {
8693  return nullptr;
8694  }
8695 }
8696 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
8697  return _internal_has_bool_xor()
8698  ? *constraint_.bool_xor_
8699  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
8700 }
8701 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
8702  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
8703  return _internal_bool_xor();
8704 }
8705 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_xor() {
8706  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
8707  if (_internal_has_bool_xor()) {
8708  clear_has_constraint();
8709  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
8710  constraint_.bool_xor_ = nullptr;
8711  return temp;
8712  } else {
8713  return nullptr;
8714  }
8715 }
8716 inline void ConstraintProto::unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor) {
8717  clear_constraint();
8718  if (bool_xor) {
8719  set_has_bool_xor();
8720  constraint_.bool_xor_ = bool_xor;
8721  }
8722  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
8723 }
8724 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_xor() {
8725  if (!_internal_has_bool_xor()) {
8726  clear_constraint();
8727  set_has_bool_xor();
8728  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8729  }
8730  return constraint_.bool_xor_;
8731 }
8732 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
8733  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
8734  return _internal_mutable_bool_xor();
8735 }
8736 
8737 // .operations_research.sat.IntegerArgumentProto int_div = 7;
8738 inline bool ConstraintProto::_internal_has_int_div() const {
8739  return constraint_case() == kIntDiv;
8740 }
8741 inline bool ConstraintProto::has_int_div() const {
8742  return _internal_has_int_div();
8743 }
8744 inline void ConstraintProto::set_has_int_div() {
8745  _oneof_case_[0] = kIntDiv;
8746 }
8747 inline void ConstraintProto::clear_int_div() {
8748  if (_internal_has_int_div()) {
8749  if (GetArena() == nullptr) {
8750  delete constraint_.int_div_;
8751  }
8752  clear_has_constraint();
8753  }
8754 }
8755 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_div() {
8756  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
8757  if (_internal_has_int_div()) {
8758  clear_has_constraint();
8759  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
8760  if (GetArena() != nullptr) {
8761  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8762  }
8763  constraint_.int_div_ = nullptr;
8764  return temp;
8765  } else {
8766  return nullptr;
8767  }
8768 }
8769 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_div() const {
8770  return _internal_has_int_div()
8771  ? *constraint_.int_div_
8772  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
8773 }
8774 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_div() const {
8775  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
8776  return _internal_int_div();
8777 }
8778 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_div() {
8779  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
8780  if (_internal_has_int_div()) {
8781  clear_has_constraint();
8782  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
8783  constraint_.int_div_ = nullptr;
8784  return temp;
8785  } else {
8786  return nullptr;
8787  }
8788 }
8789 inline void ConstraintProto::unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div) {
8790  clear_constraint();
8791  if (int_div) {
8792  set_has_int_div();
8793  constraint_.int_div_ = int_div;
8794  }
8795  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
8796 }
8797 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_div() {
8798  if (!_internal_has_int_div()) {
8799  clear_constraint();
8800  set_has_int_div();
8801  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8802  }
8803  return constraint_.int_div_;
8804 }
8805 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_div() {
8806  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
8807  return _internal_mutable_int_div();
8808 }
8809 
8810 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
8811 inline bool ConstraintProto::_internal_has_int_mod() const {
8812  return constraint_case() == kIntMod;
8813 }
8814 inline bool ConstraintProto::has_int_mod() const {
8815  return _internal_has_int_mod();
8816 }
8817 inline void ConstraintProto::set_has_int_mod() {
8818  _oneof_case_[0] = kIntMod;
8819 }
8820 inline void ConstraintProto::clear_int_mod() {
8821  if (_internal_has_int_mod()) {
8822  if (GetArena() == nullptr) {
8823  delete constraint_.int_mod_;
8824  }
8825  clear_has_constraint();
8826  }
8827 }
8828 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_mod() {
8829  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
8830  if (_internal_has_int_mod()) {
8831  clear_has_constraint();
8832  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
8833  if (GetArena() != nullptr) {
8834  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8835  }
8836  constraint_.int_mod_ = nullptr;
8837  return temp;
8838  } else {
8839  return nullptr;
8840  }
8841 }
8842 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_mod() const {
8843  return _internal_has_int_mod()
8844  ? *constraint_.int_mod_
8845  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
8846 }
8847 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_mod() const {
8848  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
8849  return _internal_int_mod();
8850 }
8851 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_mod() {
8852  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
8853  if (_internal_has_int_mod()) {
8854  clear_has_constraint();
8855  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
8856  constraint_.int_mod_ = nullptr;
8857  return temp;
8858  } else {
8859  return nullptr;
8860  }
8861 }
8862 inline void ConstraintProto::unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod) {
8863  clear_constraint();
8864  if (int_mod) {
8865  set_has_int_mod();
8866  constraint_.int_mod_ = int_mod;
8867  }
8868  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
8869 }
8870 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_mod() {
8871  if (!_internal_has_int_mod()) {
8872  clear_constraint();
8873  set_has_int_mod();
8874  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8875  }
8876  return constraint_.int_mod_;
8877 }
8878 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_mod() {
8879  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
8880  return _internal_mutable_int_mod();
8881 }
8882 
8883 // .operations_research.sat.IntegerArgumentProto int_max = 9;
8884 inline bool ConstraintProto::_internal_has_int_max() const {
8885  return constraint_case() == kIntMax;
8886 }
8887 inline bool ConstraintProto::has_int_max() const {
8888  return _internal_has_int_max();
8889 }
8890 inline void ConstraintProto::set_has_int_max() {
8891  _oneof_case_[0] = kIntMax;
8892 }
8893 inline void ConstraintProto::clear_int_max() {
8894  if (_internal_has_int_max()) {
8895  if (GetArena() == nullptr) {
8896  delete constraint_.int_max_;
8897  }
8898  clear_has_constraint();
8899  }
8900 }
8901 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_max() {
8902  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_max)
8903  if (_internal_has_int_max()) {
8904  clear_has_constraint();
8905  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
8906  if (GetArena() != nullptr) {
8907  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8908  }
8909  constraint_.int_max_ = nullptr;
8910  return temp;
8911  } else {
8912  return nullptr;
8913  }
8914 }
8915 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_max() const {
8916  return _internal_has_int_max()
8917  ? *constraint_.int_max_
8918  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
8919 }
8920 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_max() const {
8921  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_max)
8922  return _internal_int_max();
8923 }
8924 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_max() {
8925  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_max)
8926  if (_internal_has_int_max()) {
8927  clear_has_constraint();
8928  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
8929  constraint_.int_max_ = nullptr;
8930  return temp;
8931  } else {
8932  return nullptr;
8933  }
8934 }
8935 inline void ConstraintProto::unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max) {
8936  clear_constraint();
8937  if (int_max) {
8938  set_has_int_max();
8939  constraint_.int_max_ = int_max;
8940  }
8941  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_max)
8942 }
8943 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_max() {
8944  if (!_internal_has_int_max()) {
8945  clear_constraint();
8946  set_has_int_max();
8947  constraint_.int_max_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8948  }
8949  return constraint_.int_max_;
8950 }
8951 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_max() {
8952  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_max)
8953  return _internal_mutable_int_max();
8954 }
8955 
8956 // .operations_research.sat.LinearArgumentProto lin_max = 27;
8957 inline bool ConstraintProto::_internal_has_lin_max() const {
8958  return constraint_case() == kLinMax;
8959 }
8960 inline bool ConstraintProto::has_lin_max() const {
8961  return _internal_has_lin_max();
8962 }
8963 inline void ConstraintProto::set_has_lin_max() {
8964  _oneof_case_[0] = kLinMax;
8965 }
8966 inline void ConstraintProto::clear_lin_max() {
8967  if (_internal_has_lin_max()) {
8968  if (GetArena() == nullptr) {
8969  delete constraint_.lin_max_;
8970  }
8971  clear_has_constraint();
8972  }
8973 }
8974 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_max() {
8975  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
8976  if (_internal_has_lin_max()) {
8977  clear_has_constraint();
8978  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
8979  if (GetArena() != nullptr) {
8980  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8981  }
8982  constraint_.lin_max_ = nullptr;
8983  return temp;
8984  } else {
8985  return nullptr;
8986  }
8987 }
8988 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
8989  return _internal_has_lin_max()
8990  ? *constraint_.lin_max_
8991  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
8992 }
8993 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const {
8994  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
8995  return _internal_lin_max();
8996 }
8997 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_max() {
8998  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
8999  if (_internal_has_lin_max()) {
9000  clear_has_constraint();
9001  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
9002  constraint_.lin_max_ = nullptr;
9003  return temp;
9004  } else {
9005  return nullptr;
9006  }
9007 }
9008 inline void ConstraintProto::unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max) {
9009  clear_constraint();
9010  if (lin_max) {
9011  set_has_lin_max();
9012  constraint_.lin_max_ = lin_max;
9013  }
9014  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
9015 }
9016 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_max() {
9017  if (!_internal_has_lin_max()) {
9018  clear_constraint();
9019  set_has_lin_max();
9020  constraint_.lin_max_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9021  }
9022  return constraint_.lin_max_;
9023 }
9024 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_max() {
9025  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
9026  return _internal_mutable_lin_max();
9027 }
9028 
9029 // .operations_research.sat.IntegerArgumentProto int_min = 10;
9030 inline bool ConstraintProto::_internal_has_int_min() const {
9031  return constraint_case() == kIntMin;
9032 }
9033 inline bool ConstraintProto::has_int_min() const {
9034  return _internal_has_int_min();
9035 }
9036 inline void ConstraintProto::set_has_int_min() {
9037  _oneof_case_[0] = kIntMin;
9038 }
9039 inline void ConstraintProto::clear_int_min() {
9040  if (_internal_has_int_min()) {
9041  if (GetArena() == nullptr) {
9042  delete constraint_.int_min_;
9043  }
9044  clear_has_constraint();
9045  }
9046 }
9047 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_min() {
9048  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_min)
9049  if (_internal_has_int_min()) {
9050  clear_has_constraint();
9051  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9052  if (GetArena() != nullptr) {
9053  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9054  }
9055  constraint_.int_min_ = nullptr;
9056  return temp;
9057  } else {
9058  return nullptr;
9059  }
9060 }
9061 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_min() const {
9062  return _internal_has_int_min()
9063  ? *constraint_.int_min_
9064  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9065 }
9066 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_min() const {
9067  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_min)
9068  return _internal_int_min();
9069 }
9070 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_min() {
9071  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_min)
9072  if (_internal_has_int_min()) {
9073  clear_has_constraint();
9074  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9075  constraint_.int_min_ = nullptr;
9076  return temp;
9077  } else {
9078  return nullptr;
9079  }
9080 }
9081 inline void ConstraintProto::unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min) {
9082  clear_constraint();
9083  if (int_min) {
9084  set_has_int_min();
9085  constraint_.int_min_ = int_min;
9086  }
9087  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_min)
9088 }
9089 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_min() {
9090  if (!_internal_has_int_min()) {
9091  clear_constraint();
9092  set_has_int_min();
9093  constraint_.int_min_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9094  }
9095  return constraint_.int_min_;
9096 }
9097 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_min() {
9098  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_min)
9099  return _internal_mutable_int_min();
9100 }
9101 
9102 // .operations_research.sat.LinearArgumentProto lin_min = 28;
9103 inline bool ConstraintProto::_internal_has_lin_min() const {
9104  return constraint_case() == kLinMin;
9105 }
9106 inline bool ConstraintProto::has_lin_min() const {
9107  return _internal_has_lin_min();
9108 }
9109 inline void ConstraintProto::set_has_lin_min() {
9110  _oneof_case_[0] = kLinMin;
9111 }
9112 inline void ConstraintProto::clear_lin_min() {
9113  if (_internal_has_lin_min()) {
9114  if (GetArena() == nullptr) {
9115  delete constraint_.lin_min_;
9116  }
9117  clear_has_constraint();
9118  }
9119 }
9120 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_min() {
9121  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_min)
9122  if (_internal_has_lin_min()) {
9123  clear_has_constraint();
9124  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9125  if (GetArena() != nullptr) {
9126  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9127  }
9128  constraint_.lin_min_ = nullptr;
9129  return temp;
9130  } else {
9131  return nullptr;
9132  }
9133 }
9134 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_min() const {
9135  return _internal_has_lin_min()
9136  ? *constraint_.lin_min_
9137  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9138 }
9139 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_min() const {
9140  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_min)
9141  return _internal_lin_min();
9142 }
9143 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_min() {
9144  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_min)
9145  if (_internal_has_lin_min()) {
9146  clear_has_constraint();
9147  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9148  constraint_.lin_min_ = nullptr;
9149  return temp;
9150  } else {
9151  return nullptr;
9152  }
9153 }
9154 inline void ConstraintProto::unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min) {
9155  clear_constraint();
9156  if (lin_min) {
9157  set_has_lin_min();
9158  constraint_.lin_min_ = lin_min;
9159  }
9160  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_min)
9161 }
9162 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_min() {
9163  if (!_internal_has_lin_min()) {
9164  clear_constraint();
9165  set_has_lin_min();
9166  constraint_.lin_min_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9167  }
9168  return constraint_.lin_min_;
9169 }
9170 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_min() {
9171  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_min)
9172  return _internal_mutable_lin_min();
9173 }
9174 
9175 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
9176 inline bool ConstraintProto::_internal_has_int_prod() const {
9177  return constraint_case() == kIntProd;
9178 }
9179 inline bool ConstraintProto::has_int_prod() const {
9180  return _internal_has_int_prod();
9181 }
9182 inline void ConstraintProto::set_has_int_prod() {
9183  _oneof_case_[0] = kIntProd;
9184 }
9185 inline void ConstraintProto::clear_int_prod() {
9186  if (_internal_has_int_prod()) {
9187  if (GetArena() == nullptr) {
9188  delete constraint_.int_prod_;
9189  }
9190  clear_has_constraint();
9191  }
9192 }
9193 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_prod() {
9194  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
9195  if (_internal_has_int_prod()) {
9196  clear_has_constraint();
9197  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9198  if (GetArena() != nullptr) {
9199  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9200  }
9201  constraint_.int_prod_ = nullptr;
9202  return temp;
9203  } else {
9204  return nullptr;
9205  }
9206 }
9207 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_prod() const {
9208  return _internal_has_int_prod()
9209  ? *constraint_.int_prod_
9210  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9211 }
9212 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_prod() const {
9213  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
9214  return _internal_int_prod();
9215 }
9216 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_prod() {
9217  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
9218  if (_internal_has_int_prod()) {
9219  clear_has_constraint();
9220  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9221  constraint_.int_prod_ = nullptr;
9222  return temp;
9223  } else {
9224  return nullptr;
9225  }
9226 }
9227 inline void ConstraintProto::unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod) {
9228  clear_constraint();
9229  if (int_prod) {
9230  set_has_int_prod();
9231  constraint_.int_prod_ = int_prod;
9232  }
9233  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
9234 }
9235 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_prod() {
9236  if (!_internal_has_int_prod()) {
9237  clear_constraint();
9238  set_has_int_prod();
9239  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9240  }
9241  return constraint_.int_prod_;
9242 }
9243 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_prod() {
9244  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
9245  return _internal_mutable_int_prod();
9246 }
9247 
9248 // .operations_research.sat.LinearConstraintProto linear = 12;
9249 inline bool ConstraintProto::_internal_has_linear() const {
9250  return constraint_case() == kLinear;
9251 }
9252 inline bool ConstraintProto::has_linear() const {
9253  return _internal_has_linear();
9254 }
9255 inline void ConstraintProto::set_has_linear() {
9256  _oneof_case_[0] = kLinear;
9257 }
9258 inline void ConstraintProto::clear_linear() {
9259  if (_internal_has_linear()) {
9260  if (GetArena() == nullptr) {
9261  delete constraint_.linear_;
9262  }
9263  clear_has_constraint();
9264  }
9265 }
9266 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
9267  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
9268  if (_internal_has_linear()) {
9269  clear_has_constraint();
9270  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9271  if (GetArena() != nullptr) {
9272  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9273  }
9274  constraint_.linear_ = nullptr;
9275  return temp;
9276  } else {
9277  return nullptr;
9278  }
9279 }
9280 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
9281  return _internal_has_linear()
9282  ? *constraint_.linear_
9283  : reinterpret_cast< ::operations_research::sat::LinearConstraintProto&>(::operations_research::sat::_LinearConstraintProto_default_instance_);
9284 }
9285 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
9286  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
9287  return _internal_linear();
9288 }
9289 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::unsafe_arena_release_linear() {
9290  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
9291  if (_internal_has_linear()) {
9292  clear_has_constraint();
9293  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9294  constraint_.linear_ = nullptr;
9295  return temp;
9296  } else {
9297  return nullptr;
9298  }
9299 }
9300 inline void ConstraintProto::unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear) {
9301  clear_constraint();
9302  if (linear) {
9303  set_has_linear();
9304  constraint_.linear_ = linear;
9305  }
9306  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
9307 }
9308 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::_internal_mutable_linear() {
9309  if (!_internal_has_linear()) {
9310  clear_constraint();
9311  set_has_linear();
9312  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(GetArena());
9313  }
9314  return constraint_.linear_;
9315 }
9316 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
9317  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
9318  return _internal_mutable_linear();
9319 }
9320 
9321 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
9322 inline bool ConstraintProto::_internal_has_all_diff() const {
9323  return constraint_case() == kAllDiff;
9324 }
9325 inline bool ConstraintProto::has_all_diff() const {
9326  return _internal_has_all_diff();
9327 }
9328 inline void ConstraintProto::set_has_all_diff() {
9329  _oneof_case_[0] = kAllDiff;
9330 }
9331 inline void ConstraintProto::clear_all_diff() {
9332  if (_internal_has_all_diff()) {
9333  if (GetArena() == nullptr) {
9334  delete constraint_.all_diff_;
9335  }
9336  clear_has_constraint();
9337  }
9338 }
9339 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
9340  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
9341  if (_internal_has_all_diff()) {
9342  clear_has_constraint();
9343  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9344  if (GetArena() != nullptr) {
9345  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9346  }
9347  constraint_.all_diff_ = nullptr;
9348  return temp;
9349  } else {
9350  return nullptr;
9351  }
9352 }
9353 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
9354  return _internal_has_all_diff()
9355  ? *constraint_.all_diff_
9356  : reinterpret_cast< ::operations_research::sat::AllDifferentConstraintProto&>(::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
9357 }
9358 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
9359  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
9360  return _internal_all_diff();
9361 }
9362 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::unsafe_arena_release_all_diff() {
9363  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
9364  if (_internal_has_all_diff()) {
9365  clear_has_constraint();
9366  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9367  constraint_.all_diff_ = nullptr;
9368  return temp;
9369  } else {
9370  return nullptr;
9371  }
9372 }
9373 inline void ConstraintProto::unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff) {
9374  clear_constraint();
9375  if (all_diff) {
9376  set_has_all_diff();
9377  constraint_.all_diff_ = all_diff;
9378  }
9379  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
9380 }
9381 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::_internal_mutable_all_diff() {
9382  if (!_internal_has_all_diff()) {
9383  clear_constraint();
9384  set_has_all_diff();
9385  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(GetArena());
9386  }
9387  return constraint_.all_diff_;
9388 }
9389 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
9390  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
9391  return _internal_mutable_all_diff();
9392 }
9393 
9394 // .operations_research.sat.ElementConstraintProto element = 14;
9395 inline bool ConstraintProto::_internal_has_element() const {
9396  return constraint_case() == kElement;
9397 }
9398 inline bool ConstraintProto::has_element() const {
9399  return _internal_has_element();
9400 }
9401 inline void ConstraintProto::set_has_element() {
9402  _oneof_case_[0] = kElement;
9403 }
9404 inline void ConstraintProto::clear_element() {
9405  if (_internal_has_element()) {
9406  if (GetArena() == nullptr) {
9407  delete constraint_.element_;
9408  }
9409  clear_has_constraint();
9410  }
9411 }
9412 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
9413  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
9414  if (_internal_has_element()) {
9415  clear_has_constraint();
9416  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
9417  if (GetArena() != nullptr) {
9418  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9419  }
9420  constraint_.element_ = nullptr;
9421  return temp;
9422  } else {
9423  return nullptr;
9424  }
9425 }
9426 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
9427  return _internal_has_element()
9428  ? *constraint_.element_
9429  : reinterpret_cast< ::operations_research::sat::ElementConstraintProto&>(::operations_research::sat::_ElementConstraintProto_default_instance_);
9430 }
9431 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
9432  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
9433  return _internal_element();
9434 }
9435 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::unsafe_arena_release_element() {
9436  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
9437  if (_internal_has_element()) {
9438  clear_has_constraint();
9439  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
9440  constraint_.element_ = nullptr;
9441  return temp;
9442  } else {
9443  return nullptr;
9444  }
9445 }
9446 inline void ConstraintProto::unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto* element) {
9447  clear_constraint();
9448  if (element) {
9449  set_has_element();
9450  constraint_.element_ = element;
9451  }
9452  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
9453 }
9454 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::_internal_mutable_element() {
9455  if (!_internal_has_element()) {
9456  clear_constraint();
9457  set_has_element();
9458  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(GetArena());
9459  }
9460  return constraint_.element_;
9461 }
9462 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
9463  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
9464  return _internal_mutable_element();
9465 }
9466 
9467 // .operations_research.sat.CircuitConstraintProto circuit = 15;
9468 inline bool ConstraintProto::_internal_has_circuit() const {
9469  return constraint_case() == kCircuit;
9470 }
9471 inline bool ConstraintProto::has_circuit() const {
9472  return _internal_has_circuit();
9473 }
9474 inline void ConstraintProto::set_has_circuit() {
9475  _oneof_case_[0] = kCircuit;
9476 }
9477 inline void ConstraintProto::clear_circuit() {
9478  if (_internal_has_circuit()) {
9479  if (GetArena() == nullptr) {
9480  delete constraint_.circuit_;
9481  }
9482  clear_has_constraint();
9483  }
9484 }
9485 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
9486  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
9487  if (_internal_has_circuit()) {
9488  clear_has_constraint();
9489  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
9490  if (GetArena() != nullptr) {
9491  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9492  }
9493  constraint_.circuit_ = nullptr;
9494  return temp;
9495  } else {
9496  return nullptr;
9497  }
9498 }
9499 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
9500  return _internal_has_circuit()
9501  ? *constraint_.circuit_
9502  : reinterpret_cast< ::operations_research::sat::CircuitConstraintProto&>(::operations_research::sat::_CircuitConstraintProto_default_instance_);
9503 }
9504 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
9505  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
9506  return _internal_circuit();
9507 }
9508 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::unsafe_arena_release_circuit() {
9509  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
9510  if (_internal_has_circuit()) {
9511  clear_has_constraint();
9512  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
9513  constraint_.circuit_ = nullptr;
9514  return temp;
9515  } else {
9516  return nullptr;
9517  }
9518 }
9519 inline void ConstraintProto::unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit) {
9520  clear_constraint();
9521  if (circuit) {
9522  set_has_circuit();
9523  constraint_.circuit_ = circuit;
9524  }
9525  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
9526 }
9527 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::_internal_mutable_circuit() {
9528  if (!_internal_has_circuit()) {
9529  clear_constraint();
9530  set_has_circuit();
9531  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(GetArena());
9532  }
9533  return constraint_.circuit_;
9534 }
9535 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
9536  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
9537  return _internal_mutable_circuit();
9538 }
9539 
9540 // .operations_research.sat.RoutesConstraintProto routes = 23;
9541 inline bool ConstraintProto::_internal_has_routes() const {
9542  return constraint_case() == kRoutes;
9543 }
9544 inline bool ConstraintProto::has_routes() const {
9545  return _internal_has_routes();
9546 }
9547 inline void ConstraintProto::set_has_routes() {
9548  _oneof_case_[0] = kRoutes;
9549 }
9550 inline void ConstraintProto::clear_routes() {
9551  if (_internal_has_routes()) {
9552  if (GetArena() == nullptr) {
9553  delete constraint_.routes_;
9554  }
9555  clear_has_constraint();
9556  }
9557 }
9558 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
9559  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
9560  if (_internal_has_routes()) {
9561  clear_has_constraint();
9562  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
9563  if (GetArena() != nullptr) {
9564  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9565  }
9566  constraint_.routes_ = nullptr;
9567  return temp;
9568  } else {
9569  return nullptr;
9570  }
9571 }
9572 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
9573  return _internal_has_routes()
9574  ? *constraint_.routes_
9575  : reinterpret_cast< ::operations_research::sat::RoutesConstraintProto&>(::operations_research::sat::_RoutesConstraintProto_default_instance_);
9576 }
9577 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
9578  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
9579  return _internal_routes();
9580 }
9581 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::unsafe_arena_release_routes() {
9582  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
9583  if (_internal_has_routes()) {
9584  clear_has_constraint();
9585  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
9586  constraint_.routes_ = nullptr;
9587  return temp;
9588  } else {
9589  return nullptr;
9590  }
9591 }
9592 inline void ConstraintProto::unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes) {
9593  clear_constraint();
9594  if (routes) {
9595  set_has_routes();
9596  constraint_.routes_ = routes;
9597  }
9598  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
9599 }
9600 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::_internal_mutable_routes() {
9601  if (!_internal_has_routes()) {
9602  clear_constraint();
9603  set_has_routes();
9604  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(GetArena());
9605  }
9606  return constraint_.routes_;
9607 }
9608 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
9609  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
9610  return _internal_mutable_routes();
9611 }
9612 
9613 // .operations_research.sat.TableConstraintProto table = 16;
9614 inline bool ConstraintProto::_internal_has_table() const {
9615  return constraint_case() == kTable;
9616 }
9617 inline bool ConstraintProto::has_table() const {
9618  return _internal_has_table();
9619 }
9620 inline void ConstraintProto::set_has_table() {
9621  _oneof_case_[0] = kTable;
9622 }
9623 inline void ConstraintProto::clear_table() {
9624  if (_internal_has_table()) {
9625  if (GetArena() == nullptr) {
9626  delete constraint_.table_;
9627  }
9628  clear_has_constraint();
9629  }
9630 }
9631 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
9632  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
9633  if (_internal_has_table()) {
9634  clear_has_constraint();
9635  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
9636  if (GetArena() != nullptr) {
9637  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9638  }
9639  constraint_.table_ = nullptr;
9640  return temp;
9641  } else {
9642  return nullptr;
9643  }
9644 }
9645 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
9646  return _internal_has_table()
9647  ? *constraint_.table_
9648  : reinterpret_cast< ::operations_research::sat::TableConstraintProto&>(::operations_research::sat::_TableConstraintProto_default_instance_);
9649 }
9650 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
9651  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
9652  return _internal_table();
9653 }
9654 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::unsafe_arena_release_table() {
9655  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
9656  if (_internal_has_table()) {
9657  clear_has_constraint();
9658  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
9659  constraint_.table_ = nullptr;
9660  return temp;
9661  } else {
9662  return nullptr;
9663  }
9664 }
9665 inline void ConstraintProto::unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto* table) {
9666  clear_constraint();
9667  if (table) {
9668  set_has_table();
9669  constraint_.table_ = table;
9670  }
9671  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
9672 }
9673 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::_internal_mutable_table() {
9674  if (!_internal_has_table()) {
9675  clear_constraint();
9676  set_has_table();
9677  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(GetArena());
9678  }
9679  return constraint_.table_;
9680 }
9681 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
9682  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
9683  return _internal_mutable_table();
9684 }
9685 
9686 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
9687 inline bool ConstraintProto::_internal_has_automaton() const {
9688  return constraint_case() == kAutomaton;
9689 }
9690 inline bool ConstraintProto::has_automaton() const {
9691  return _internal_has_automaton();
9692 }
9693 inline void ConstraintProto::set_has_automaton() {
9694  _oneof_case_[0] = kAutomaton;
9695 }
9696 inline void ConstraintProto::clear_automaton() {
9697  if (_internal_has_automaton()) {
9698  if (GetArena() == nullptr) {
9699  delete constraint_.automaton_;
9700  }
9701  clear_has_constraint();
9702  }
9703 }
9704 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
9705  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
9706  if (_internal_has_automaton()) {
9707  clear_has_constraint();
9708  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
9709  if (GetArena() != nullptr) {
9710  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9711  }
9712  constraint_.automaton_ = nullptr;
9713  return temp;
9714  } else {
9715  return nullptr;
9716  }
9717 }
9718 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
9719  return _internal_has_automaton()
9720  ? *constraint_.automaton_
9721  : reinterpret_cast< ::operations_research::sat::AutomatonConstraintProto&>(::operations_research::sat::_AutomatonConstraintProto_default_instance_);
9722 }
9723 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
9724  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
9725  return _internal_automaton();
9726 }
9727 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::unsafe_arena_release_automaton() {
9728  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
9729  if (_internal_has_automaton()) {
9730  clear_has_constraint();
9731  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
9732  constraint_.automaton_ = nullptr;
9733  return temp;
9734  } else {
9735  return nullptr;
9736  }
9737 }
9738 inline void ConstraintProto::unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton) {
9739  clear_constraint();
9740  if (automaton) {
9741  set_has_automaton();
9742  constraint_.automaton_ = automaton;
9743  }
9744  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
9745 }
9746 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::_internal_mutable_automaton() {
9747  if (!_internal_has_automaton()) {
9748  clear_constraint();
9749  set_has_automaton();
9750  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(GetArena());
9751  }
9752  return constraint_.automaton_;
9753 }
9754 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
9755  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
9756  return _internal_mutable_automaton();
9757 }
9758 
9759 // .operations_research.sat.InverseConstraintProto inverse = 18;
9760 inline bool ConstraintProto::_internal_has_inverse() const {
9761  return constraint_case() == kInverse;
9762 }
9763 inline bool ConstraintProto::has_inverse() const {
9764  return _internal_has_inverse();
9765 }
9766 inline void ConstraintProto::set_has_inverse() {
9767  _oneof_case_[0] = kInverse;
9768 }
9769 inline void ConstraintProto::clear_inverse() {
9770  if (_internal_has_inverse()) {
9771  if (GetArena() == nullptr) {
9772  delete constraint_.inverse_;
9773  }
9774  clear_has_constraint();
9775  }
9776 }
9777 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
9778  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
9779  if (_internal_has_inverse()) {
9780  clear_has_constraint();
9781  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
9782  if (GetArena() != nullptr) {
9783  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9784  }
9785  constraint_.inverse_ = nullptr;
9786  return temp;
9787  } else {
9788  return nullptr;
9789  }
9790 }
9791 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
9792  return _internal_has_inverse()
9793  ? *constraint_.inverse_
9794  : reinterpret_cast< ::operations_research::sat::InverseConstraintProto&>(::operations_research::sat::_InverseConstraintProto_default_instance_);
9795 }
9796 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
9797  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
9798  return _internal_inverse();
9799 }
9800 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::unsafe_arena_release_inverse() {
9801  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
9802  if (_internal_has_inverse()) {
9803  clear_has_constraint();
9804  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
9805  constraint_.inverse_ = nullptr;
9806  return temp;
9807  } else {
9808  return nullptr;
9809  }
9810 }
9811 inline void ConstraintProto::unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse) {
9812  clear_constraint();
9813  if (inverse) {
9814  set_has_inverse();
9815  constraint_.inverse_ = inverse;
9816  }
9817  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
9818 }
9819 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::_internal_mutable_inverse() {
9820  if (!_internal_has_inverse()) {
9821  clear_constraint();
9822  set_has_inverse();
9823  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(GetArena());
9824  }
9825  return constraint_.inverse_;
9826 }
9827 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
9828  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
9829  return _internal_mutable_inverse();
9830 }
9831 
9832 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
9833 inline bool ConstraintProto::_internal_has_reservoir() const {
9834  return constraint_case() == kReservoir;
9835 }
9836 inline bool ConstraintProto::has_reservoir() const {
9837  return _internal_has_reservoir();
9838 }
9839 inline void ConstraintProto::set_has_reservoir() {
9840  _oneof_case_[0] = kReservoir;
9841 }
9842 inline void ConstraintProto::clear_reservoir() {
9843  if (_internal_has_reservoir()) {
9844  if (GetArena() == nullptr) {
9845  delete constraint_.reservoir_;
9846  }
9847  clear_has_constraint();
9848  }
9849 }
9850 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
9851  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
9852  if (_internal_has_reservoir()) {
9853  clear_has_constraint();
9854  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
9855  if (GetArena() != nullptr) {
9856  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9857  }
9858  constraint_.reservoir_ = nullptr;
9859  return temp;
9860  } else {
9861  return nullptr;
9862  }
9863 }
9864 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
9865  return _internal_has_reservoir()
9866  ? *constraint_.reservoir_
9867  : reinterpret_cast< ::operations_research::sat::ReservoirConstraintProto&>(::operations_research::sat::_ReservoirConstraintProto_default_instance_);
9868 }
9869 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
9870  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
9871  return _internal_reservoir();
9872 }
9873 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::unsafe_arena_release_reservoir() {
9874  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
9875  if (_internal_has_reservoir()) {
9876  clear_has_constraint();
9877  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
9878  constraint_.reservoir_ = nullptr;
9879  return temp;
9880  } else {
9881  return nullptr;
9882  }
9883 }
9884 inline void ConstraintProto::unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir) {
9885  clear_constraint();
9886  if (reservoir) {
9887  set_has_reservoir();
9888  constraint_.reservoir_ = reservoir;
9889  }
9890  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
9891 }
9892 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::_internal_mutable_reservoir() {
9893  if (!_internal_has_reservoir()) {
9894  clear_constraint();
9895  set_has_reservoir();
9896  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(GetArena());
9897  }
9898  return constraint_.reservoir_;
9899 }
9900 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
9901  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
9902  return _internal_mutable_reservoir();
9903 }
9904 
9905 // .operations_research.sat.IntervalConstraintProto interval = 19;
9906 inline bool ConstraintProto::_internal_has_interval() const {
9907  return constraint_case() == kInterval;
9908 }
9909 inline bool ConstraintProto::has_interval() const {
9910  return _internal_has_interval();
9911 }
9912 inline void ConstraintProto::set_has_interval() {
9913  _oneof_case_[0] = kInterval;
9914 }
9915 inline void ConstraintProto::clear_interval() {
9916  if (_internal_has_interval()) {
9917  if (GetArena() == nullptr) {
9918  delete constraint_.interval_;
9919  }
9920  clear_has_constraint();
9921  }
9922 }
9923 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
9924  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
9925  if (_internal_has_interval()) {
9926  clear_has_constraint();
9927  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
9928  if (GetArena() != nullptr) {
9929  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9930  }
9931  constraint_.interval_ = nullptr;
9932  return temp;
9933  } else {
9934  return nullptr;
9935  }
9936 }
9937 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
9938  return _internal_has_interval()
9939  ? *constraint_.interval_
9940  : reinterpret_cast< ::operations_research::sat::IntervalConstraintProto&>(::operations_research::sat::_IntervalConstraintProto_default_instance_);
9941 }
9942 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
9943  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
9944  return _internal_interval();
9945 }
9946 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::unsafe_arena_release_interval() {
9947  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
9948  if (_internal_has_interval()) {
9949  clear_has_constraint();
9950  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
9951  constraint_.interval_ = nullptr;
9952  return temp;
9953  } else {
9954  return nullptr;
9955  }
9956 }
9957 inline void ConstraintProto::unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval) {
9958  clear_constraint();
9959  if (interval) {
9960  set_has_interval();
9961  constraint_.interval_ = interval;
9962  }
9963  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
9964 }
9965 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::_internal_mutable_interval() {
9966  if (!_internal_has_interval()) {
9967  clear_constraint();
9968  set_has_interval();
9969  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(GetArena());
9970  }
9971  return constraint_.interval_;
9972 }
9973 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
9974  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
9975  return _internal_mutable_interval();
9976 }
9977 
9978 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
9979 inline bool ConstraintProto::_internal_has_no_overlap() const {
9980  return constraint_case() == kNoOverlap;
9981 }
9982 inline bool ConstraintProto::has_no_overlap() const {
9983  return _internal_has_no_overlap();
9984 }
9985 inline void ConstraintProto::set_has_no_overlap() {
9986  _oneof_case_[0] = kNoOverlap;
9987 }
9988 inline void ConstraintProto::clear_no_overlap() {
9989  if (_internal_has_no_overlap()) {
9990  if (GetArena() == nullptr) {
9991  delete constraint_.no_overlap_;
9992  }
9993  clear_has_constraint();
9994  }
9995 }
9996 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
9997  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
9998  if (_internal_has_no_overlap()) {
9999  clear_has_constraint();
10000  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10001  if (GetArena() != nullptr) {
10002  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10003  }
10004  constraint_.no_overlap_ = nullptr;
10005  return temp;
10006  } else {
10007  return nullptr;
10008  }
10009 }
10010 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
10011  return _internal_has_no_overlap()
10012  ? *constraint_.no_overlap_
10013  : reinterpret_cast< ::operations_research::sat::NoOverlapConstraintProto&>(::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
10014 }
10015 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
10016  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
10017  return _internal_no_overlap();
10018 }
10019 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap() {
10020  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
10021  if (_internal_has_no_overlap()) {
10022  clear_has_constraint();
10023  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10024  constraint_.no_overlap_ = nullptr;
10025  return temp;
10026  } else {
10027  return nullptr;
10028  }
10029 }
10030 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap) {
10031  clear_constraint();
10032  if (no_overlap) {
10033  set_has_no_overlap();
10034  constraint_.no_overlap_ = no_overlap;
10035  }
10036  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
10037 }
10038 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::_internal_mutable_no_overlap() {
10039  if (!_internal_has_no_overlap()) {
10040  clear_constraint();
10041  set_has_no_overlap();
10042  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(GetArena());
10043  }
10044  return constraint_.no_overlap_;
10045 }
10046 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
10047  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
10048  return _internal_mutable_no_overlap();
10049 }
10050 
10051 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
10052 inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
10053  return constraint_case() == kNoOverlap2D;
10054 }
10055 inline bool ConstraintProto::has_no_overlap_2d() const {
10056  return _internal_has_no_overlap_2d();
10057 }
10058 inline void ConstraintProto::set_has_no_overlap_2d() {
10059  _oneof_case_[0] = kNoOverlap2D;
10060 }
10061 inline void ConstraintProto::clear_no_overlap_2d() {
10062  if (_internal_has_no_overlap_2d()) {
10063  if (GetArena() == nullptr) {
10064  delete constraint_.no_overlap_2d_;
10065  }
10066  clear_has_constraint();
10067  }
10068 }
10069 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
10070  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10071  if (_internal_has_no_overlap_2d()) {
10072  clear_has_constraint();
10073  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10074  if (GetArena() != nullptr) {
10075  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10076  }
10077  constraint_.no_overlap_2d_ = nullptr;
10078  return temp;
10079  } else {
10080  return nullptr;
10081  }
10082 }
10083 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
10084  return _internal_has_no_overlap_2d()
10085  ? *constraint_.no_overlap_2d_
10086  : reinterpret_cast< ::operations_research::sat::NoOverlap2DConstraintProto&>(::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
10087 }
10088 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
10089  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
10090  return _internal_no_overlap_2d();
10091 }
10092 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap_2d() {
10093  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10094  if (_internal_has_no_overlap_2d()) {
10095  clear_has_constraint();
10096  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10097  constraint_.no_overlap_2d_ = nullptr;
10098  return temp;
10099  } else {
10100  return nullptr;
10101  }
10102 }
10103 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d) {
10104  clear_constraint();
10105  if (no_overlap_2d) {
10106  set_has_no_overlap_2d();
10107  constraint_.no_overlap_2d_ = no_overlap_2d;
10108  }
10109  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
10110 }
10111 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::_internal_mutable_no_overlap_2d() {
10112  if (!_internal_has_no_overlap_2d()) {
10113  clear_constraint();
10114  set_has_no_overlap_2d();
10115  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(GetArena());
10116  }
10117  return constraint_.no_overlap_2d_;
10118 }
10119 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
10120  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
10121  return _internal_mutable_no_overlap_2d();
10122 }
10123 
10124 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
10125 inline bool ConstraintProto::_internal_has_cumulative() const {
10126  return constraint_case() == kCumulative;
10127 }
10128 inline bool ConstraintProto::has_cumulative() const {
10129  return _internal_has_cumulative();
10130 }
10131 inline void ConstraintProto::set_has_cumulative() {
10132  _oneof_case_[0] = kCumulative;
10133 }
10134 inline void ConstraintProto::clear_cumulative() {
10135  if (_internal_has_cumulative()) {
10136  if (GetArena() == nullptr) {
10137  delete constraint_.cumulative_;
10138  }
10139  clear_has_constraint();
10140  }
10141 }
10142 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
10143  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
10144  if (_internal_has_cumulative()) {
10145  clear_has_constraint();
10146  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10147  if (GetArena() != nullptr) {
10148  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10149  }
10150  constraint_.cumulative_ = nullptr;
10151  return temp;
10152  } else {
10153  return nullptr;
10154  }
10155 }
10156 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
10157  return _internal_has_cumulative()
10158  ? *constraint_.cumulative_
10159  : reinterpret_cast< ::operations_research::sat::CumulativeConstraintProto&>(::operations_research::sat::_CumulativeConstraintProto_default_instance_);
10160 }
10161 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
10162  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
10163  return _internal_cumulative();
10164 }
10165 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::unsafe_arena_release_cumulative() {
10166  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
10167  if (_internal_has_cumulative()) {
10168  clear_has_constraint();
10169  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10170  constraint_.cumulative_ = nullptr;
10171  return temp;
10172  } else {
10173  return nullptr;
10174  }
10175 }
10176 inline void ConstraintProto::unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative) {
10177  clear_constraint();
10178  if (cumulative) {
10179  set_has_cumulative();
10180  constraint_.cumulative_ = cumulative;
10181  }
10182  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
10183 }
10184 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::_internal_mutable_cumulative() {
10185  if (!_internal_has_cumulative()) {
10186  clear_constraint();
10187  set_has_cumulative();
10188  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(GetArena());
10189  }
10190  return constraint_.cumulative_;
10191 }
10192 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
10193  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
10194  return _internal_mutable_cumulative();
10195 }
10196 
10197 inline bool ConstraintProto::has_constraint() const {
10198  return constraint_case() != CONSTRAINT_NOT_SET;
10199 }
10200 inline void ConstraintProto::clear_has_constraint() {
10201  _oneof_case_[0] = CONSTRAINT_NOT_SET;
10202 }
10203 inline ConstraintProto::ConstraintCase ConstraintProto::constraint_case() const {
10204  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
10205 }
10206 // -------------------------------------------------------------------
10207 
10208 // CpObjectiveProto
10209 
10210 // repeated int32 vars = 1;
10211 inline int CpObjectiveProto::_internal_vars_size() const {
10212  return vars_.size();
10213 }
10214 inline int CpObjectiveProto::vars_size() const {
10215  return _internal_vars_size();
10216 }
10217 inline void CpObjectiveProto::clear_vars() {
10218  vars_.Clear();
10219 }
10220 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::_internal_vars(int index) const {
10221  return vars_.Get(index);
10222 }
10223 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::vars(int index) const {
10224  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
10225  return _internal_vars(index);
10226 }
10227 inline void CpObjectiveProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10228  vars_.Set(index, value);
10229  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
10230 }
10231 inline void CpObjectiveProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10232  vars_.Add(value);
10233 }
10234 inline void CpObjectiveProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10235  _internal_add_vars(value);
10236  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
10237 }
10238 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10239 CpObjectiveProto::_internal_vars() const {
10240  return vars_;
10241 }
10242 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10243 CpObjectiveProto::vars() const {
10244  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
10245  return _internal_vars();
10246 }
10247 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10248 CpObjectiveProto::_internal_mutable_vars() {
10249  return &vars_;
10250 }
10251 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10252 CpObjectiveProto::mutable_vars() {
10253  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
10254  return _internal_mutable_vars();
10255 }
10256 
10257 // repeated int64 coeffs = 4;
10258 inline int CpObjectiveProto::_internal_coeffs_size() const {
10259  return coeffs_.size();
10260 }
10261 inline int CpObjectiveProto::coeffs_size() const {
10262  return _internal_coeffs_size();
10263 }
10264 inline void CpObjectiveProto::clear_coeffs() {
10265  coeffs_.Clear();
10266 }
10267 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_coeffs(int index) const {
10268  return coeffs_.Get(index);
10269 }
10270 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::coeffs(int index) const {
10271  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
10272  return _internal_coeffs(index);
10273 }
10274 inline void CpObjectiveProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10275  coeffs_.Set(index, value);
10276  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
10277 }
10278 inline void CpObjectiveProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10279  coeffs_.Add(value);
10280 }
10281 inline void CpObjectiveProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10282  _internal_add_coeffs(value);
10283  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
10284 }
10285 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10286 CpObjectiveProto::_internal_coeffs() const {
10287  return coeffs_;
10288 }
10289 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10290 CpObjectiveProto::coeffs() const {
10291  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
10292  return _internal_coeffs();
10293 }
10294 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10295 CpObjectiveProto::_internal_mutable_coeffs() {
10296  return &coeffs_;
10297 }
10298 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10299 CpObjectiveProto::mutable_coeffs() {
10300  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
10301  return _internal_mutable_coeffs();
10302 }
10303 
10304 // double offset = 2;
10305 inline void CpObjectiveProto::clear_offset() {
10306  offset_ = 0;
10307 }
10308 inline double CpObjectiveProto::_internal_offset() const {
10309  return offset_;
10310 }
10311 inline double CpObjectiveProto::offset() const {
10312  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
10313  return _internal_offset();
10314 }
10315 inline void CpObjectiveProto::_internal_set_offset(double value) {
10316 
10317  offset_ = value;
10318 }
10319 inline void CpObjectiveProto::set_offset(double value) {
10320  _internal_set_offset(value);
10321  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
10322 }
10323 
10324 // double scaling_factor = 3;
10325 inline void CpObjectiveProto::clear_scaling_factor() {
10326  scaling_factor_ = 0;
10327 }
10328 inline double CpObjectiveProto::_internal_scaling_factor() const {
10329  return scaling_factor_;
10330 }
10331 inline double CpObjectiveProto::scaling_factor() const {
10332  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
10333  return _internal_scaling_factor();
10334 }
10335 inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
10336 
10337  scaling_factor_ = value;
10338 }
10339 inline void CpObjectiveProto::set_scaling_factor(double value) {
10340  _internal_set_scaling_factor(value);
10341  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
10342 }
10343 
10344 // repeated int64 domain = 5;
10345 inline int CpObjectiveProto::_internal_domain_size() const {
10346  return domain_.size();
10347 }
10348 inline int CpObjectiveProto::domain_size() const {
10349  return _internal_domain_size();
10350 }
10351 inline void CpObjectiveProto::clear_domain() {
10352  domain_.Clear();
10353 }
10354 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_domain(int index) const {
10355  return domain_.Get(index);
10356 }
10357 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::domain(int index) const {
10358  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
10359  return _internal_domain(index);
10360 }
10361 inline void CpObjectiveProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10362  domain_.Set(index, value);
10363  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
10364 }
10365 inline void CpObjectiveProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10366  domain_.Add(value);
10367 }
10368 inline void CpObjectiveProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10369  _internal_add_domain(value);
10370  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
10371 }
10372 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10373 CpObjectiveProto::_internal_domain() const {
10374  return domain_;
10375 }
10376 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10377 CpObjectiveProto::domain() const {
10378  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
10379  return _internal_domain();
10380 }
10381 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10382 CpObjectiveProto::_internal_mutable_domain() {
10383  return &domain_;
10384 }
10385 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10386 CpObjectiveProto::mutable_domain() {
10387  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
10388  return _internal_mutable_domain();
10389 }
10390 
10391 // -------------------------------------------------------------------
10392 
10393 // DecisionStrategyProto_AffineTransformation
10394 
10395 // int32 var = 1;
10396 inline void DecisionStrategyProto_AffineTransformation::clear_var() {
10397  var_ = 0;
10398 }
10399 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::_internal_var() const {
10400  return var_;
10401 }
10403  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10404  return _internal_var();
10405 }
10406 inline void DecisionStrategyProto_AffineTransformation::_internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10407 
10408  var_ = value;
10409 }
10410 inline void DecisionStrategyProto_AffineTransformation::set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10411  _internal_set_var(value);
10412  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10413 }
10414 
10415 // int64 offset = 2;
10416 inline void DecisionStrategyProto_AffineTransformation::clear_offset() {
10417  offset_ = PROTOBUF_LONGLONG(0);
10418 }
10419 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_offset() const {
10420  return offset_;
10421 }
10422 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::offset() const {
10423  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10424  return _internal_offset();
10425 }
10426 inline void DecisionStrategyProto_AffineTransformation::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10427 
10428  offset_ = value;
10429 }
10430 inline void DecisionStrategyProto_AffineTransformation::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10431  _internal_set_offset(value);
10432  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10433 }
10434 
10435 // int64 positive_coeff = 3;
10436 inline void DecisionStrategyProto_AffineTransformation::clear_positive_coeff() {
10437  positive_coeff_ = PROTOBUF_LONGLONG(0);
10438 }
10439 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_positive_coeff() const {
10440  return positive_coeff_;
10441 }
10442 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::positive_coeff() const {
10443  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
10444  return _internal_positive_coeff();
10445 }
10446 inline void DecisionStrategyProto_AffineTransformation::_internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
10447 
10448  positive_coeff_ = value;
10449 }
10450 inline void DecisionStrategyProto_AffineTransformation::set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
10451  _internal_set_positive_coeff(value);
10452  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
10453 }
10454 
10455 // -------------------------------------------------------------------
10456 
10457 // DecisionStrategyProto
10458 
10459 // repeated int32 variables = 1;
10460 inline int DecisionStrategyProto::_internal_variables_size() const {
10461  return variables_.size();
10462 }
10463 inline int DecisionStrategyProto::variables_size() const {
10464  return _internal_variables_size();
10465 }
10466 inline void DecisionStrategyProto::clear_variables() {
10467  variables_.Clear();
10468 }
10469 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::_internal_variables(int index) const {
10470  return variables_.Get(index);
10471 }
10472 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::variables(int index) const {
10473  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
10474  return _internal_variables(index);
10475 }
10476 inline void DecisionStrategyProto::set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10477  variables_.Set(index, value);
10478  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
10479 }
10480 inline void DecisionStrategyProto::_internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
10481  variables_.Add(value);
10482 }
10483 inline void DecisionStrategyProto::add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
10484  _internal_add_variables(value);
10485  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
10486 }
10487 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10488 DecisionStrategyProto::_internal_variables() const {
10489  return variables_;
10490 }
10491 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10492 DecisionStrategyProto::variables() const {
10493  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
10494  return _internal_variables();
10495 }
10496 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10497 DecisionStrategyProto::_internal_mutable_variables() {
10498  return &variables_;
10499 }
10500 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10501 DecisionStrategyProto::mutable_variables() {
10502  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
10503  return _internal_mutable_variables();
10504 }
10505 
10506 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
10507 inline void DecisionStrategyProto::clear_variable_selection_strategy() {
10508  variable_selection_strategy_ = 0;
10509 }
10510 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
10511  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
10512 }
10513 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::variable_selection_strategy() const {
10514  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
10515  return _internal_variable_selection_strategy();
10516 }
10517 inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
10518 
10519  variable_selection_strategy_ = value;
10520 }
10521 inline void DecisionStrategyProto::set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
10522  _internal_set_variable_selection_strategy(value);
10523  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
10524 }
10525 
10526 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
10527 inline void DecisionStrategyProto::clear_domain_reduction_strategy() {
10528  domain_reduction_strategy_ = 0;
10529 }
10530 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
10531  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
10532 }
10533 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::domain_reduction_strategy() const {
10534  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
10535  return _internal_domain_reduction_strategy();
10536 }
10537 inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
10538 
10539  domain_reduction_strategy_ = value;
10540 }
10541 inline void DecisionStrategyProto::set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
10542  _internal_set_domain_reduction_strategy(value);
10543  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
10544 }
10545 
10546 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
10547 inline int DecisionStrategyProto::_internal_transformations_size() const {
10548  return transformations_.size();
10549 }
10550 inline int DecisionStrategyProto::transformations_size() const {
10551  return _internal_transformations_size();
10552 }
10553 inline void DecisionStrategyProto::clear_transformations() {
10554  transformations_.Clear();
10555 }
10556 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
10557  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
10558  return transformations_.Mutable(index);
10559 }
10560 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
10561 DecisionStrategyProto::mutable_transformations() {
10562  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
10563  return &transformations_;
10564 }
10565 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::_internal_transformations(int index) const {
10566  return transformations_.Get(index);
10567 }
10568 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
10569  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
10570  return _internal_transformations(index);
10571 }
10572 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::_internal_add_transformations() {
10573  return transformations_.Add();
10574 }
10575 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
10576  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
10577  return _internal_add_transformations();
10578 }
10579 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
10580 DecisionStrategyProto::transformations() const {
10581  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
10582  return transformations_;
10583 }
10584 
10585 // -------------------------------------------------------------------
10586 
10587 // PartialVariableAssignment
10588 
10589 // repeated int32 vars = 1;
10590 inline int PartialVariableAssignment::_internal_vars_size() const {
10591  return vars_.size();
10592 }
10593 inline int PartialVariableAssignment::vars_size() const {
10594  return _internal_vars_size();
10595 }
10596 inline void PartialVariableAssignment::clear_vars() {
10597  vars_.Clear();
10598 }
10599 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::_internal_vars(int index) const {
10600  return vars_.Get(index);
10601 }
10602 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::vars(int index) const {
10603  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
10604  return _internal_vars(index);
10605 }
10606 inline void PartialVariableAssignment::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10607  vars_.Set(index, value);
10608  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
10609 }
10610 inline void PartialVariableAssignment::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10611  vars_.Add(value);
10612 }
10613 inline void PartialVariableAssignment::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10614  _internal_add_vars(value);
10615  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
10616 }
10617 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10618 PartialVariableAssignment::_internal_vars() const {
10619  return vars_;
10620 }
10621 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10622 PartialVariableAssignment::vars() const {
10623  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
10624  return _internal_vars();
10625 }
10626 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10627 PartialVariableAssignment::_internal_mutable_vars() {
10628  return &vars_;
10629 }
10630 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10631 PartialVariableAssignment::mutable_vars() {
10632  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
10633  return _internal_mutable_vars();
10634 }
10635 
10636 // repeated int64 values = 2;
10637 inline int PartialVariableAssignment::_internal_values_size() const {
10638  return values_.size();
10639 }
10640 inline int PartialVariableAssignment::values_size() const {
10641  return _internal_values_size();
10642 }
10643 inline void PartialVariableAssignment::clear_values() {
10644  values_.Clear();
10645 }
10646 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::_internal_values(int index) const {
10647  return values_.Get(index);
10648 }
10649 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::values(int index) const {
10650  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
10651  return _internal_values(index);
10652 }
10653 inline void PartialVariableAssignment::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10654  values_.Set(index, value);
10655  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
10656 }
10657 inline void PartialVariableAssignment::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
10658  values_.Add(value);
10659 }
10660 inline void PartialVariableAssignment::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
10661  _internal_add_values(value);
10662  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
10663 }
10664 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10665 PartialVariableAssignment::_internal_values() const {
10666  return values_;
10667 }
10668 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10669 PartialVariableAssignment::values() const {
10670  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
10671  return _internal_values();
10672 }
10673 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10674 PartialVariableAssignment::_internal_mutable_values() {
10675  return &values_;
10676 }
10677 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10678 PartialVariableAssignment::mutable_values() {
10679  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
10680  return _internal_mutable_values();
10681 }
10682 
10683 // -------------------------------------------------------------------
10684 
10685 // CpModelProto
10686 
10687 // string name = 1;
10688 inline void CpModelProto::clear_name() {
10689  name_.ClearToEmpty();
10690 }
10691 inline const std::string& CpModelProto::name() const {
10692  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
10693  return _internal_name();
10694 }
10695 inline void CpModelProto::set_name(const std::string& value) {
10696  _internal_set_name(value);
10697  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
10698 }
10699 inline std::string* CpModelProto::mutable_name() {
10700  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
10701  return _internal_mutable_name();
10702 }
10703 inline const std::string& CpModelProto::_internal_name() const {
10704  return name_.Get();
10705 }
10706 inline void CpModelProto::_internal_set_name(const std::string& value) {
10707 
10708  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
10709 }
10710 inline void CpModelProto::set_name(std::string&& value) {
10711 
10712  name_.Set(
10713  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
10714  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpModelProto.name)
10715 }
10716 inline void CpModelProto::set_name(const char* value) {
10717  GOOGLE_DCHECK(value != nullptr);
10718 
10719  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
10720  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpModelProto.name)
10721 }
10722 inline void CpModelProto::set_name(const char* value,
10723  size_t size) {
10724 
10725  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
10726  reinterpret_cast<const char*>(value), size), GetArena());
10727  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpModelProto.name)
10728 }
10729 inline std::string* CpModelProto::_internal_mutable_name() {
10730 
10731  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
10732 }
10733 inline std::string* CpModelProto::release_name() {
10734  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
10735  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
10736 }
10737 inline void CpModelProto::set_allocated_name(std::string* name) {
10738  if (name != nullptr) {
10739 
10740  } else {
10741 
10742  }
10743  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
10744  GetArena());
10745  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
10746 }
10747 
10748 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
10749 inline int CpModelProto::_internal_variables_size() const {
10750  return variables_.size();
10751 }
10752 inline int CpModelProto::variables_size() const {
10753  return _internal_variables_size();
10754 }
10755 inline void CpModelProto::clear_variables() {
10756  variables_.Clear();
10757 }
10758 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
10759  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
10760  return variables_.Mutable(index);
10761 }
10762 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
10763 CpModelProto::mutable_variables() {
10764  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
10765  return &variables_;
10766 }
10767 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::_internal_variables(int index) const {
10768  return variables_.Get(index);
10769 }
10770 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
10771  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
10772  return _internal_variables(index);
10773 }
10774 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::_internal_add_variables() {
10775  return variables_.Add();
10776 }
10777 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
10778  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
10779  return _internal_add_variables();
10780 }
10781 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
10782 CpModelProto::variables() const {
10783  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
10784  return variables_;
10785 }
10786 
10787 // repeated .operations_research.sat.ConstraintProto constraints = 3;
10788 inline int CpModelProto::_internal_constraints_size() const {
10789  return constraints_.size();
10790 }
10791 inline int CpModelProto::constraints_size() const {
10792  return _internal_constraints_size();
10793 }
10794 inline void CpModelProto::clear_constraints() {
10795  constraints_.Clear();
10796 }
10797 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
10798  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
10799  return constraints_.Mutable(index);
10800 }
10801 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
10802 CpModelProto::mutable_constraints() {
10803  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
10804  return &constraints_;
10805 }
10806 inline const ::operations_research::sat::ConstraintProto& CpModelProto::_internal_constraints(int index) const {
10807  return constraints_.Get(index);
10808 }
10809 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
10810  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
10811  return _internal_constraints(index);
10812 }
10813 inline ::operations_research::sat::ConstraintProto* CpModelProto::_internal_add_constraints() {
10814  return constraints_.Add();
10815 }
10816 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
10817  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
10818  return _internal_add_constraints();
10819 }
10820 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
10821 CpModelProto::constraints() const {
10822  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
10823  return constraints_;
10824 }
10825 
10826 // .operations_research.sat.CpObjectiveProto objective = 4;
10827 inline bool CpModelProto::_internal_has_objective() const {
10828  return this != internal_default_instance() && objective_ != nullptr;
10829 }
10830 inline bool CpModelProto::has_objective() const {
10831  return _internal_has_objective();
10832 }
10833 inline void CpModelProto::clear_objective() {
10834  if (GetArena() == nullptr && objective_ != nullptr) {
10835  delete objective_;
10836  }
10837  objective_ = nullptr;
10838 }
10839 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
10840  const ::operations_research::sat::CpObjectiveProto* p = objective_;
10841  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::CpObjectiveProto&>(
10843 }
10844 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
10845  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
10846  return _internal_objective();
10847 }
10848 inline void CpModelProto::unsafe_arena_set_allocated_objective(
10849  ::operations_research::sat::CpObjectiveProto* objective) {
10850  if (GetArena() == nullptr) {
10851  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
10852  }
10853  objective_ = objective;
10854  if (objective) {
10855 
10856  } else {
10857 
10858  }
10859  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
10860 }
10861 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
10862 
10863  ::operations_research::sat::CpObjectiveProto* temp = objective_;
10864  objective_ = nullptr;
10865  if (GetArena() != nullptr) {
10866  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10867  }
10868  return temp;
10869 }
10870 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::unsafe_arena_release_objective() {
10871  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
10872 
10873  ::operations_research::sat::CpObjectiveProto* temp = objective_;
10874  objective_ = nullptr;
10875  return temp;
10876 }
10877 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::_internal_mutable_objective() {
10878 
10879  if (objective_ == nullptr) {
10880  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArena());
10881  objective_ = p;
10882  }
10883  return objective_;
10884 }
10885 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
10886  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
10887  return _internal_mutable_objective();
10888 }
10889 inline void CpModelProto::set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective) {
10890  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
10891  if (message_arena == nullptr) {
10892  delete objective_;
10893  }
10894  if (objective) {
10895  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
10896  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(objective);
10897  if (message_arena != submessage_arena) {
10898  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
10899  message_arena, objective, submessage_arena);
10900  }
10901 
10902  } else {
10903 
10904  }
10905  objective_ = objective;
10906  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
10907 }
10908 
10909 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
10910 inline int CpModelProto::_internal_search_strategy_size() const {
10911  return search_strategy_.size();
10912 }
10913 inline int CpModelProto::search_strategy_size() const {
10914  return _internal_search_strategy_size();
10915 }
10916 inline void CpModelProto::clear_search_strategy() {
10917  search_strategy_.Clear();
10918 }
10919 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
10920  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
10921  return search_strategy_.Mutable(index);
10922 }
10923 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
10924 CpModelProto::mutable_search_strategy() {
10925  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
10926  return &search_strategy_;
10927 }
10928 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::_internal_search_strategy(int index) const {
10929  return search_strategy_.Get(index);
10930 }
10931 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
10932  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
10933  return _internal_search_strategy(index);
10934 }
10935 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::_internal_add_search_strategy() {
10936  return search_strategy_.Add();
10937 }
10938 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
10939  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
10940  return _internal_add_search_strategy();
10941 }
10942 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
10943 CpModelProto::search_strategy() const {
10944  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
10945  return search_strategy_;
10946 }
10947 
10948 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
10949 inline bool CpModelProto::_internal_has_solution_hint() const {
10950  return this != internal_default_instance() && solution_hint_ != nullptr;
10951 }
10952 inline bool CpModelProto::has_solution_hint() const {
10953  return _internal_has_solution_hint();
10954 }
10955 inline void CpModelProto::clear_solution_hint() {
10956  if (GetArena() == nullptr && solution_hint_ != nullptr) {
10957  delete solution_hint_;
10958  }
10959  solution_hint_ = nullptr;
10960 }
10961 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
10962  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
10963  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment&>(
10965 }
10966 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
10967  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
10968  return _internal_solution_hint();
10969 }
10970 inline void CpModelProto::unsafe_arena_set_allocated_solution_hint(
10971  ::operations_research::sat::PartialVariableAssignment* solution_hint) {
10972  if (GetArena() == nullptr) {
10973  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
10974  }
10975  solution_hint_ = solution_hint;
10976  if (solution_hint) {
10977 
10978  } else {
10979 
10980  }
10981  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
10982 }
10983 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
10984 
10985  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
10986  solution_hint_ = nullptr;
10987  if (GetArena() != nullptr) {
10988  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10989  }
10990  return temp;
10991 }
10992 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::unsafe_arena_release_solution_hint() {
10993  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
10994 
10995  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
10996  solution_hint_ = nullptr;
10997  return temp;
10998 }
10999 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::_internal_mutable_solution_hint() {
11000 
11001  if (solution_hint_ == nullptr) {
11002  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArena());
11003  solution_hint_ = p;
11004  }
11005  return solution_hint_;
11006 }
11007 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
11008  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
11009  return _internal_mutable_solution_hint();
11010 }
11011 inline void CpModelProto::set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint) {
11012  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
11013  if (message_arena == nullptr) {
11014  delete solution_hint_;
11015  }
11016  if (solution_hint) {
11017  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
11018  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(solution_hint);
11019  if (message_arena != submessage_arena) {
11020  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
11021  message_arena, solution_hint, submessage_arena);
11022  }
11023 
11024  } else {
11025 
11026  }
11027  solution_hint_ = solution_hint;
11028  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11029 }
11030 
11031 // repeated int32 assumptions = 7;
11032 inline int CpModelProto::_internal_assumptions_size() const {
11033  return assumptions_.size();
11034 }
11035 inline int CpModelProto::assumptions_size() const {
11036  return _internal_assumptions_size();
11037 }
11038 inline void CpModelProto::clear_assumptions() {
11039  assumptions_.Clear();
11040 }
11041 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::_internal_assumptions(int index) const {
11042  return assumptions_.Get(index);
11043 }
11044 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::assumptions(int index) const {
11045  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
11046  return _internal_assumptions(index);
11047 }
11048 inline void CpModelProto::set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11049  assumptions_.Set(index, value);
11050  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
11051 }
11052 inline void CpModelProto::_internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11053  assumptions_.Add(value);
11054 }
11055 inline void CpModelProto::add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11056  _internal_add_assumptions(value);
11057  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
11058 }
11059 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11060 CpModelProto::_internal_assumptions() const {
11061  return assumptions_;
11062 }
11063 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11064 CpModelProto::assumptions() const {
11065  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
11066  return _internal_assumptions();
11067 }
11068 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11069 CpModelProto::_internal_mutable_assumptions() {
11070  return &assumptions_;
11071 }
11072 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11073 CpModelProto::mutable_assumptions() {
11074  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
11075  return _internal_mutable_assumptions();
11076 }
11077 
11078 // -------------------------------------------------------------------
11079 
11080 // CpSolverResponse
11081 
11082 // .operations_research.sat.CpSolverStatus status = 1;
11083 inline void CpSolverResponse::clear_status() {
11084  status_ = 0;
11085 }
11086 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
11087  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
11088 }
11089 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::status() const {
11090  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
11091  return _internal_status();
11092 }
11093 inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
11094 
11095  status_ = value;
11096 }
11097 inline void CpSolverResponse::set_status(::operations_research::sat::CpSolverStatus value) {
11098  _internal_set_status(value);
11099  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
11100 }
11101 
11102 // repeated int64 solution = 2;
11103 inline int CpSolverResponse::_internal_solution_size() const {
11104  return solution_.size();
11105 }
11106 inline int CpSolverResponse::solution_size() const {
11107  return _internal_solution_size();
11108 }
11109 inline void CpSolverResponse::clear_solution() {
11110  solution_.Clear();
11111 }
11112 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution(int index) const {
11113  return solution_.Get(index);
11114 }
11115 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution(int index) const {
11116  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
11117  return _internal_solution(index);
11118 }
11119 inline void CpSolverResponse::set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11120  solution_.Set(index, value);
11121  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
11122 }
11123 inline void CpSolverResponse::_internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
11124  solution_.Add(value);
11125 }
11126 inline void CpSolverResponse::add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
11127  _internal_add_solution(value);
11128  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
11129 }
11130 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11131 CpSolverResponse::_internal_solution() const {
11132  return solution_;
11133 }
11134 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11135 CpSolverResponse::solution() const {
11136  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
11137  return _internal_solution();
11138 }
11139 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11140 CpSolverResponse::_internal_mutable_solution() {
11141  return &solution_;
11142 }
11143 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11144 CpSolverResponse::mutable_solution() {
11145  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
11146  return _internal_mutable_solution();
11147 }
11148 
11149 // double objective_value = 3;
11150 inline void CpSolverResponse::clear_objective_value() {
11151  objective_value_ = 0;
11152 }
11153 inline double CpSolverResponse::_internal_objective_value() const {
11154  return objective_value_;
11155 }
11156 inline double CpSolverResponse::objective_value() const {
11157  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
11158  return _internal_objective_value();
11159 }
11160 inline void CpSolverResponse::_internal_set_objective_value(double value) {
11161 
11162  objective_value_ = value;
11163 }
11164 inline void CpSolverResponse::set_objective_value(double value) {
11165  _internal_set_objective_value(value);
11166  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
11167 }
11168 
11169 // double best_objective_bound = 4;
11170 inline void CpSolverResponse::clear_best_objective_bound() {
11171  best_objective_bound_ = 0;
11172 }
11173 inline double CpSolverResponse::_internal_best_objective_bound() const {
11174  return best_objective_bound_;
11175 }
11176 inline double CpSolverResponse::best_objective_bound() const {
11177  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
11178  return _internal_best_objective_bound();
11179 }
11180 inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
11181 
11182  best_objective_bound_ = value;
11183 }
11184 inline void CpSolverResponse::set_best_objective_bound(double value) {
11185  _internal_set_best_objective_bound(value);
11186  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
11187 }
11188 
11189 // repeated int64 solution_lower_bounds = 18;
11190 inline int CpSolverResponse::_internal_solution_lower_bounds_size() const {
11191  return solution_lower_bounds_.size();
11192 }
11193 inline int CpSolverResponse::solution_lower_bounds_size() const {
11194  return _internal_solution_lower_bounds_size();
11195 }
11196 inline void CpSolverResponse::clear_solution_lower_bounds() {
11197  solution_lower_bounds_.Clear();
11198 }
11199 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_lower_bounds(int index) const {
11200  return solution_lower_bounds_.Get(index);
11201 }
11202 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_lower_bounds(int index) const {
11203  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11204  return _internal_solution_lower_bounds(index);
11205 }
11206 inline void CpSolverResponse::set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11207  solution_lower_bounds_.Set(index, value);
11208  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11209 }
11210 inline void CpSolverResponse::_internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11211  solution_lower_bounds_.Add(value);
11212 }
11213 inline void CpSolverResponse::add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11214  _internal_add_solution_lower_bounds(value);
11215  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11216 }
11217 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11218 CpSolverResponse::_internal_solution_lower_bounds() const {
11219  return solution_lower_bounds_;
11220 }
11221 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11222 CpSolverResponse::solution_lower_bounds() const {
11223  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11224  return _internal_solution_lower_bounds();
11225 }
11226 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11227 CpSolverResponse::_internal_mutable_solution_lower_bounds() {
11228  return &solution_lower_bounds_;
11229 }
11230 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11231 CpSolverResponse::mutable_solution_lower_bounds() {
11232  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11233  return _internal_mutable_solution_lower_bounds();
11234 }
11235 
11236 // repeated int64 solution_upper_bounds = 19;
11237 inline int CpSolverResponse::_internal_solution_upper_bounds_size() const {
11238  return solution_upper_bounds_.size();
11239 }
11240 inline int CpSolverResponse::solution_upper_bounds_size() const {
11241  return _internal_solution_upper_bounds_size();
11242 }
11243 inline void CpSolverResponse::clear_solution_upper_bounds() {
11244  solution_upper_bounds_.Clear();
11245 }
11246 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_upper_bounds(int index) const {
11247  return solution_upper_bounds_.Get(index);
11248 }
11249 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_upper_bounds(int index) const {
11250  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11251  return _internal_solution_upper_bounds(index);
11252 }
11253 inline void CpSolverResponse::set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11254  solution_upper_bounds_.Set(index, value);
11255  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11256 }
11257 inline void CpSolverResponse::_internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11258  solution_upper_bounds_.Add(value);
11259 }
11260 inline void CpSolverResponse::add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11261  _internal_add_solution_upper_bounds(value);
11262  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11263 }
11264 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11265 CpSolverResponse::_internal_solution_upper_bounds() const {
11266  return solution_upper_bounds_;
11267 }
11268 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11269 CpSolverResponse::solution_upper_bounds() const {
11270  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11271  return _internal_solution_upper_bounds();
11272 }
11273 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11274 CpSolverResponse::_internal_mutable_solution_upper_bounds() {
11275  return &solution_upper_bounds_;
11276 }
11277 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11278 CpSolverResponse::mutable_solution_upper_bounds() {
11279  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11280  return _internal_mutable_solution_upper_bounds();
11281 }
11282 
11283 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
11284 inline int CpSolverResponse::_internal_tightened_variables_size() const {
11285  return tightened_variables_.size();
11286 }
11287 inline int CpSolverResponse::tightened_variables_size() const {
11288  return _internal_tightened_variables_size();
11289 }
11290 inline void CpSolverResponse::clear_tightened_variables() {
11291  tightened_variables_.Clear();
11292 }
11293 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
11294  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
11295  return tightened_variables_.Mutable(index);
11296 }
11297 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
11298 CpSolverResponse::mutable_tightened_variables() {
11299  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
11300  return &tightened_variables_;
11301 }
11302 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::_internal_tightened_variables(int index) const {
11303  return tightened_variables_.Get(index);
11304 }
11305 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
11306  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
11307  return _internal_tightened_variables(index);
11308 }
11309 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::_internal_add_tightened_variables() {
11310  return tightened_variables_.Add();
11311 }
11312 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
11313  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
11314  return _internal_add_tightened_variables();
11315 }
11316 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
11317 CpSolverResponse::tightened_variables() const {
11318  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
11319  return tightened_variables_;
11320 }
11321 
11322 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
11323 inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
11324  return sufficient_assumptions_for_infeasibility_.size();
11325 }
11326 inline int CpSolverResponse::sufficient_assumptions_for_infeasibility_size() const {
11327  return _internal_sufficient_assumptions_for_infeasibility_size();
11328 }
11329 inline void CpSolverResponse::clear_sufficient_assumptions_for_infeasibility() {
11330  sufficient_assumptions_for_infeasibility_.Clear();
11331 }
11332 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility(int index) const {
11333  return sufficient_assumptions_for_infeasibility_.Get(index);
11334 }
11335 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
11336  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11337  return _internal_sufficient_assumptions_for_infeasibility(index);
11338 }
11339 inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11340  sufficient_assumptions_for_infeasibility_.Set(index, value);
11341  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11342 }
11343 inline void CpSolverResponse::_internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
11344  sufficient_assumptions_for_infeasibility_.Add(value);
11345 }
11346 inline void CpSolverResponse::add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
11347  _internal_add_sufficient_assumptions_for_infeasibility(value);
11348  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11349 }
11350 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11351 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
11352  return sufficient_assumptions_for_infeasibility_;
11353 }
11354 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11355 CpSolverResponse::sufficient_assumptions_for_infeasibility() const {
11356  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11357  return _internal_sufficient_assumptions_for_infeasibility();
11358 }
11359 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11360 CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
11361  return &sufficient_assumptions_for_infeasibility_;
11362 }
11363 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11364 CpSolverResponse::mutable_sufficient_assumptions_for_infeasibility() {
11365  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11366  return _internal_mutable_sufficient_assumptions_for_infeasibility();
11367 }
11368 
11369 // bool all_solutions_were_found = 5;
11370 inline void CpSolverResponse::clear_all_solutions_were_found() {
11371  all_solutions_were_found_ = false;
11372 }
11373 inline bool CpSolverResponse::_internal_all_solutions_were_found() const {
11374  return all_solutions_were_found_;
11375 }
11376 inline bool CpSolverResponse::all_solutions_were_found() const {
11377  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.all_solutions_were_found)
11378  return _internal_all_solutions_were_found();
11379 }
11380 inline void CpSolverResponse::_internal_set_all_solutions_were_found(bool value) {
11381 
11382  all_solutions_were_found_ = value;
11383 }
11384 inline void CpSolverResponse::set_all_solutions_were_found(bool value) {
11385  _internal_set_all_solutions_were_found(value);
11386  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.all_solutions_were_found)
11387 }
11388 
11389 // int64 num_booleans = 10;
11390 inline void CpSolverResponse::clear_num_booleans() {
11391  num_booleans_ = PROTOBUF_LONGLONG(0);
11392 }
11393 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_booleans() const {
11394  return num_booleans_;
11395 }
11396 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_booleans() const {
11397  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
11398  return _internal_num_booleans();
11399 }
11400 inline void CpSolverResponse::_internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
11401 
11402  num_booleans_ = value;
11403 }
11404 inline void CpSolverResponse::set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
11405  _internal_set_num_booleans(value);
11406  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
11407 }
11408 
11409 // int64 num_conflicts = 11;
11410 inline void CpSolverResponse::clear_num_conflicts() {
11411  num_conflicts_ = PROTOBUF_LONGLONG(0);
11412 }
11413 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_conflicts() const {
11414  return num_conflicts_;
11415 }
11416 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_conflicts() const {
11417  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
11418  return _internal_num_conflicts();
11419 }
11420 inline void CpSolverResponse::_internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11421 
11422  num_conflicts_ = value;
11423 }
11424 inline void CpSolverResponse::set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11425  _internal_set_num_conflicts(value);
11426  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
11427 }
11428 
11429 // int64 num_branches = 12;
11430 inline void CpSolverResponse::clear_num_branches() {
11431  num_branches_ = PROTOBUF_LONGLONG(0);
11432 }
11433 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_branches() const {
11434  return num_branches_;
11435 }
11436 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_branches() const {
11437  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
11438  return _internal_num_branches();
11439 }
11440 inline void CpSolverResponse::_internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
11441 
11442  num_branches_ = value;
11443 }
11444 inline void CpSolverResponse::set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
11445  _internal_set_num_branches(value);
11446  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
11447 }
11448 
11449 // int64 num_binary_propagations = 13;
11450 inline void CpSolverResponse::clear_num_binary_propagations() {
11451  num_binary_propagations_ = PROTOBUF_LONGLONG(0);
11452 }
11453 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_binary_propagations() const {
11454  return num_binary_propagations_;
11455 }
11456 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_binary_propagations() const {
11457  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
11458  return _internal_num_binary_propagations();
11459 }
11460 inline void CpSolverResponse::_internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11461 
11462  num_binary_propagations_ = value;
11463 }
11464 inline void CpSolverResponse::set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11465  _internal_set_num_binary_propagations(value);
11466  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
11467 }
11468 
11469 // int64 num_integer_propagations = 14;
11470 inline void CpSolverResponse::clear_num_integer_propagations() {
11471  num_integer_propagations_ = PROTOBUF_LONGLONG(0);
11472 }
11473 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_integer_propagations() const {
11474  return num_integer_propagations_;
11475 }
11476 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_integer_propagations() const {
11477  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
11478  return _internal_num_integer_propagations();
11479 }
11480 inline void CpSolverResponse::_internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11481 
11482  num_integer_propagations_ = value;
11483 }
11484 inline void CpSolverResponse::set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11485  _internal_set_num_integer_propagations(value);
11486  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
11487 }
11488 
11489 // int64 num_restarts = 24;
11490 inline void CpSolverResponse::clear_num_restarts() {
11491  num_restarts_ = PROTOBUF_LONGLONG(0);
11492 }
11493 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_restarts() const {
11494  return num_restarts_;
11495 }
11496 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_restarts() const {
11497  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_restarts)
11498  return _internal_num_restarts();
11499 }
11500 inline void CpSolverResponse::_internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11501 
11502  num_restarts_ = value;
11503 }
11504 inline void CpSolverResponse::set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11505  _internal_set_num_restarts(value);
11506  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_restarts)
11507 }
11508 
11509 // int64 num_lp_iterations = 25;
11510 inline void CpSolverResponse::clear_num_lp_iterations() {
11511  num_lp_iterations_ = PROTOBUF_LONGLONG(0);
11512 }
11513 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_lp_iterations() const {
11514  return num_lp_iterations_;
11515 }
11516 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_lp_iterations() const {
11517  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_lp_iterations)
11518  return _internal_num_lp_iterations();
11519 }
11520 inline void CpSolverResponse::_internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11521 
11522  num_lp_iterations_ = value;
11523 }
11524 inline void CpSolverResponse::set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11525  _internal_set_num_lp_iterations(value);
11526  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_lp_iterations)
11527 }
11528 
11529 // double wall_time = 15;
11530 inline void CpSolverResponse::clear_wall_time() {
11531  wall_time_ = 0;
11532 }
11533 inline double CpSolverResponse::_internal_wall_time() const {
11534  return wall_time_;
11535 }
11536 inline double CpSolverResponse::wall_time() const {
11537  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
11538  return _internal_wall_time();
11539 }
11540 inline void CpSolverResponse::_internal_set_wall_time(double value) {
11541 
11542  wall_time_ = value;
11543 }
11544 inline void CpSolverResponse::set_wall_time(double value) {
11545  _internal_set_wall_time(value);
11546  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
11547 }
11548 
11549 // double user_time = 16;
11550 inline void CpSolverResponse::clear_user_time() {
11551  user_time_ = 0;
11552 }
11553 inline double CpSolverResponse::_internal_user_time() const {
11554  return user_time_;
11555 }
11556 inline double CpSolverResponse::user_time() const {
11557  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
11558  return _internal_user_time();
11559 }
11560 inline void CpSolverResponse::_internal_set_user_time(double value) {
11561 
11562  user_time_ = value;
11563 }
11564 inline void CpSolverResponse::set_user_time(double value) {
11565  _internal_set_user_time(value);
11566  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
11567 }
11568 
11569 // double deterministic_time = 17;
11570 inline void CpSolverResponse::clear_deterministic_time() {
11571  deterministic_time_ = 0;
11572 }
11573 inline double CpSolverResponse::_internal_deterministic_time() const {
11574  return deterministic_time_;
11575 }
11576 inline double CpSolverResponse::deterministic_time() const {
11577  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
11578  return _internal_deterministic_time();
11579 }
11580 inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
11581 
11582  deterministic_time_ = value;
11583 }
11584 inline void CpSolverResponse::set_deterministic_time(double value) {
11585  _internal_set_deterministic_time(value);
11586  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
11587 }
11588 
11589 // double primal_integral = 22;
11590 inline void CpSolverResponse::clear_primal_integral() {
11591  primal_integral_ = 0;
11592 }
11593 inline double CpSolverResponse::_internal_primal_integral() const {
11594  return primal_integral_;
11595 }
11596 inline double CpSolverResponse::primal_integral() const {
11597  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.primal_integral)
11598  return _internal_primal_integral();
11599 }
11600 inline void CpSolverResponse::_internal_set_primal_integral(double value) {
11601 
11602  primal_integral_ = value;
11603 }
11604 inline void CpSolverResponse::set_primal_integral(double value) {
11605  _internal_set_primal_integral(value);
11606  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.primal_integral)
11607 }
11608 
11609 // string solution_info = 20;
11610 inline void CpSolverResponse::clear_solution_info() {
11611  solution_info_.ClearToEmpty();
11612 }
11613 inline const std::string& CpSolverResponse::solution_info() const {
11614  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
11615  return _internal_solution_info();
11616 }
11617 inline void CpSolverResponse::set_solution_info(const std::string& value) {
11618  _internal_set_solution_info(value);
11619  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
11620 }
11621 inline std::string* CpSolverResponse::mutable_solution_info() {
11622  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
11623  return _internal_mutable_solution_info();
11624 }
11625 inline const std::string& CpSolverResponse::_internal_solution_info() const {
11626  return solution_info_.Get();
11627 }
11628 inline void CpSolverResponse::_internal_set_solution_info(const std::string& value) {
11629 
11630  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
11631 }
11632 inline void CpSolverResponse::set_solution_info(std::string&& value) {
11633 
11634  solution_info_.Set(
11635  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
11636  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.solution_info)
11637 }
11638 inline void CpSolverResponse::set_solution_info(const char* value) {
11639  GOOGLE_DCHECK(value != nullptr);
11640 
11641  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
11642  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.solution_info)
11643 }
11644 inline void CpSolverResponse::set_solution_info(const char* value,
11645  size_t size) {
11646 
11647  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
11648  reinterpret_cast<const char*>(value), size), GetArena());
11649  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.solution_info)
11650 }
11651 inline std::string* CpSolverResponse::_internal_mutable_solution_info() {
11652 
11653  return solution_info_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
11654 }
11655 inline std::string* CpSolverResponse::release_solution_info() {
11656  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
11657  return solution_info_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11658 }
11659 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
11660  if (solution_info != nullptr) {
11661 
11662  } else {
11663 
11664  }
11665  solution_info_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info,
11666  GetArena());
11667  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
11668 }
11669 
11670 #ifdef __GNUC__
11671  #pragma GCC diagnostic pop
11672 #endif // __GNUC__
11673 // -------------------------------------------------------------------
11674 
11675 // -------------------------------------------------------------------
11676 
11677 // -------------------------------------------------------------------
11678 
11679 // -------------------------------------------------------------------
11680 
11681 // -------------------------------------------------------------------
11682 
11683 // -------------------------------------------------------------------
11684 
11685 // -------------------------------------------------------------------
11686 
11687 // -------------------------------------------------------------------
11688 
11689 // -------------------------------------------------------------------
11690 
11691 // -------------------------------------------------------------------
11692 
11693 // -------------------------------------------------------------------
11694 
11695 // -------------------------------------------------------------------
11696 
11697 // -------------------------------------------------------------------
11698 
11699 // -------------------------------------------------------------------
11700 
11701 // -------------------------------------------------------------------
11702 
11703 // -------------------------------------------------------------------
11704 
11705 // -------------------------------------------------------------------
11706 
11707 // -------------------------------------------------------------------
11708 
11709 // -------------------------------------------------------------------
11710 
11711 // -------------------------------------------------------------------
11712 
11713 // -------------------------------------------------------------------
11714 
11715 // -------------------------------------------------------------------
11716 
11717 // -------------------------------------------------------------------
11718 
11719 // -------------------------------------------------------------------
11720 
11721 
11722 // @@protoc_insertion_point(namespace_scope)
11723 
11724 } // namespace sat
11725 } // namespace operations_research
11726 
11727 PROTOBUF_NAMESPACE_OPEN
11728 
11729 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
11730 template <>
11731 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
11733 }
11734 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
11735 template <>
11736 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
11738 }
11739 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
11740 template <>
11741 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
11743 }
11744 
11745 PROTOBUF_NAMESPACE_CLOSE
11746 
11747 // @@protoc_insertion_point(global_scope)
11748 
11749 #include <google/protobuf/port_undef.inc>
11750 #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:4632
::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:1984
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1616
DecisionStrategyProto_AffineTransformation * New() const final
Definition: cp_model.pb.h:4640
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:747
AutomatonConstraintProto(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3370
BoolArgumentProto & operator=(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:436
void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value)
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:259
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
LinearExpressionProto(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:738
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_head() const
void UnsafeArenaSwap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4410
static const IntegerVariableProto & default_instance()
::operations_research::sat::LinearConstraintProto * mutable_linear()
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2778
const ::operations_research::sat::LinearExpressionProto & size_view() const
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:456
ReservoirConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2410
CpObjectiveProto * New() const final
Definition: cp_model.pb.h:4418
::operations_research::sat::IntegerArgumentProto * release_int_prod()
CircuitConstraintProto(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2573
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:4908
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:2802
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 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:4782
::operations_research::sat::LinearExpressionProto * release_target()
NoOverlapConstraintProto(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1829
::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:4802
static const CpSolverResponse & default_instance()
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5009
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:616
ConstraintProto & operator=(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3640
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:283
::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const
::operations_research::sat::LinearConstraintProto * release_linear()
::operations_research::sat::ElementConstraintProto * unsafe_arena_release_element()
void MergeFrom(const ElementConstraintProto &from)
void CopyFrom(const CircuitConstraintProto &from)
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:2038
::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const
AllDifferentConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1148
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:5488
LinearConstraintProto(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1239
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5018
CircuitConstraintProto * New() const final
Definition: cp_model.pb.h:2628
::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:2194
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:4748
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
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:2356
void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
void Swap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1278
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:4590
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:2578
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_tail()
ConstraintProto(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3631
NoOverlapConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1888
::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:5243
void set_name(const char *value, size_t size)
void Swap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1478
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:5189
void Swap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1868
::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const
void UnsafeArenaSwap(CpSolverResponse *other)
Definition: cp_model.pb.h:5499
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:2034
::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:1136
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1118
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:1094
::operations_research::sat::IntegerArgumentProto * mutable_int_prod()
IntegerVariableProto * New() const final
Definition: cp_model.pb.h:314
::operations_research::sat::CumulativeConstraintProto * mutable_cumulative()
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
IntervalConstraintProto * New() const final
Definition: cp_model.pb.h:1666
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4585
::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:4883
IntegerArgumentProto & operator=(const IntegerArgumentProto &from)
Definition: cp_model.pb.h:582
void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
BoolArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:486
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2602
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:277
CumulativeConstraintProto * New() const final
Definition: cp_model.pb.h:2220
IntegerArgumentProto(const IntegerArgumentProto &from)
::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 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:3715
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
void Swap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3409
::operations_research::sat::LinearExpressionProto * mutable_start_view()
IntervalConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1670
NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:5481
::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:1298
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:933
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:3254
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
::operations_research::sat::PartialVariableAssignment * release_solution_hint()
void Swap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:2018
void CopyFrom(const CumulativeConstraintProto &from)
AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2390
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > * mutable_transformations()
static const CircuitConstraintProto & default_instance()
DecisionStrategyProto(const DecisionStrategyProto &from)
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:3231
void UnsafeArenaSwap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2620
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4392
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:2609
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:3399
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:3707
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:3696
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:1244
void UnsafeArenaSwap(LinearArgumentProto *other)
Definition: cp_model.pb.h:971
::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:1876
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
TableConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3068
TableConstraintProto(const TableConstraintProto &from)
RoutesConstraintProto(const RoutesConstraintProto &from)
ReservoirConstraintProto * New() const final
Definition: cp_model.pb.h:2406
::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()
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_min()
CpModelProto(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5184
::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:3224
DecisionStrategyProto_VariableSelectionStrategy VariableSelectionStrategy
Definition: cp_model.pb.h:4847
BoolArgumentProto * New() const final
Definition: cp_model.pb.h:482
::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:4878
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)
const ::operations_research::sat::DecisionStrategyProto_AffineTransformation & transformations(int index) const
InverseConstraintProto & operator=(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3204
::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:4858
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:1834
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:5038
void Swap(IntegerVariableProto *other)
Definition: cp_model.pb.h:298
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:1979
::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:5014
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:1448
::operations_research::sat::PartialVariableAssignment * unsafe_arena_release_solution_hint()
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
Definition: cp_model.pb.h:1865
void Swap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1650
void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
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:4904
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:4368
::operations_research::sat::CumulativeConstraintProto * release_cumulative()
::PROTOBUF_NAMESPACE_ID::int32 var() const
static const LinearExpressionProto * internal_default_instance()
Definition: cp_model.pb.h:767
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:463
static const RoutesConstraintProto & default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_lower_bounds() const
::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:3200
static const CumulativeConstraintProto & default_instance()
::operations_research::sat::AutomatonConstraintProto * mutable_automaton()
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:774
TableConstraintProto & operator=(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3018
void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1468
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:2582
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:3038
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & sufficient_assumptions_for_infeasibility() const
DecisionStrategyProto(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4743
::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:797
void MergeFrom(const InverseConstraintProto &from)
void CopyFrom(const AllDifferentConstraintProto &from)
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:3014
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1475
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:2201
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:979
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:2360
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:3048
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:3636
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:318
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:5056
::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:4914
CpSolverResponse & operator=(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:5461
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_at_most_one()
IntervalConstraintProto & operator=(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1620
void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void UnsafeArenaSwap(TableConstraintProto *other)
Definition: cp_model.pb.h:3056
static const ConstraintProto & default_instance()
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
IntegerVariableProto & operator=(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:268
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_size_view()
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_prod()
void CopyFrom(const IntegerVariableProto &from)
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2380
NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto &from)
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:613
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:960
CpSolverResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5511
::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const
LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
NoOverlap2DConstraintProto & operator=(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1988
::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const
DecisionStrategyProto * New() const final
Definition: cp_model.pb.h:4798
const std::string & solution_info() const
IntegerArgumentProto & operator=(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:586
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:636
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:983
void set_solution_info(std::string &&value)
void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
void set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value)
ElementConstraintProto(const ElementConstraintProto &from)
BoolArgumentProto(const BoolArgumentProto &from)
void CopyFrom(const LinearArgumentProto &from)
IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::ElementConstraintProto * mutable_element()
DecisionStrategyProto_AffineTransformation AffineTransformation
Definition: cp_model.pb.h:4845
::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:2204
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_variables()
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:4399
::PROTOBUF_NAMESPACE_ID::int64 num_restarts() const
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::sat::IntegerVariableProto * add_variables()
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:1275
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution() const
void UnsafeArenaSwap(LinearExpressionProto *other)
Definition: cp_model.pb.h:785
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_assumptions()
AutomatonConstraintProto * New() const final
Definition: cp_model.pb.h:3425
void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value)
InverseConstraintProto(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3195
::operations_research::sat::NoOverlapConstraintProto * mutable_no_overlap()
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:953
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
void Swap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4402
const ::operations_research::sat::LinearExpressionProto & target() const
void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void set_solution_info(const char *value)
CpObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4422
::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:5193
static const LinearConstraintProto & default_instance()
void MergeFrom(const AutomatonConstraintProto &from)
void Swap(CpSolverResponse *other)
Definition: cp_model.pb.h:5491
::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:1439
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:5220
AutomatonConstraintProto & operator=(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3379
::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)
LinearArgumentProto(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:924
::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()
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:4614
void Swap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1128
static const IntegerArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:606
void UnsafeArenaSwap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2820
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
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
::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:295
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:4621
AutomatonConstraintProto(const AutomatonConstraintProto &from)
LinearConstraintProto(const LinearConstraintProto &from)
CpObjectiveProto & operator=(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4372
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:5213
::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()
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:4772
::operations_research::sat::BoolArgumentProto * mutable_at_most_one()
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:4894
BoolArgumentProto(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:427
static const LinearArgumentProto & default_instance()
void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
CumulativeConstraintProto(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2165
LinearExpressionProto(const LinearExpressionProto &from)
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value)
void unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
friend void swap(AllDifferentConstraintProto &a, AllDifferentConstraintProto &b)
Definition: cp_model.pb.h:1125
void UnsafeArenaSwap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2398
AllDifferentConstraintProto & operator=(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1098
void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4790
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:2015
AllDifferentConstraintProto(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1089
void Swap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3234
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:3064
void Swap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5048
CpSolverResponse(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:5452
static const NoOverlap2DConstraintProto & default_instance()
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:793
void unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
void Swap(BoolArgumentProto *other)
Definition: cp_model.pb.h:466
BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::int64 num_branches() const
CumulativeConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2224
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:777
const ::operations_research::sat::IntegerVariableProto & tightened_variables(int index) const
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:4624
void UnsafeArenaSwap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1486
const ::operations_research::sat::ConstraintProto & constraints(int index) const
ReservoirConstraintProto(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2351
const ::operations_research::sat::IntegerArgumentProto & int_min() const
DecisionStrategyProto_AffineTransformation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4644
CpSolverResponse * New() const final
Definition: cp_model.pb.h:5507
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:2832
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:1838
::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const
static const LinearExpressionProto & default_instance()
void UnsafeArenaSwap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3417
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:2026
::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:4594
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
ReservoirConstraintProto(const ReservoirConstraintProto &from)
::operations_research::sat::IntegerArgumentProto * mutable_int_div()
AllDifferentConstraintProto * New() const final
Definition: cp_model.pb.h:1144
::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 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:4872
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5068
const ::operations_research::sat::IntegerArgumentProto & int_mod() const
LinearConstraintProto & operator=(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1248
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_final_states()
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:288
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:432
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() 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:280
DecisionStrategyProto & operator=(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4752
::operations_research::sat::DecisionStrategyProto * mutable_search_strategy(int index)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.h:4868
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
void Swap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2612
::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:624
void Swap(ConstraintProto *other)
Definition: cp_model.pb.h:3699
::operations_research::sat::BoolArgumentProto * mutable_bool_and()
void UnsafeArenaSwap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3242
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2809
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1858
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 ::operations_research::sat::BoolArgumentProto & bool_or() const
::PROTOBUF_NAMESPACE_ID::int32 target() const
RoutesConstraintProto * New() const final
Definition: cp_model.pb.h:2828
::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:2387
LinearArgumentProto(const LinearArgumentProto &from)
void Swap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2812
PartialVariableAssignment(const PartialVariableAssignment &from)
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1268
void set_solution_info(const char *value, size_t size)
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:1444
void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1658
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
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:5231
RoutesConstraintProto & operator=(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2782
::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const
::operations_research::sat::CircuitConstraintProto * mutable_circuit()
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:264
::operations_research::sat::PartialVariableAssignment * mutable_solution_hint()
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3689
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:577
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)
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:929
::operations_research::sat::CumulativeConstraintProto * unsafe_arena_release_cumulative()
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:3045
CircuitConstraintProto(const CircuitConstraintProto &from)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_exactly_one()
LinearExpressionProto & operator=(const LinearExpressionProto &from)
Definition: cp_model.pb.h:743
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2008
CircuitConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2632
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:3009
::PROTOBUF_NAMESPACE_ID::int64 offset() const
IntegerVariableProto(const IntegerVariableProto &from)
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const
void MergeFrom(const DecisionStrategyProto &from)
CpModelProto * New() const final
Definition: cp_model.pb.h:5239
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1640
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()
::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:5457
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1647
void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const TableConstraintProto &from)
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:3375
ConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3719
static const PartialVariableAssignment & default_instance()
::operations_research::sat::NoOverlapConstraintProto * unsafe_arena_release_no_overlap()
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:2170
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:3429
NoOverlapConstraintProto * New() const final
Definition: cp_model.pb.h:1884
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:306
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution()
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:2773
void MergeFrom(const NoOverlap2DConstraintProto &from)
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
void UnsafeArenaSwap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2212
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(LinearArgumentProto *other)
Definition: cp_model.pb.h:963
::operations_research::sat::AllDifferentConstraintProto * mutable_all_diff()
PartialVariableAssignment * New() const final
Definition: cp_model.pb.h:5064
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:1498
InverseConstraintProto * New() const final
Definition: cp_model.pb.h:3250
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:5045
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:4779
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:2174
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
IntervalConstraintProto(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1611
void unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
LinearConstraintProto * New() const final
Definition: cp_model.pb.h:1294
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:4363
void UnsafeArenaSwap(BoolArgumentProto *other)
Definition: cp_model.pb.h:474
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
const ::operations_research::sat::LinearConstraintProto & linear() const
void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1286
ElementConstraintProto * New() const final
Definition: cp_model.pb.h:1494
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:3406
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:632
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:978
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
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:177
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:200
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:199
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:201
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF
Definition: cp_model.pb.h:197
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE
Definition: cp_model.pb.h:195
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE
Definition: cp_model.pb.h:196
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF
Definition: cp_model.pb.h:198
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
class operations_research::sat::InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.h:105
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:108
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:178
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:205
class operations_research::sat::IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
Definition: cp_model.pb.h:96
class operations_research::sat::IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
Definition: cp_model.pb.h:99
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:189
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:117
class operations_research::sat::IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.h:102
class operations_research::sat::RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.h:129
class operations_research::sat::BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
Definition: cp_model.pb.h:66
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:232
class operations_research::sat::DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.h:87
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:234
bool DecisionStrategyProto_DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:217
class operations_research::sat::LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.h:111
class operations_research::sat::CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.h:81
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.cc:989
class operations_research::sat::NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.h:120
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:171
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:172
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:168
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:169
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST
Definition: cp_model.pb.h:167
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:170
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:173
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:233
class operations_research::sat::ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.h:93
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:182
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:206
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:210
class operations_research::sat::LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.h:114
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.cc:993
bool CpSolverStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus *value)
Definition: cp_model.pb.h:245
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:176
class operations_research::sat::PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.h:123
bool CpSolverStatus_IsValid(int value)
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:204
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:132
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:238
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:126
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[25] 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