C++ Reference

C++ Reference: CP-SAT

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 < 3012000
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 3012002 < 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/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 // @@protoc_insertion_point(includes)
37 #include <google/protobuf/port_def.inc>
38 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto
39 PROTOBUF_NAMESPACE_OPEN
40 namespace internal {
41 class AnyMetadata;
42 } // namespace internal
43 PROTOBUF_NAMESPACE_CLOSE
44 
45 // Internal implementation detail -- do not use these members.
47  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
49  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
50  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
51  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[26]
52  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
53  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
54  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
55  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
56 };
57 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto;
58 namespace operations_research {
59 namespace sat {
60 class AllDifferentConstraintProto;
61 class AllDifferentConstraintProtoDefaultTypeInternal;
62 extern AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_;
63 class AutomatonConstraintProto;
64 class AutomatonConstraintProtoDefaultTypeInternal;
65 extern AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_;
66 class BoolArgumentProto;
67 class BoolArgumentProtoDefaultTypeInternal;
68 extern BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_;
69 class CircuitConstraintProto;
70 class CircuitConstraintProtoDefaultTypeInternal;
71 extern CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_;
72 class CircuitCoveringConstraintProto;
73 class CircuitCoveringConstraintProtoDefaultTypeInternal;
74 extern CircuitCoveringConstraintProtoDefaultTypeInternal _CircuitCoveringConstraintProto_default_instance_;
75 class ConstraintProto;
76 class ConstraintProtoDefaultTypeInternal;
77 extern ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_;
78 class CpModelProto;
79 class CpModelProtoDefaultTypeInternal;
80 extern CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_;
81 class CpObjectiveProto;
82 class CpObjectiveProtoDefaultTypeInternal;
83 extern CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_;
84 class CpSolverResponse;
85 class CpSolverResponseDefaultTypeInternal;
86 extern CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_;
87 class CumulativeConstraintProto;
88 class CumulativeConstraintProtoDefaultTypeInternal;
89 extern CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_;
90 class DecisionStrategyProto;
91 class DecisionStrategyProtoDefaultTypeInternal;
92 extern DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_;
93 class DecisionStrategyProto_AffineTransformation;
94 class DecisionStrategyProto_AffineTransformationDefaultTypeInternal;
95 extern DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_;
96 class ElementConstraintProto;
97 class ElementConstraintProtoDefaultTypeInternal;
98 extern ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_;
99 class IntegerArgumentProto;
100 class IntegerArgumentProtoDefaultTypeInternal;
101 extern IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_;
102 class IntegerVariableProto;
103 class IntegerVariableProtoDefaultTypeInternal;
104 extern IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_;
105 class IntervalConstraintProto;
106 class IntervalConstraintProtoDefaultTypeInternal;
107 extern IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_;
108 class InverseConstraintProto;
109 class InverseConstraintProtoDefaultTypeInternal;
110 extern InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_;
111 class LinearArgumentProto;
112 class LinearArgumentProtoDefaultTypeInternal;
113 extern LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_;
114 class LinearConstraintProto;
115 class LinearConstraintProtoDefaultTypeInternal;
116 extern LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_;
117 class LinearExpressionProto;
118 class LinearExpressionProtoDefaultTypeInternal;
119 extern LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_;
120 class NoOverlap2DConstraintProto;
121 class NoOverlap2DConstraintProtoDefaultTypeInternal;
122 extern NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_;
123 class NoOverlapConstraintProto;
124 class NoOverlapConstraintProtoDefaultTypeInternal;
125 extern NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_;
126 class PartialVariableAssignment;
127 class PartialVariableAssignmentDefaultTypeInternal;
128 extern PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_;
129 class ReservoirConstraintProto;
130 class ReservoirConstraintProtoDefaultTypeInternal;
131 extern ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_;
132 class RoutesConstraintProto;
133 class RoutesConstraintProtoDefaultTypeInternal;
134 extern RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_;
135 class TableConstraintProto;
136 class TableConstraintProtoDefaultTypeInternal;
137 extern TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_;
138 } // namespace sat
139 } // namespace operations_research
140 PROTOBUF_NAMESPACE_OPEN
141 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
142 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
143 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
144 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
145 template<> ::operations_research::sat::CircuitCoveringConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitCoveringConstraintProto>(Arena*);
146 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
147 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
148 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
149 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
150 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
151 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
152 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
153 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
154 template<> ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerArgumentProto>(Arena*);
155 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
156 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
157 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
158 template<> ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearArgumentProto>(Arena*);
159 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
160 template<> ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(Arena*);
161 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
162 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
163 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
164 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
165 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
166 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
167 PROTOBUF_NAMESPACE_CLOSE
168 namespace operations_research {
169 namespace sat {
170 
179 };
184 
185 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
186 template<typename T>
187 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
188  static_assert(::std::is_same<T, DecisionStrategyProto_VariableSelectionStrategy>::value ||
189  ::std::is_integral<T>::value,
190  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
191  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
193 }
195  const std::string& name, DecisionStrategyProto_VariableSelectionStrategy* value) {
196  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
198 }
207 };
212 
213 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
214 template<typename T>
215 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
216  static_assert(::std::is_same<T, DecisionStrategyProto_DomainReductionStrategy>::value ||
217  ::std::is_integral<T>::value,
218  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
219  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
221 }
223  const std::string& name, DecisionStrategyProto_DomainReductionStrategy* value) {
224  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
226 }
227 enum CpSolverStatus : int {
228  UNKNOWN = 0,
230  FEASIBLE = 2,
232  OPTIMAL = 4,
233  CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
234  CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
235 };
236 bool CpSolverStatus_IsValid(int value);
240 
241 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
242 template<typename T>
243 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
244  static_assert(::std::is_same<T, CpSolverStatus>::value ||
245  ::std::is_integral<T>::value,
246  "Incorrect type passed to function CpSolverStatus_Name.");
247  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
248  CpSolverStatus_descriptor(), enum_t_value);
249 }
251  const std::string& name, CpSolverStatus* value) {
252  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
253  CpSolverStatus_descriptor(), name, value);
254 }
255 // ===================================================================
256 
257 class IntegerVariableProto PROTOBUF_FINAL :
258  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
259  public:
260  inline IntegerVariableProto() : IntegerVariableProto(nullptr) {};
262 
263  IntegerVariableProto(const IntegerVariableProto& from);
264  IntegerVariableProto(IntegerVariableProto&& from) noexcept
265  : IntegerVariableProto() {
266  *this = ::std::move(from);
267  }
268 
269  inline IntegerVariableProto& operator=(const IntegerVariableProto& from) {
270  CopyFrom(from);
271  return *this;
272  }
273  inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
274  if (GetArena() == from.GetArena()) {
275  if (this != &from) InternalSwap(&from);
276  } else {
277  CopyFrom(from);
278  }
279  return *this;
280  }
281 
282  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
283  return GetDescriptor();
284  }
285  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
286  return GetMetadataStatic().descriptor;
287  }
288  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
289  return GetMetadataStatic().reflection;
290  }
291  static const IntegerVariableProto& default_instance();
292 
293  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
294  static inline const IntegerVariableProto* internal_default_instance() {
295  return reinterpret_cast<const IntegerVariableProto*>(
297  }
298  static constexpr int kIndexInFileMessages =
299  0;
300 
301  friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) {
302  a.Swap(&b);
303  }
304  inline void Swap(IntegerVariableProto* other) {
305  if (other == this) return;
306  if (GetArena() == other->GetArena()) {
307  InternalSwap(other);
308  } else {
309  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
310  }
311  }
312  void UnsafeArenaSwap(IntegerVariableProto* other) {
313  if (other == this) return;
314  GOOGLE_DCHECK(GetArena() == other->GetArena());
315  InternalSwap(other);
316  }
317 
318  // implements Message ----------------------------------------------
319 
320  inline IntegerVariableProto* New() const final {
321  return CreateMaybeMessage<IntegerVariableProto>(nullptr);
322  }
323 
324  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
325  return CreateMaybeMessage<IntegerVariableProto>(arena);
326  }
327  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
328  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
329  void CopyFrom(const IntegerVariableProto& from);
330  void MergeFrom(const IntegerVariableProto& from);
331  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
332  bool IsInitialized() const final;
333 
334  size_t ByteSizeLong() const final;
335  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
336  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
337  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
338  int GetCachedSize() const final { return _cached_size_.Get(); }
339 
340  private:
341  inline void SharedCtor();
342  inline void SharedDtor();
343  void SetCachedSize(int size) const final;
344  void InternalSwap(IntegerVariableProto* other);
345  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
346  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
347  return "operations_research.sat.IntegerVariableProto";
348  }
349  protected:
350  explicit IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
351  private:
352  static void ArenaDtor(void* object);
353  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
354  public:
355 
356  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
357  private:
358  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
359  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
360  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
361  }
362 
363  public:
364 
365  // nested types ----------------------------------------------------
366 
367  // accessors -------------------------------------------------------
368 
369  enum : int {
370  kDomainFieldNumber = 2,
371  kNameFieldNumber = 1,
372  };
373  // repeated int64 domain = 2;
374  int domain_size() const;
375  private:
376  int _internal_domain_size() const;
377  public:
378  void clear_domain();
379  private:
380  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
381  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
382  _internal_domain() const;
383  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
384  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
385  _internal_mutable_domain();
386  public:
387  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
388  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
389  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
390  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
391  domain() const;
392  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
394 
395  // string name = 1;
396  void clear_name();
397  const std::string& name() const;
398  void set_name(const std::string& value);
399  void set_name(std::string&& value);
400  void set_name(const char* value);
401  void set_name(const char* value, size_t size);
402  std::string* mutable_name();
403  std::string* release_name();
404  void set_allocated_name(std::string* name);
405  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
406  " string fields are deprecated and will be removed in a"
407  " future release.")
408  std::string* unsafe_arena_release_name();
409  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
410  " string fields are deprecated and will be removed in a"
411  " future release.")
412  void unsafe_arena_set_allocated_name(
413  std::string* name);
414  private:
415  const std::string& _internal_name() const;
416  void _internal_set_name(const std::string& value);
417  std::string* _internal_mutable_name();
418  public:
419 
420  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
421  private:
422  class _Internal;
423 
424  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
425  typedef void InternalArenaConstructable_;
426  typedef void DestructorSkippable_;
427  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
428  mutable std::atomic<int> _domain_cached_byte_size_;
429  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
430  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
432 };
433 // -------------------------------------------------------------------
434 
435 class BoolArgumentProto PROTOBUF_FINAL :
436  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
437  public:
438  inline BoolArgumentProto() : BoolArgumentProto(nullptr) {};
440 
441  BoolArgumentProto(const BoolArgumentProto& from);
442  BoolArgumentProto(BoolArgumentProto&& from) noexcept
443  : BoolArgumentProto() {
444  *this = ::std::move(from);
445  }
446 
447  inline BoolArgumentProto& operator=(const BoolArgumentProto& from) {
448  CopyFrom(from);
449  return *this;
450  }
451  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
452  if (GetArena() == from.GetArena()) {
453  if (this != &from) InternalSwap(&from);
454  } else {
455  CopyFrom(from);
456  }
457  return *this;
458  }
459 
460  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
461  return GetDescriptor();
462  }
463  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
464  return GetMetadataStatic().descriptor;
465  }
466  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
467  return GetMetadataStatic().reflection;
468  }
469  static const BoolArgumentProto& default_instance();
470 
471  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
472  static inline const BoolArgumentProto* internal_default_instance() {
473  return reinterpret_cast<const BoolArgumentProto*>(
475  }
476  static constexpr int kIndexInFileMessages =
477  1;
478 
479  friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) {
480  a.Swap(&b);
481  }
482  inline void Swap(BoolArgumentProto* other) {
483  if (other == this) return;
484  if (GetArena() == other->GetArena()) {
485  InternalSwap(other);
486  } else {
487  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
488  }
489  }
490  void UnsafeArenaSwap(BoolArgumentProto* other) {
491  if (other == this) return;
492  GOOGLE_DCHECK(GetArena() == other->GetArena());
493  InternalSwap(other);
494  }
495 
496  // implements Message ----------------------------------------------
497 
498  inline BoolArgumentProto* New() const final {
499  return CreateMaybeMessage<BoolArgumentProto>(nullptr);
500  }
501 
502  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
503  return CreateMaybeMessage<BoolArgumentProto>(arena);
504  }
505  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
506  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
507  void CopyFrom(const BoolArgumentProto& from);
508  void MergeFrom(const BoolArgumentProto& from);
509  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
510  bool IsInitialized() const final;
511 
512  size_t ByteSizeLong() const final;
513  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
514  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
515  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
516  int GetCachedSize() const final { return _cached_size_.Get(); }
517 
518  private:
519  inline void SharedCtor();
520  inline void SharedDtor();
521  void SetCachedSize(int size) const final;
522  void InternalSwap(BoolArgumentProto* other);
523  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
524  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
525  return "operations_research.sat.BoolArgumentProto";
526  }
527  protected:
528  explicit BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
529  private:
530  static void ArenaDtor(void* object);
531  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
532  public:
533 
534  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
535  private:
536  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
537  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
538  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
539  }
540 
541  public:
542 
543  // nested types ----------------------------------------------------
544 
545  // accessors -------------------------------------------------------
546 
547  enum : int {
548  kLiteralsFieldNumber = 1,
549  };
550  // repeated int32 literals = 1;
551  int literals_size() const;
552  private:
553  int _internal_literals_size() const;
554  public:
556  private:
557  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
558  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
559  _internal_literals() const;
560  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
561  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
562  _internal_mutable_literals();
563  public:
564  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
565  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
566  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
567  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
568  literals() const;
569  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
571 
572  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
573  private:
574  class _Internal;
575 
576  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
577  typedef void InternalArenaConstructable_;
578  typedef void DestructorSkippable_;
579  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
580  mutable std::atomic<int> _literals_cached_byte_size_;
581  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
582  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
583 };
584 // -------------------------------------------------------------------
585 
586 class IntegerArgumentProto PROTOBUF_FINAL :
587  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerArgumentProto) */ {
588  public:
589  inline IntegerArgumentProto() : IntegerArgumentProto(nullptr) {};
591 
592  IntegerArgumentProto(const IntegerArgumentProto& from);
593  IntegerArgumentProto(IntegerArgumentProto&& from) noexcept
594  : IntegerArgumentProto() {
595  *this = ::std::move(from);
596  }
597 
598  inline IntegerArgumentProto& operator=(const IntegerArgumentProto& from) {
599  CopyFrom(from);
600  return *this;
601  }
602  inline IntegerArgumentProto& operator=(IntegerArgumentProto&& from) noexcept {
603  if (GetArena() == from.GetArena()) {
604  if (this != &from) InternalSwap(&from);
605  } else {
606  CopyFrom(from);
607  }
608  return *this;
609  }
610 
611  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
612  return GetDescriptor();
613  }
614  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
615  return GetMetadataStatic().descriptor;
616  }
617  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
618  return GetMetadataStatic().reflection;
619  }
620  static const IntegerArgumentProto& default_instance();
621 
622  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
623  static inline const IntegerArgumentProto* internal_default_instance() {
624  return reinterpret_cast<const IntegerArgumentProto*>(
626  }
627  static constexpr int kIndexInFileMessages =
628  2;
629 
630  friend void swap(IntegerArgumentProto& a, IntegerArgumentProto& b) {
631  a.Swap(&b);
632  }
633  inline void Swap(IntegerArgumentProto* other) {
634  if (other == this) return;
635  if (GetArena() == other->GetArena()) {
636  InternalSwap(other);
637  } else {
638  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
639  }
640  }
641  void UnsafeArenaSwap(IntegerArgumentProto* other) {
642  if (other == this) return;
643  GOOGLE_DCHECK(GetArena() == other->GetArena());
644  InternalSwap(other);
645  }
646 
647  // implements Message ----------------------------------------------
648 
649  inline IntegerArgumentProto* New() const final {
650  return CreateMaybeMessage<IntegerArgumentProto>(nullptr);
651  }
652 
653  IntegerArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
654  return CreateMaybeMessage<IntegerArgumentProto>(arena);
655  }
656  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
657  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
658  void CopyFrom(const IntegerArgumentProto& from);
659  void MergeFrom(const IntegerArgumentProto& from);
660  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
661  bool IsInitialized() const final;
662 
663  size_t ByteSizeLong() const final;
664  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
665  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
666  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
667  int GetCachedSize() const final { return _cached_size_.Get(); }
668 
669  private:
670  inline void SharedCtor();
671  inline void SharedDtor();
672  void SetCachedSize(int size) const final;
673  void InternalSwap(IntegerArgumentProto* other);
674  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
675  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
676  return "operations_research.sat.IntegerArgumentProto";
677  }
678  protected:
679  explicit IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
680  private:
681  static void ArenaDtor(void* object);
682  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
683  public:
684 
685  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
686  private:
687  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
688  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
689  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
690  }
691 
692  public:
693 
694  // nested types ----------------------------------------------------
695 
696  // accessors -------------------------------------------------------
697 
698  enum : int {
699  kVarsFieldNumber = 2,
700  kTargetFieldNumber = 1,
701  };
702  // repeated int32 vars = 2;
703  int vars_size() const;
704  private:
705  int _internal_vars_size() const;
706  public:
707  void clear_vars();
708  private:
709  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
710  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
711  _internal_vars() const;
712  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
713  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
714  _internal_mutable_vars();
715  public:
716  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
717  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
718  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
719  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
720  vars() const;
721  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
723 
724  // int32 target = 1;
725  void clear_target();
726  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
727  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
728  private:
729  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
730  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
731  public:
732 
733  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerArgumentProto)
734  private:
735  class _Internal;
736 
737  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
738  typedef void InternalArenaConstructable_;
739  typedef void DestructorSkippable_;
740  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
741  mutable std::atomic<int> _vars_cached_byte_size_;
742  ::PROTOBUF_NAMESPACE_ID::int32 target_;
743  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
744  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
745 };
746 // -------------------------------------------------------------------
747 
748 class LinearExpressionProto PROTOBUF_FINAL :
749  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
750  public:
751  inline LinearExpressionProto() : LinearExpressionProto(nullptr) {};
753 
754  LinearExpressionProto(const LinearExpressionProto& from);
755  LinearExpressionProto(LinearExpressionProto&& from) noexcept
756  : LinearExpressionProto() {
757  *this = ::std::move(from);
758  }
759 
760  inline LinearExpressionProto& operator=(const LinearExpressionProto& from) {
761  CopyFrom(from);
762  return *this;
763  }
764  inline LinearExpressionProto& operator=(LinearExpressionProto&& from) noexcept {
765  if (GetArena() == from.GetArena()) {
766  if (this != &from) InternalSwap(&from);
767  } else {
768  CopyFrom(from);
769  }
770  return *this;
771  }
772 
773  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
774  return GetDescriptor();
775  }
776  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
777  return GetMetadataStatic().descriptor;
778  }
779  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
780  return GetMetadataStatic().reflection;
781  }
782  static const LinearExpressionProto& default_instance();
783 
784  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
785  static inline const LinearExpressionProto* internal_default_instance() {
786  return reinterpret_cast<const LinearExpressionProto*>(
788  }
789  static constexpr int kIndexInFileMessages =
790  3;
791 
792  friend void swap(LinearExpressionProto& a, LinearExpressionProto& b) {
793  a.Swap(&b);
794  }
795  inline void Swap(LinearExpressionProto* other) {
796  if (other == this) return;
797  if (GetArena() == other->GetArena()) {
798  InternalSwap(other);
799  } else {
800  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
801  }
802  }
803  void UnsafeArenaSwap(LinearExpressionProto* other) {
804  if (other == this) return;
805  GOOGLE_DCHECK(GetArena() == other->GetArena());
806  InternalSwap(other);
807  }
808 
809  // implements Message ----------------------------------------------
810 
811  inline LinearExpressionProto* New() const final {
812  return CreateMaybeMessage<LinearExpressionProto>(nullptr);
813  }
814 
815  LinearExpressionProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
816  return CreateMaybeMessage<LinearExpressionProto>(arena);
817  }
818  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
819  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
820  void CopyFrom(const LinearExpressionProto& from);
821  void MergeFrom(const LinearExpressionProto& from);
822  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
823  bool IsInitialized() const final;
824 
825  size_t ByteSizeLong() const final;
826  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
827  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
828  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
829  int GetCachedSize() const final { return _cached_size_.Get(); }
830 
831  private:
832  inline void SharedCtor();
833  inline void SharedDtor();
834  void SetCachedSize(int size) const final;
835  void InternalSwap(LinearExpressionProto* other);
836  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
837  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
838  return "operations_research.sat.LinearExpressionProto";
839  }
840  protected:
841  explicit LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
842  private:
843  static void ArenaDtor(void* object);
844  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
845  public:
846 
847  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
848  private:
849  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
850  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
851  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
852  }
853 
854  public:
855 
856  // nested types ----------------------------------------------------
857 
858  // accessors -------------------------------------------------------
859 
860  enum : int {
861  kVarsFieldNumber = 1,
862  kCoeffsFieldNumber = 2,
863  kOffsetFieldNumber = 3,
864  };
865  // repeated int32 vars = 1;
866  int vars_size() const;
867  private:
868  int _internal_vars_size() const;
869  public:
870  void clear_vars();
871  private:
872  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
873  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
874  _internal_vars() const;
875  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
876  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
877  _internal_mutable_vars();
878  public:
879  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
880  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
881  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
882  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
883  vars() const;
884  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
886 
887  // repeated int32 coeffs = 2;
888  int coeffs_size() const;
889  private:
890  int _internal_coeffs_size() const;
891  public:
892  void clear_coeffs();
893  private:
894  ::PROTOBUF_NAMESPACE_ID::int32 _internal_coeffs(int index) const;
895  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
896  _internal_coeffs() const;
897  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int32 value);
898  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
899  _internal_mutable_coeffs();
900  public:
901  ::PROTOBUF_NAMESPACE_ID::int32 coeffs(int index) const;
902  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
903  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int32 value);
904  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
905  coeffs() const;
906  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
908 
909  // int64 offset = 3;
910  void clear_offset();
911  ::PROTOBUF_NAMESPACE_ID::int64 offset() const;
912  void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
913  private:
914  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
915  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
916  public:
917 
918  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
919  private:
920  class _Internal;
921 
922  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
923  typedef void InternalArenaConstructable_;
924  typedef void DestructorSkippable_;
925  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
926  mutable std::atomic<int> _vars_cached_byte_size_;
927  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > coeffs_;
928  mutable std::atomic<int> _coeffs_cached_byte_size_;
929  ::PROTOBUF_NAMESPACE_ID::int64 offset_;
930  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
931  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
932 };
933 // -------------------------------------------------------------------
934 
935 class LinearArgumentProto PROTOBUF_FINAL :
936  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
937  public:
938  inline LinearArgumentProto() : LinearArgumentProto(nullptr) {};
940 
941  LinearArgumentProto(const LinearArgumentProto& from);
942  LinearArgumentProto(LinearArgumentProto&& from) noexcept
943  : LinearArgumentProto() {
944  *this = ::std::move(from);
945  }
946 
947  inline LinearArgumentProto& operator=(const LinearArgumentProto& from) {
948  CopyFrom(from);
949  return *this;
950  }
951  inline LinearArgumentProto& operator=(LinearArgumentProto&& from) noexcept {
952  if (GetArena() == from.GetArena()) {
953  if (this != &from) InternalSwap(&from);
954  } else {
955  CopyFrom(from);
956  }
957  return *this;
958  }
959 
960  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
961  return GetDescriptor();
962  }
963  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
964  return GetMetadataStatic().descriptor;
965  }
966  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
967  return GetMetadataStatic().reflection;
968  }
969  static const LinearArgumentProto& default_instance();
970 
971  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
972  static inline const LinearArgumentProto* internal_default_instance() {
973  return reinterpret_cast<const LinearArgumentProto*>(
975  }
976  static constexpr int kIndexInFileMessages =
977  4;
978 
979  friend void swap(LinearArgumentProto& a, LinearArgumentProto& b) {
980  a.Swap(&b);
981  }
982  inline void Swap(LinearArgumentProto* other) {
983  if (other == this) return;
984  if (GetArena() == other->GetArena()) {
985  InternalSwap(other);
986  } else {
987  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
988  }
989  }
990  void UnsafeArenaSwap(LinearArgumentProto* other) {
991  if (other == this) return;
992  GOOGLE_DCHECK(GetArena() == other->GetArena());
993  InternalSwap(other);
994  }
995 
996  // implements Message ----------------------------------------------
997 
998  inline LinearArgumentProto* New() const final {
999  return CreateMaybeMessage<LinearArgumentProto>(nullptr);
1000  }
1001 
1002  LinearArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1003  return CreateMaybeMessage<LinearArgumentProto>(arena);
1004  }
1005  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1006  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1007  void CopyFrom(const LinearArgumentProto& from);
1008  void MergeFrom(const LinearArgumentProto& from);
1009  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1010  bool IsInitialized() const final;
1011 
1012  size_t ByteSizeLong() const final;
1013  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1014  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1015  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1016  int GetCachedSize() const final { return _cached_size_.Get(); }
1017 
1018  private:
1019  inline void SharedCtor();
1020  inline void SharedDtor();
1021  void SetCachedSize(int size) const final;
1022  void InternalSwap(LinearArgumentProto* other);
1023  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1024  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1025  return "operations_research.sat.LinearArgumentProto";
1026  }
1027  protected:
1028  explicit LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1029  private:
1030  static void ArenaDtor(void* object);
1031  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1032  public:
1033 
1034  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1035  private:
1036  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1037  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1038  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1039  }
1040 
1041  public:
1042 
1043  // nested types ----------------------------------------------------
1044 
1045  // accessors -------------------------------------------------------
1046 
1047  enum : int {
1048  kExprsFieldNumber = 2,
1049  kTargetFieldNumber = 1,
1050  };
1051  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1052  int exprs_size() const;
1053  private:
1054  int _internal_exprs_size() const;
1055  public:
1056  void clear_exprs();
1057  ::operations_research::sat::LinearExpressionProto* mutable_exprs(int index);
1058  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
1060  private:
1061  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
1062  ::operations_research::sat::LinearExpressionProto* _internal_add_exprs();
1063  public:
1064  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
1065  ::operations_research::sat::LinearExpressionProto* add_exprs();
1066  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
1067  exprs() const;
1068 
1069  // .operations_research.sat.LinearExpressionProto target = 1;
1070  bool has_target() const;
1071  private:
1072  bool _internal_has_target() const;
1073  public:
1075  const ::operations_research::sat::LinearExpressionProto& target() const;
1076  ::operations_research::sat::LinearExpressionProto* release_target();
1077  ::operations_research::sat::LinearExpressionProto* mutable_target();
1078  void set_allocated_target(::operations_research::sat::LinearExpressionProto* target);
1079  private:
1080  const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
1081  ::operations_research::sat::LinearExpressionProto* _internal_mutable_target();
1082  public:
1084  ::operations_research::sat::LinearExpressionProto* target);
1085  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_target();
1086 
1087  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
1088  private:
1089  class _Internal;
1090 
1091  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1092  typedef void InternalArenaConstructable_;
1093  typedef void DestructorSkippable_;
1094  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
1095  ::operations_research::sat::LinearExpressionProto* target_;
1096  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1097  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1098 };
1099 // -------------------------------------------------------------------
1100 
1101 class AllDifferentConstraintProto PROTOBUF_FINAL :
1102  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
1103  public:
1104  inline AllDifferentConstraintProto() : AllDifferentConstraintProto(nullptr) {};
1106 
1107  AllDifferentConstraintProto(const AllDifferentConstraintProto& from);
1108  AllDifferentConstraintProto(AllDifferentConstraintProto&& from) noexcept
1109  : AllDifferentConstraintProto() {
1110  *this = ::std::move(from);
1111  }
1112 
1113  inline AllDifferentConstraintProto& operator=(const AllDifferentConstraintProto& from) {
1114  CopyFrom(from);
1115  return *this;
1116  }
1117  inline AllDifferentConstraintProto& operator=(AllDifferentConstraintProto&& from) noexcept {
1118  if (GetArena() == from.GetArena()) {
1119  if (this != &from) InternalSwap(&from);
1120  } else {
1121  CopyFrom(from);
1122  }
1123  return *this;
1124  }
1125 
1126  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1127  return GetDescriptor();
1128  }
1129  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1130  return GetMetadataStatic().descriptor;
1131  }
1132  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1133  return GetMetadataStatic().reflection;
1134  }
1135  static const AllDifferentConstraintProto& default_instance();
1136 
1137  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1138  static inline const AllDifferentConstraintProto* internal_default_instance() {
1139  return reinterpret_cast<const AllDifferentConstraintProto*>(
1141  }
1142  static constexpr int kIndexInFileMessages =
1143  5;
1144 
1145  friend void swap(AllDifferentConstraintProto& a, AllDifferentConstraintProto& b) {
1146  a.Swap(&b);
1147  }
1148  inline void Swap(AllDifferentConstraintProto* other) {
1149  if (other == this) return;
1150  if (GetArena() == other->GetArena()) {
1151  InternalSwap(other);
1152  } else {
1153  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1154  }
1155  }
1156  void UnsafeArenaSwap(AllDifferentConstraintProto* other) {
1157  if (other == this) return;
1158  GOOGLE_DCHECK(GetArena() == other->GetArena());
1159  InternalSwap(other);
1160  }
1161 
1162  // implements Message ----------------------------------------------
1163 
1164  inline AllDifferentConstraintProto* New() const final {
1165  return CreateMaybeMessage<AllDifferentConstraintProto>(nullptr);
1166  }
1167 
1168  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1169  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
1170  }
1171  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1172  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1173  void CopyFrom(const AllDifferentConstraintProto& from);
1174  void MergeFrom(const AllDifferentConstraintProto& from);
1175  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1176  bool IsInitialized() const final;
1177 
1178  size_t ByteSizeLong() const final;
1179  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1180  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1181  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1182  int GetCachedSize() const final { return _cached_size_.Get(); }
1183 
1184  private:
1185  inline void SharedCtor();
1186  inline void SharedDtor();
1187  void SetCachedSize(int size) const final;
1188  void InternalSwap(AllDifferentConstraintProto* other);
1189  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1190  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1191  return "operations_research.sat.AllDifferentConstraintProto";
1192  }
1193  protected:
1194  explicit AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1195  private:
1196  static void ArenaDtor(void* object);
1197  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1198  public:
1199 
1200  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1201  private:
1202  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1203  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1204  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1205  }
1206 
1207  public:
1208 
1209  // nested types ----------------------------------------------------
1210 
1211  // accessors -------------------------------------------------------
1212 
1213  enum : int {
1214  kVarsFieldNumber = 1,
1215  };
1216  // repeated int32 vars = 1;
1217  int vars_size() const;
1218  private:
1219  int _internal_vars_size() const;
1220  public:
1221  void clear_vars();
1222  private:
1223  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1224  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1225  _internal_vars() const;
1226  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1227  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1228  _internal_mutable_vars();
1229  public:
1230  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1231  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1232  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1233  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1234  vars() const;
1235  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1237 
1238  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
1239  private:
1240  class _Internal;
1241 
1242  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1243  typedef void InternalArenaConstructable_;
1244  typedef void DestructorSkippable_;
1245  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1246  mutable std::atomic<int> _vars_cached_byte_size_;
1247  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1248  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1249 };
1250 // -------------------------------------------------------------------
1251 
1252 class LinearConstraintProto PROTOBUF_FINAL :
1253  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1254  public:
1255  inline LinearConstraintProto() : LinearConstraintProto(nullptr) {};
1257 
1258  LinearConstraintProto(const LinearConstraintProto& from);
1259  LinearConstraintProto(LinearConstraintProto&& from) noexcept
1260  : LinearConstraintProto() {
1261  *this = ::std::move(from);
1262  }
1263 
1264  inline LinearConstraintProto& operator=(const LinearConstraintProto& from) {
1265  CopyFrom(from);
1266  return *this;
1267  }
1268  inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
1269  if (GetArena() == from.GetArena()) {
1270  if (this != &from) InternalSwap(&from);
1271  } else {
1272  CopyFrom(from);
1273  }
1274  return *this;
1275  }
1276 
1277  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1278  return GetDescriptor();
1279  }
1280  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1281  return GetMetadataStatic().descriptor;
1282  }
1283  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1284  return GetMetadataStatic().reflection;
1285  }
1286  static const LinearConstraintProto& default_instance();
1287 
1288  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1289  static inline const LinearConstraintProto* internal_default_instance() {
1290  return reinterpret_cast<const LinearConstraintProto*>(
1292  }
1293  static constexpr int kIndexInFileMessages =
1294  6;
1295 
1296  friend void swap(LinearConstraintProto& a, LinearConstraintProto& b) {
1297  a.Swap(&b);
1298  }
1299  inline void Swap(LinearConstraintProto* other) {
1300  if (other == this) return;
1301  if (GetArena() == other->GetArena()) {
1302  InternalSwap(other);
1303  } else {
1304  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1305  }
1306  }
1307  void UnsafeArenaSwap(LinearConstraintProto* other) {
1308  if (other == this) return;
1309  GOOGLE_DCHECK(GetArena() == other->GetArena());
1310  InternalSwap(other);
1311  }
1312 
1313  // implements Message ----------------------------------------------
1314 
1315  inline LinearConstraintProto* New() const final {
1316  return CreateMaybeMessage<LinearConstraintProto>(nullptr);
1317  }
1318 
1319  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1320  return CreateMaybeMessage<LinearConstraintProto>(arena);
1321  }
1322  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1323  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1324  void CopyFrom(const LinearConstraintProto& from);
1325  void MergeFrom(const LinearConstraintProto& from);
1326  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1327  bool IsInitialized() const final;
1328 
1329  size_t ByteSizeLong() const final;
1330  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1331  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1332  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1333  int GetCachedSize() const final { return _cached_size_.Get(); }
1334 
1335  private:
1336  inline void SharedCtor();
1337  inline void SharedDtor();
1338  void SetCachedSize(int size) const final;
1339  void InternalSwap(LinearConstraintProto* other);
1340  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1341  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1342  return "operations_research.sat.LinearConstraintProto";
1343  }
1344  protected:
1345  explicit LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1346  private:
1347  static void ArenaDtor(void* object);
1348  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1349  public:
1350 
1351  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1352  private:
1353  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1354  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1355  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1356  }
1357 
1358  public:
1359 
1360  // nested types ----------------------------------------------------
1361 
1362  // accessors -------------------------------------------------------
1363 
1364  enum : int {
1365  kVarsFieldNumber = 1,
1366  kCoeffsFieldNumber = 2,
1367  kDomainFieldNumber = 3,
1368  };
1369  // repeated int32 vars = 1;
1370  int vars_size() const;
1371  private:
1372  int _internal_vars_size() const;
1373  public:
1374  void clear_vars();
1375  private:
1376  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1377  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1378  _internal_vars() const;
1379  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1380  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1381  _internal_mutable_vars();
1382  public:
1383  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1384  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1385  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1386  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1387  vars() const;
1388  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1390 
1391  // repeated int64 coeffs = 2;
1392  int coeffs_size() const;
1393  private:
1394  int _internal_coeffs_size() const;
1395  public:
1397  private:
1398  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
1399  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1400  _internal_coeffs() const;
1401  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1402  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1403  _internal_mutable_coeffs();
1404  public:
1405  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
1406  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
1407  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1408  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1409  coeffs() const;
1410  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1412 
1413  // repeated int64 domain = 3;
1414  int domain_size() const;
1415  private:
1416  int _internal_domain_size() const;
1417  public:
1419  private:
1420  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
1421  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1422  _internal_domain() const;
1423  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1424  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1425  _internal_mutable_domain();
1426  public:
1427  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
1428  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
1429  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1430  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1431  domain() const;
1432  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1434 
1435  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1436  private:
1437  class _Internal;
1438 
1439  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1440  typedef void InternalArenaConstructable_;
1441  typedef void DestructorSkippable_;
1442  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1443  mutable std::atomic<int> _vars_cached_byte_size_;
1444  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
1445  mutable std::atomic<int> _coeffs_cached_byte_size_;
1446  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
1447  mutable std::atomic<int> _domain_cached_byte_size_;
1448  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1449  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1450 };
1451 // -------------------------------------------------------------------
1452 
1453 class ElementConstraintProto PROTOBUF_FINAL :
1454  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
1455  public:
1456  inline ElementConstraintProto() : ElementConstraintProto(nullptr) {};
1458 
1459  ElementConstraintProto(const ElementConstraintProto& from);
1460  ElementConstraintProto(ElementConstraintProto&& from) noexcept
1461  : ElementConstraintProto() {
1462  *this = ::std::move(from);
1463  }
1464 
1465  inline ElementConstraintProto& operator=(const ElementConstraintProto& from) {
1466  CopyFrom(from);
1467  return *this;
1468  }
1469  inline ElementConstraintProto& operator=(ElementConstraintProto&& from) noexcept {
1470  if (GetArena() == from.GetArena()) {
1471  if (this != &from) InternalSwap(&from);
1472  } else {
1473  CopyFrom(from);
1474  }
1475  return *this;
1476  }
1477 
1478  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1479  return GetDescriptor();
1480  }
1481  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1482  return GetMetadataStatic().descriptor;
1483  }
1484  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1485  return GetMetadataStatic().reflection;
1486  }
1487  static const ElementConstraintProto& default_instance();
1488 
1489  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1490  static inline const ElementConstraintProto* internal_default_instance() {
1491  return reinterpret_cast<const ElementConstraintProto*>(
1493  }
1494  static constexpr int kIndexInFileMessages =
1495  7;
1496 
1497  friend void swap(ElementConstraintProto& a, ElementConstraintProto& b) {
1498  a.Swap(&b);
1499  }
1500  inline void Swap(ElementConstraintProto* other) {
1501  if (other == this) return;
1502  if (GetArena() == other->GetArena()) {
1503  InternalSwap(other);
1504  } else {
1505  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1506  }
1507  }
1508  void UnsafeArenaSwap(ElementConstraintProto* other) {
1509  if (other == this) return;
1510  GOOGLE_DCHECK(GetArena() == other->GetArena());
1511  InternalSwap(other);
1512  }
1513 
1514  // implements Message ----------------------------------------------
1515 
1516  inline ElementConstraintProto* New() const final {
1517  return CreateMaybeMessage<ElementConstraintProto>(nullptr);
1518  }
1519 
1520  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1521  return CreateMaybeMessage<ElementConstraintProto>(arena);
1522  }
1523  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1524  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1525  void CopyFrom(const ElementConstraintProto& from);
1526  void MergeFrom(const ElementConstraintProto& from);
1527  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1528  bool IsInitialized() const final;
1529 
1530  size_t ByteSizeLong() const final;
1531  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1532  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1533  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1534  int GetCachedSize() const final { return _cached_size_.Get(); }
1535 
1536  private:
1537  inline void SharedCtor();
1538  inline void SharedDtor();
1539  void SetCachedSize(int size) const final;
1540  void InternalSwap(ElementConstraintProto* other);
1541  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1542  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1543  return "operations_research.sat.ElementConstraintProto";
1544  }
1545  protected:
1546  explicit ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1547  private:
1548  static void ArenaDtor(void* object);
1549  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1550  public:
1551 
1552  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1553  private:
1554  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1555  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1556  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1557  }
1558 
1559  public:
1560 
1561  // nested types ----------------------------------------------------
1562 
1563  // accessors -------------------------------------------------------
1564 
1565  enum : int {
1566  kVarsFieldNumber = 3,
1567  kIndexFieldNumber = 1,
1568  kTargetFieldNumber = 2,
1569  };
1570  // repeated int32 vars = 3;
1571  int vars_size() const;
1572  private:
1573  int _internal_vars_size() const;
1574  public:
1575  void clear_vars();
1576  private:
1577  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1578  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1579  _internal_vars() const;
1580  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1581  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1582  _internal_mutable_vars();
1583  public:
1584  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1585  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1586  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1587  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1588  vars() const;
1589  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1591 
1592  // int32 index = 1;
1593  void clear_index();
1594  ::PROTOBUF_NAMESPACE_ID::int32 index() const;
1595  void set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1596  private:
1597  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
1598  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1599  public:
1600 
1601  // int32 target = 2;
1603  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
1604  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1605  private:
1606  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
1607  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1608  public:
1609 
1610  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1611  private:
1612  class _Internal;
1613 
1614  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1615  typedef void InternalArenaConstructable_;
1616  typedef void DestructorSkippable_;
1617  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1618  mutable std::atomic<int> _vars_cached_byte_size_;
1619  ::PROTOBUF_NAMESPACE_ID::int32 index_;
1620  ::PROTOBUF_NAMESPACE_ID::int32 target_;
1621  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1622  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1623 };
1624 // -------------------------------------------------------------------
1625 
1626 class IntervalConstraintProto PROTOBUF_FINAL :
1627  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1628  public:
1629  inline IntervalConstraintProto() : IntervalConstraintProto(nullptr) {};
1631 
1632  IntervalConstraintProto(const IntervalConstraintProto& from);
1633  IntervalConstraintProto(IntervalConstraintProto&& from) noexcept
1634  : IntervalConstraintProto() {
1635  *this = ::std::move(from);
1636  }
1637 
1638  inline IntervalConstraintProto& operator=(const IntervalConstraintProto& from) {
1639  CopyFrom(from);
1640  return *this;
1641  }
1642  inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
1643  if (GetArena() == from.GetArena()) {
1644  if (this != &from) InternalSwap(&from);
1645  } else {
1646  CopyFrom(from);
1647  }
1648  return *this;
1649  }
1650 
1651  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1652  return GetDescriptor();
1653  }
1654  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1655  return GetMetadataStatic().descriptor;
1656  }
1657  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1658  return GetMetadataStatic().reflection;
1659  }
1660  static const IntervalConstraintProto& default_instance();
1661 
1662  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1663  static inline const IntervalConstraintProto* internal_default_instance() {
1664  return reinterpret_cast<const IntervalConstraintProto*>(
1666  }
1667  static constexpr int kIndexInFileMessages =
1668  8;
1669 
1670  friend void swap(IntervalConstraintProto& a, IntervalConstraintProto& b) {
1671  a.Swap(&b);
1672  }
1673  inline void Swap(IntervalConstraintProto* other) {
1674  if (other == this) return;
1675  if (GetArena() == other->GetArena()) {
1676  InternalSwap(other);
1677  } else {
1678  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1679  }
1680  }
1681  void UnsafeArenaSwap(IntervalConstraintProto* other) {
1682  if (other == this) return;
1683  GOOGLE_DCHECK(GetArena() == other->GetArena());
1684  InternalSwap(other);
1685  }
1686 
1687  // implements Message ----------------------------------------------
1688 
1689  inline IntervalConstraintProto* New() const final {
1690  return CreateMaybeMessage<IntervalConstraintProto>(nullptr);
1691  }
1692 
1693  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1694  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1695  }
1696  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1697  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1698  void CopyFrom(const IntervalConstraintProto& from);
1699  void MergeFrom(const IntervalConstraintProto& from);
1700  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1701  bool IsInitialized() const final;
1702 
1703  size_t ByteSizeLong() const final;
1704  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1705  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1706  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1707  int GetCachedSize() const final { return _cached_size_.Get(); }
1708 
1709  private:
1710  inline void SharedCtor();
1711  inline void SharedDtor();
1712  void SetCachedSize(int size) const final;
1713  void InternalSwap(IntervalConstraintProto* other);
1714  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1715  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1716  return "operations_research.sat.IntervalConstraintProto";
1717  }
1718  protected:
1719  explicit IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1720  private:
1721  static void ArenaDtor(void* object);
1722  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1723  public:
1724 
1725  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1726  private:
1727  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1728  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1729  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1730  }
1731 
1732  public:
1733 
1734  // nested types ----------------------------------------------------
1735 
1736  // accessors -------------------------------------------------------
1737 
1738  enum : int {
1739  kStartFieldNumber = 1,
1740  kEndFieldNumber = 2,
1741  kSizeFieldNumber = 3,
1742  };
1743  // int32 start = 1;
1744  void clear_start();
1745  ::PROTOBUF_NAMESPACE_ID::int32 start() const;
1746  void set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1747  private:
1748  ::PROTOBUF_NAMESPACE_ID::int32 _internal_start() const;
1749  void _internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1750  public:
1751 
1752  // int32 end = 2;
1753  void clear_end();
1754  ::PROTOBUF_NAMESPACE_ID::int32 end() const;
1755  void set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1756  private:
1757  ::PROTOBUF_NAMESPACE_ID::int32 _internal_end() const;
1758  void _internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1759  public:
1760 
1761  // int32 size = 3;
1762  void clear_size();
1763  ::PROTOBUF_NAMESPACE_ID::int32 size() const;
1764  void set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1765  private:
1766  ::PROTOBUF_NAMESPACE_ID::int32 _internal_size() const;
1767  void _internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1768  public:
1769 
1770  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1771  private:
1772  class _Internal;
1773 
1774  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1775  typedef void InternalArenaConstructable_;
1776  typedef void DestructorSkippable_;
1777  ::PROTOBUF_NAMESPACE_ID::int32 start_;
1778  ::PROTOBUF_NAMESPACE_ID::int32 end_;
1779  ::PROTOBUF_NAMESPACE_ID::int32 size_;
1780  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1781  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1782 };
1783 // -------------------------------------------------------------------
1784 
1785 class NoOverlapConstraintProto PROTOBUF_FINAL :
1786  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1787  public:
1788  inline NoOverlapConstraintProto() : NoOverlapConstraintProto(nullptr) {};
1790 
1791  NoOverlapConstraintProto(const NoOverlapConstraintProto& from);
1792  NoOverlapConstraintProto(NoOverlapConstraintProto&& from) noexcept
1793  : NoOverlapConstraintProto() {
1794  *this = ::std::move(from);
1795  }
1796 
1797  inline NoOverlapConstraintProto& operator=(const NoOverlapConstraintProto& from) {
1798  CopyFrom(from);
1799  return *this;
1800  }
1801  inline NoOverlapConstraintProto& operator=(NoOverlapConstraintProto&& from) noexcept {
1802  if (GetArena() == from.GetArena()) {
1803  if (this != &from) InternalSwap(&from);
1804  } else {
1805  CopyFrom(from);
1806  }
1807  return *this;
1808  }
1809 
1810  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1811  return GetDescriptor();
1812  }
1813  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1814  return GetMetadataStatic().descriptor;
1815  }
1816  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1817  return GetMetadataStatic().reflection;
1818  }
1819  static const NoOverlapConstraintProto& default_instance();
1820 
1821  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1822  static inline const NoOverlapConstraintProto* internal_default_instance() {
1823  return reinterpret_cast<const NoOverlapConstraintProto*>(
1825  }
1826  static constexpr int kIndexInFileMessages =
1827  9;
1828 
1829  friend void swap(NoOverlapConstraintProto& a, NoOverlapConstraintProto& b) {
1830  a.Swap(&b);
1831  }
1832  inline void Swap(NoOverlapConstraintProto* other) {
1833  if (other == this) return;
1834  if (GetArena() == other->GetArena()) {
1835  InternalSwap(other);
1836  } else {
1837  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1838  }
1839  }
1840  void UnsafeArenaSwap(NoOverlapConstraintProto* other) {
1841  if (other == this) return;
1842  GOOGLE_DCHECK(GetArena() == other->GetArena());
1843  InternalSwap(other);
1844  }
1845 
1846  // implements Message ----------------------------------------------
1847 
1848  inline NoOverlapConstraintProto* New() const final {
1849  return CreateMaybeMessage<NoOverlapConstraintProto>(nullptr);
1850  }
1851 
1852  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1853  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1854  }
1855  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1856  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1857  void CopyFrom(const NoOverlapConstraintProto& from);
1858  void MergeFrom(const NoOverlapConstraintProto& from);
1859  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1860  bool IsInitialized() const final;
1861 
1862  size_t ByteSizeLong() const final;
1863  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1864  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1865  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1866  int GetCachedSize() const final { return _cached_size_.Get(); }
1867 
1868  private:
1869  inline void SharedCtor();
1870  inline void SharedDtor();
1871  void SetCachedSize(int size) const final;
1872  void InternalSwap(NoOverlapConstraintProto* other);
1873  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1874  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1875  return "operations_research.sat.NoOverlapConstraintProto";
1876  }
1877  protected:
1878  explicit NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1879  private:
1880  static void ArenaDtor(void* object);
1881  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1882  public:
1883 
1884  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1885  private:
1886  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1887  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1888  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1889  }
1890 
1891  public:
1892 
1893  // nested types ----------------------------------------------------
1894 
1895  // accessors -------------------------------------------------------
1896 
1897  enum : int {
1898  kIntervalsFieldNumber = 1,
1899  };
1900  // repeated int32 intervals = 1;
1901  int intervals_size() const;
1902  private:
1903  int _internal_intervals_size() const;
1904  public:
1906  private:
1907  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
1908  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1909  _internal_intervals() const;
1910  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1911  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1912  _internal_mutable_intervals();
1913  public:
1914  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
1915  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1916  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1917  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1918  intervals() const;
1919  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1921 
1922  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
1923  private:
1924  class _Internal;
1925 
1926  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1927  typedef void InternalArenaConstructable_;
1928  typedef void DestructorSkippable_;
1929  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
1930  mutable std::atomic<int> _intervals_cached_byte_size_;
1931  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1932  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1933 };
1934 // -------------------------------------------------------------------
1935 
1936 class NoOverlap2DConstraintProto PROTOBUF_FINAL :
1937  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
1938  public:
1939  inline NoOverlap2DConstraintProto() : NoOverlap2DConstraintProto(nullptr) {};
1941 
1942  NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto& from);
1943  NoOverlap2DConstraintProto(NoOverlap2DConstraintProto&& from) noexcept
1944  : NoOverlap2DConstraintProto() {
1945  *this = ::std::move(from);
1946  }
1947 
1948  inline NoOverlap2DConstraintProto& operator=(const NoOverlap2DConstraintProto& from) {
1949  CopyFrom(from);
1950  return *this;
1951  }
1952  inline NoOverlap2DConstraintProto& operator=(NoOverlap2DConstraintProto&& from) noexcept {
1953  if (GetArena() == from.GetArena()) {
1954  if (this != &from) InternalSwap(&from);
1955  } else {
1956  CopyFrom(from);
1957  }
1958  return *this;
1959  }
1960 
1961  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1962  return GetDescriptor();
1963  }
1964  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1965  return GetMetadataStatic().descriptor;
1966  }
1967  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1968  return GetMetadataStatic().reflection;
1969  }
1970  static const NoOverlap2DConstraintProto& default_instance();
1971 
1972  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1973  static inline const NoOverlap2DConstraintProto* internal_default_instance() {
1974  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
1976  }
1977  static constexpr int kIndexInFileMessages =
1978  10;
1979 
1980  friend void swap(NoOverlap2DConstraintProto& a, NoOverlap2DConstraintProto& b) {
1981  a.Swap(&b);
1982  }
1983  inline void Swap(NoOverlap2DConstraintProto* other) {
1984  if (other == this) return;
1985  if (GetArena() == other->GetArena()) {
1986  InternalSwap(other);
1987  } else {
1988  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1989  }
1990  }
1991  void UnsafeArenaSwap(NoOverlap2DConstraintProto* other) {
1992  if (other == this) return;
1993  GOOGLE_DCHECK(GetArena() == other->GetArena());
1994  InternalSwap(other);
1995  }
1996 
1997  // implements Message ----------------------------------------------
1998 
1999  inline NoOverlap2DConstraintProto* New() const final {
2000  return CreateMaybeMessage<NoOverlap2DConstraintProto>(nullptr);
2001  }
2002 
2003  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2004  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
2005  }
2006  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2007  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2008  void CopyFrom(const NoOverlap2DConstraintProto& from);
2009  void MergeFrom(const NoOverlap2DConstraintProto& from);
2010  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2011  bool IsInitialized() const final;
2012 
2013  size_t ByteSizeLong() const final;
2014  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2015  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2016  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2017  int GetCachedSize() const final { return _cached_size_.Get(); }
2018 
2019  private:
2020  inline void SharedCtor();
2021  inline void SharedDtor();
2022  void SetCachedSize(int size) const final;
2023  void InternalSwap(NoOverlap2DConstraintProto* other);
2024  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2025  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2026  return "operations_research.sat.NoOverlap2DConstraintProto";
2027  }
2028  protected:
2029  explicit NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2030  private:
2031  static void ArenaDtor(void* object);
2032  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2033  public:
2034 
2035  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2036  private:
2037  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2038  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2039  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2040  }
2041 
2042  public:
2043 
2044  // nested types ----------------------------------------------------
2045 
2046  // accessors -------------------------------------------------------
2047 
2048  enum : int {
2049  kXIntervalsFieldNumber = 1,
2050  kYIntervalsFieldNumber = 2,
2051  kBoxesWithNullAreaCanOverlapFieldNumber = 3,
2052  };
2053  // repeated int32 x_intervals = 1;
2054  int x_intervals_size() const;
2055  private:
2056  int _internal_x_intervals_size() const;
2057  public:
2059  private:
2060  ::PROTOBUF_NAMESPACE_ID::int32 _internal_x_intervals(int index) const;
2061  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2062  _internal_x_intervals() const;
2063  void _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2064  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2065  _internal_mutable_x_intervals();
2066  public:
2067  ::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const;
2068  void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2069  void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2070  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2071  x_intervals() const;
2072  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2074 
2075  // repeated int32 y_intervals = 2;
2076  int y_intervals_size() const;
2077  private:
2078  int _internal_y_intervals_size() const;
2079  public:
2081  private:
2082  ::PROTOBUF_NAMESPACE_ID::int32 _internal_y_intervals(int index) const;
2083  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2084  _internal_y_intervals() const;
2085  void _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2086  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2087  _internal_mutable_y_intervals();
2088  public:
2089  ::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const;
2090  void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2091  void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2092  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2093  y_intervals() const;
2094  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2096 
2097  // bool boxes_with_null_area_can_overlap = 3;
2101  private:
2102  bool _internal_boxes_with_null_area_can_overlap() const;
2103  void _internal_set_boxes_with_null_area_can_overlap(bool value);
2104  public:
2105 
2106  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
2107  private:
2108  class _Internal;
2109 
2110  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2111  typedef void InternalArenaConstructable_;
2112  typedef void DestructorSkippable_;
2113  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > x_intervals_;
2114  mutable std::atomic<int> _x_intervals_cached_byte_size_;
2115  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > y_intervals_;
2116  mutable std::atomic<int> _y_intervals_cached_byte_size_;
2117  bool boxes_with_null_area_can_overlap_;
2118  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2119  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2120 };
2121 // -------------------------------------------------------------------
2122 
2123 class CumulativeConstraintProto PROTOBUF_FINAL :
2124  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
2125  public:
2126  inline CumulativeConstraintProto() : CumulativeConstraintProto(nullptr) {};
2128 
2129  CumulativeConstraintProto(const CumulativeConstraintProto& from);
2130  CumulativeConstraintProto(CumulativeConstraintProto&& from) noexcept
2131  : CumulativeConstraintProto() {
2132  *this = ::std::move(from);
2133  }
2134 
2135  inline CumulativeConstraintProto& operator=(const CumulativeConstraintProto& from) {
2136  CopyFrom(from);
2137  return *this;
2138  }
2139  inline CumulativeConstraintProto& operator=(CumulativeConstraintProto&& from) noexcept {
2140  if (GetArena() == from.GetArena()) {
2141  if (this != &from) InternalSwap(&from);
2142  } else {
2143  CopyFrom(from);
2144  }
2145  return *this;
2146  }
2147 
2148  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2149  return GetDescriptor();
2150  }
2151  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2152  return GetMetadataStatic().descriptor;
2153  }
2154  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2155  return GetMetadataStatic().reflection;
2156  }
2157  static const CumulativeConstraintProto& default_instance();
2158 
2159  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2160  static inline const CumulativeConstraintProto* internal_default_instance() {
2161  return reinterpret_cast<const CumulativeConstraintProto*>(
2163  }
2164  static constexpr int kIndexInFileMessages =
2165  11;
2166 
2167  friend void swap(CumulativeConstraintProto& a, CumulativeConstraintProto& b) {
2168  a.Swap(&b);
2169  }
2170  inline void Swap(CumulativeConstraintProto* other) {
2171  if (other == this) return;
2172  if (GetArena() == other->GetArena()) {
2173  InternalSwap(other);
2174  } else {
2175  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2176  }
2177  }
2178  void UnsafeArenaSwap(CumulativeConstraintProto* other) {
2179  if (other == this) return;
2180  GOOGLE_DCHECK(GetArena() == other->GetArena());
2181  InternalSwap(other);
2182  }
2183 
2184  // implements Message ----------------------------------------------
2185 
2186  inline CumulativeConstraintProto* New() const final {
2187  return CreateMaybeMessage<CumulativeConstraintProto>(nullptr);
2188  }
2189 
2190  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2191  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
2192  }
2193  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2194  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2195  void CopyFrom(const CumulativeConstraintProto& from);
2196  void MergeFrom(const CumulativeConstraintProto& from);
2197  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2198  bool IsInitialized() const final;
2199 
2200  size_t ByteSizeLong() const final;
2201  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2202  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2203  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2204  int GetCachedSize() const final { return _cached_size_.Get(); }
2205 
2206  private:
2207  inline void SharedCtor();
2208  inline void SharedDtor();
2209  void SetCachedSize(int size) const final;
2210  void InternalSwap(CumulativeConstraintProto* other);
2211  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2212  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2213  return "operations_research.sat.CumulativeConstraintProto";
2214  }
2215  protected:
2216  explicit CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2217  private:
2218  static void ArenaDtor(void* object);
2219  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2220  public:
2221 
2222  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2223  private:
2224  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2225  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2226  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2227  }
2228 
2229  public:
2230 
2231  // nested types ----------------------------------------------------
2232 
2233  // accessors -------------------------------------------------------
2234 
2235  enum : int {
2236  kIntervalsFieldNumber = 2,
2237  kDemandsFieldNumber = 3,
2238  kCapacityFieldNumber = 1,
2239  };
2240  // repeated int32 intervals = 2;
2241  int intervals_size() const;
2242  private:
2243  int _internal_intervals_size() const;
2244  public:
2246  private:
2247  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
2248  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2249  _internal_intervals() const;
2250  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2251  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2252  _internal_mutable_intervals();
2253  public:
2254  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
2255  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2256  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2257  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2258  intervals() const;
2259  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2261 
2262  // repeated int32 demands = 3;
2263  int demands_size() const;
2264  private:
2265  int _internal_demands_size() const;
2266  public:
2268  private:
2269  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2270  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2271  _internal_demands() const;
2272  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2273  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2274  _internal_mutable_demands();
2275  public:
2276  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
2277  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2278  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2279  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2280  demands() const;
2281  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2283 
2284  // int32 capacity = 1;
2286  ::PROTOBUF_NAMESPACE_ID::int32 capacity() const;
2287  void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2288  private:
2289  ::PROTOBUF_NAMESPACE_ID::int32 _internal_capacity() const;
2290  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2291  public:
2292 
2293  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
2294  private:
2295  class _Internal;
2296 
2297  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2298  typedef void InternalArenaConstructable_;
2299  typedef void DestructorSkippable_;
2300  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
2301  mutable std::atomic<int> _intervals_cached_byte_size_;
2302  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2303  mutable std::atomic<int> _demands_cached_byte_size_;
2304  ::PROTOBUF_NAMESPACE_ID::int32 capacity_;
2305  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2306  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2307 };
2308 // -------------------------------------------------------------------
2309 
2310 class ReservoirConstraintProto PROTOBUF_FINAL :
2311  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
2312  public:
2313  inline ReservoirConstraintProto() : ReservoirConstraintProto(nullptr) {};
2315 
2316  ReservoirConstraintProto(const ReservoirConstraintProto& from);
2317  ReservoirConstraintProto(ReservoirConstraintProto&& from) noexcept
2318  : ReservoirConstraintProto() {
2319  *this = ::std::move(from);
2320  }
2321 
2322  inline ReservoirConstraintProto& operator=(const ReservoirConstraintProto& from) {
2323  CopyFrom(from);
2324  return *this;
2325  }
2326  inline ReservoirConstraintProto& operator=(ReservoirConstraintProto&& from) noexcept {
2327  if (GetArena() == from.GetArena()) {
2328  if (this != &from) InternalSwap(&from);
2329  } else {
2330  CopyFrom(from);
2331  }
2332  return *this;
2333  }
2334 
2335  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2336  return GetDescriptor();
2337  }
2338  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2339  return GetMetadataStatic().descriptor;
2340  }
2341  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2342  return GetMetadataStatic().reflection;
2343  }
2344  static const ReservoirConstraintProto& default_instance();
2345 
2346  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2347  static inline const ReservoirConstraintProto* internal_default_instance() {
2348  return reinterpret_cast<const ReservoirConstraintProto*>(
2350  }
2351  static constexpr int kIndexInFileMessages =
2352  12;
2353 
2354  friend void swap(ReservoirConstraintProto& a, ReservoirConstraintProto& b) {
2355  a.Swap(&b);
2356  }
2357  inline void Swap(ReservoirConstraintProto* other) {
2358  if (other == this) return;
2359  if (GetArena() == other->GetArena()) {
2360  InternalSwap(other);
2361  } else {
2362  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2363  }
2364  }
2365  void UnsafeArenaSwap(ReservoirConstraintProto* other) {
2366  if (other == this) return;
2367  GOOGLE_DCHECK(GetArena() == other->GetArena());
2368  InternalSwap(other);
2369  }
2370 
2371  // implements Message ----------------------------------------------
2372 
2373  inline ReservoirConstraintProto* New() const final {
2374  return CreateMaybeMessage<ReservoirConstraintProto>(nullptr);
2375  }
2376 
2377  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2378  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
2379  }
2380  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2381  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2382  void CopyFrom(const ReservoirConstraintProto& from);
2383  void MergeFrom(const ReservoirConstraintProto& from);
2384  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2385  bool IsInitialized() const final;
2386 
2387  size_t ByteSizeLong() const final;
2388  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2389  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2390  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2391  int GetCachedSize() const final { return _cached_size_.Get(); }
2392 
2393  private:
2394  inline void SharedCtor();
2395  inline void SharedDtor();
2396  void SetCachedSize(int size) const final;
2397  void InternalSwap(ReservoirConstraintProto* other);
2398  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2399  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2400  return "operations_research.sat.ReservoirConstraintProto";
2401  }
2402  protected:
2403  explicit ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2404  private:
2405  static void ArenaDtor(void* object);
2406  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2407  public:
2408 
2409  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2410  private:
2411  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2412  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2413  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2414  }
2415 
2416  public:
2417 
2418  // nested types ----------------------------------------------------
2419 
2420  // accessors -------------------------------------------------------
2421 
2422  enum : int {
2423  kTimesFieldNumber = 3,
2424  kDemandsFieldNumber = 4,
2425  kActivesFieldNumber = 5,
2426  kMinLevelFieldNumber = 1,
2427  kMaxLevelFieldNumber = 2,
2428  };
2429  // repeated int32 times = 3;
2430  int times_size() const;
2431  private:
2432  int _internal_times_size() const;
2433  public:
2434  void clear_times();
2435  private:
2436  ::PROTOBUF_NAMESPACE_ID::int32 _internal_times(int index) const;
2437  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2438  _internal_times() const;
2439  void _internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2440  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2441  _internal_mutable_times();
2442  public:
2443  ::PROTOBUF_NAMESPACE_ID::int32 times(int index) const;
2444  void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2445  void add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2446  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2447  times() const;
2448  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2450 
2451  // repeated int64 demands = 4;
2452  int demands_size() const;
2453  private:
2454  int _internal_demands_size() const;
2455  public:
2457  private:
2458  ::PROTOBUF_NAMESPACE_ID::int64 _internal_demands(int index) const;
2459  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2460  _internal_demands() const;
2461  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2462  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2463  _internal_mutable_demands();
2464  public:
2465  ::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const;
2466  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2467  void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2468  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2469  demands() const;
2470  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2472 
2473  // repeated int32 actives = 5;
2474  int actives_size() const;
2475  private:
2476  int _internal_actives_size() const;
2477  public:
2479  private:
2480  ::PROTOBUF_NAMESPACE_ID::int32 _internal_actives(int index) const;
2481  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2482  _internal_actives() const;
2483  void _internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2484  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2485  _internal_mutable_actives();
2486  public:
2487  ::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const;
2488  void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2489  void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2490  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2491  actives() const;
2492  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2494 
2495  // int64 min_level = 1;
2497  ::PROTOBUF_NAMESPACE_ID::int64 min_level() const;
2498  void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2499  private:
2500  ::PROTOBUF_NAMESPACE_ID::int64 _internal_min_level() const;
2501  void _internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2502  public:
2503 
2504  // int64 max_level = 2;
2506  ::PROTOBUF_NAMESPACE_ID::int64 max_level() const;
2507  void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2508  private:
2509  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_level() const;
2510  void _internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2511  public:
2512 
2513  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
2514  private:
2515  class _Internal;
2516 
2517  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2518  typedef void InternalArenaConstructable_;
2519  typedef void DestructorSkippable_;
2520  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > times_;
2521  mutable std::atomic<int> _times_cached_byte_size_;
2522  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > demands_;
2523  mutable std::atomic<int> _demands_cached_byte_size_;
2524  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > actives_;
2525  mutable std::atomic<int> _actives_cached_byte_size_;
2526  ::PROTOBUF_NAMESPACE_ID::int64 min_level_;
2527  ::PROTOBUF_NAMESPACE_ID::int64 max_level_;
2528  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2529  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2530 };
2531 // -------------------------------------------------------------------
2532 
2533 class CircuitConstraintProto PROTOBUF_FINAL :
2534  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
2535  public:
2536  inline CircuitConstraintProto() : CircuitConstraintProto(nullptr) {};
2538 
2539  CircuitConstraintProto(const CircuitConstraintProto& from);
2540  CircuitConstraintProto(CircuitConstraintProto&& from) noexcept
2541  : CircuitConstraintProto() {
2542  *this = ::std::move(from);
2543  }
2544 
2545  inline CircuitConstraintProto& operator=(const CircuitConstraintProto& from) {
2546  CopyFrom(from);
2547  return *this;
2548  }
2549  inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
2550  if (GetArena() == from.GetArena()) {
2551  if (this != &from) InternalSwap(&from);
2552  } else {
2553  CopyFrom(from);
2554  }
2555  return *this;
2556  }
2557 
2558  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2559  return GetDescriptor();
2560  }
2561  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2562  return GetMetadataStatic().descriptor;
2563  }
2564  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2565  return GetMetadataStatic().reflection;
2566  }
2567  static const CircuitConstraintProto& default_instance();
2568 
2569  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2570  static inline const CircuitConstraintProto* internal_default_instance() {
2571  return reinterpret_cast<const CircuitConstraintProto*>(
2573  }
2574  static constexpr int kIndexInFileMessages =
2575  13;
2576 
2577  friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) {
2578  a.Swap(&b);
2579  }
2580  inline void Swap(CircuitConstraintProto* other) {
2581  if (other == this) return;
2582  if (GetArena() == other->GetArena()) {
2583  InternalSwap(other);
2584  } else {
2585  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2586  }
2587  }
2588  void UnsafeArenaSwap(CircuitConstraintProto* other) {
2589  if (other == this) return;
2590  GOOGLE_DCHECK(GetArena() == other->GetArena());
2591  InternalSwap(other);
2592  }
2593 
2594  // implements Message ----------------------------------------------
2595 
2596  inline CircuitConstraintProto* New() const final {
2597  return CreateMaybeMessage<CircuitConstraintProto>(nullptr);
2598  }
2599 
2600  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2601  return CreateMaybeMessage<CircuitConstraintProto>(arena);
2602  }
2603  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2604  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2605  void CopyFrom(const CircuitConstraintProto& from);
2606  void MergeFrom(const CircuitConstraintProto& from);
2607  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2608  bool IsInitialized() const final;
2609 
2610  size_t ByteSizeLong() const final;
2611  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2612  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2613  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2614  int GetCachedSize() const final { return _cached_size_.Get(); }
2615 
2616  private:
2617  inline void SharedCtor();
2618  inline void SharedDtor();
2619  void SetCachedSize(int size) const final;
2620  void InternalSwap(CircuitConstraintProto* other);
2621  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2622  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2623  return "operations_research.sat.CircuitConstraintProto";
2624  }
2625  protected:
2626  explicit CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2627  private:
2628  static void ArenaDtor(void* object);
2629  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2630  public:
2631 
2632  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2633  private:
2634  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2635  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2636  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2637  }
2638 
2639  public:
2640 
2641  // nested types ----------------------------------------------------
2642 
2643  // accessors -------------------------------------------------------
2644 
2645  enum : int {
2646  kTailsFieldNumber = 3,
2647  kHeadsFieldNumber = 4,
2648  kLiteralsFieldNumber = 5,
2649  };
2650  // repeated int32 tails = 3;
2651  int tails_size() const;
2652  private:
2653  int _internal_tails_size() const;
2654  public:
2655  void clear_tails();
2656  private:
2657  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2658  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2659  _internal_tails() const;
2660  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2661  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2662  _internal_mutable_tails();
2663  public:
2664  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
2665  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2666  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2667  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2668  tails() const;
2669  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2671 
2672  // repeated int32 heads = 4;
2673  int heads_size() const;
2674  private:
2675  int _internal_heads_size() const;
2676  public:
2677  void clear_heads();
2678  private:
2679  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2680  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2681  _internal_heads() const;
2682  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2683  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2684  _internal_mutable_heads();
2685  public:
2686  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
2687  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2688  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2689  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2690  heads() const;
2691  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2693 
2694  // repeated int32 literals = 5;
2695  int literals_size() const;
2696  private:
2697  int _internal_literals_size() const;
2698  public:
2700  private:
2701  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2702  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2703  _internal_literals() const;
2704  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2705  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2706  _internal_mutable_literals();
2707  public:
2708  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
2709  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2710  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2711  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2712  literals() const;
2713  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2715 
2716  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2717  private:
2718  class _Internal;
2719 
2720  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2721  typedef void InternalArenaConstructable_;
2722  typedef void DestructorSkippable_;
2723  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2724  mutable std::atomic<int> _tails_cached_byte_size_;
2725  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2726  mutable std::atomic<int> _heads_cached_byte_size_;
2727  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2728  mutable std::atomic<int> _literals_cached_byte_size_;
2729  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2730  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2731 };
2732 // -------------------------------------------------------------------
2733 
2734 class RoutesConstraintProto PROTOBUF_FINAL :
2735  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2736  public:
2737  inline RoutesConstraintProto() : RoutesConstraintProto(nullptr) {};
2739 
2740  RoutesConstraintProto(const RoutesConstraintProto& from);
2741  RoutesConstraintProto(RoutesConstraintProto&& from) noexcept
2742  : RoutesConstraintProto() {
2743  *this = ::std::move(from);
2744  }
2745 
2746  inline RoutesConstraintProto& operator=(const RoutesConstraintProto& from) {
2747  CopyFrom(from);
2748  return *this;
2749  }
2750  inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
2751  if (GetArena() == from.GetArena()) {
2752  if (this != &from) InternalSwap(&from);
2753  } else {
2754  CopyFrom(from);
2755  }
2756  return *this;
2757  }
2758 
2759  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2760  return GetDescriptor();
2761  }
2762  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2763  return GetMetadataStatic().descriptor;
2764  }
2765  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2766  return GetMetadataStatic().reflection;
2767  }
2768  static const RoutesConstraintProto& default_instance();
2769 
2770  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2771  static inline const RoutesConstraintProto* internal_default_instance() {
2772  return reinterpret_cast<const RoutesConstraintProto*>(
2774  }
2775  static constexpr int kIndexInFileMessages =
2776  14;
2777 
2778  friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) {
2779  a.Swap(&b);
2780  }
2781  inline void Swap(RoutesConstraintProto* other) {
2782  if (other == this) return;
2783  if (GetArena() == other->GetArena()) {
2784  InternalSwap(other);
2785  } else {
2786  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2787  }
2788  }
2789  void UnsafeArenaSwap(RoutesConstraintProto* other) {
2790  if (other == this) return;
2791  GOOGLE_DCHECK(GetArena() == other->GetArena());
2792  InternalSwap(other);
2793  }
2794 
2795  // implements Message ----------------------------------------------
2796 
2797  inline RoutesConstraintProto* New() const final {
2798  return CreateMaybeMessage<RoutesConstraintProto>(nullptr);
2799  }
2800 
2801  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2802  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2803  }
2804  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2805  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2806  void CopyFrom(const RoutesConstraintProto& from);
2807  void MergeFrom(const RoutesConstraintProto& from);
2808  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2809  bool IsInitialized() const final;
2810 
2811  size_t ByteSizeLong() const final;
2812  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2813  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2814  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2815  int GetCachedSize() const final { return _cached_size_.Get(); }
2816 
2817  private:
2818  inline void SharedCtor();
2819  inline void SharedDtor();
2820  void SetCachedSize(int size) const final;
2821  void InternalSwap(RoutesConstraintProto* other);
2822  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2823  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2824  return "operations_research.sat.RoutesConstraintProto";
2825  }
2826  protected:
2827  explicit RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2828  private:
2829  static void ArenaDtor(void* object);
2830  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2831  public:
2832 
2833  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2834  private:
2835  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2836  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2837  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2838  }
2839 
2840  public:
2841 
2842  // nested types ----------------------------------------------------
2843 
2844  // accessors -------------------------------------------------------
2845 
2846  enum : int {
2847  kTailsFieldNumber = 1,
2848  kHeadsFieldNumber = 2,
2849  kLiteralsFieldNumber = 3,
2850  kDemandsFieldNumber = 4,
2851  kCapacityFieldNumber = 5,
2852  };
2853  // repeated int32 tails = 1;
2854  int tails_size() const;
2855  private:
2856  int _internal_tails_size() const;
2857  public:
2858  void clear_tails();
2859  private:
2860  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2861  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2862  _internal_tails() const;
2863  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2864  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2865  _internal_mutable_tails();
2866  public:
2867  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
2868  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2869  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2870  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2871  tails() const;
2872  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2874 
2875  // repeated int32 heads = 2;
2876  int heads_size() const;
2877  private:
2878  int _internal_heads_size() const;
2879  public:
2880  void clear_heads();
2881  private:
2882  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2883  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2884  _internal_heads() const;
2885  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2886  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2887  _internal_mutable_heads();
2888  public:
2889  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
2890  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2891  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2892  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2893  heads() const;
2894  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2896 
2897  // repeated int32 literals = 3;
2898  int literals_size() const;
2899  private:
2900  int _internal_literals_size() const;
2901  public:
2903  private:
2904  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2905  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2906  _internal_literals() const;
2907  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2908  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2909  _internal_mutable_literals();
2910  public:
2911  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
2912  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2913  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2914  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2915  literals() const;
2916  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2918 
2919  // repeated int32 demands = 4;
2920  int demands_size() const;
2921  private:
2922  int _internal_demands_size() const;
2923  public:
2925  private:
2926  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2927  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2928  _internal_demands() const;
2929  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2930  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2931  _internal_mutable_demands();
2932  public:
2933  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
2934  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2935  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2936  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2937  demands() const;
2938  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2940 
2941  // int64 capacity = 5;
2943  ::PROTOBUF_NAMESPACE_ID::int64 capacity() const;
2944  void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
2945  private:
2946  ::PROTOBUF_NAMESPACE_ID::int64 _internal_capacity() const;
2947  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
2948  public:
2949 
2950  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
2951  private:
2952  class _Internal;
2953 
2954  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2955  typedef void InternalArenaConstructable_;
2956  typedef void DestructorSkippable_;
2957  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2958  mutable std::atomic<int> _tails_cached_byte_size_;
2959  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2960  mutable std::atomic<int> _heads_cached_byte_size_;
2961  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2962  mutable std::atomic<int> _literals_cached_byte_size_;
2963  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2964  mutable std::atomic<int> _demands_cached_byte_size_;
2965  ::PROTOBUF_NAMESPACE_ID::int64 capacity_;
2966  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2967  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2968 };
2969 // -------------------------------------------------------------------
2970 
2971 class CircuitCoveringConstraintProto PROTOBUF_FINAL :
2972  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitCoveringConstraintProto) */ {
2973  public:
2974  inline CircuitCoveringConstraintProto() : CircuitCoveringConstraintProto(nullptr) {};
2976 
2977  CircuitCoveringConstraintProto(const CircuitCoveringConstraintProto& from);
2978  CircuitCoveringConstraintProto(CircuitCoveringConstraintProto&& from) noexcept
2979  : CircuitCoveringConstraintProto() {
2980  *this = ::std::move(from);
2981  }
2982 
2983  inline CircuitCoveringConstraintProto& operator=(const CircuitCoveringConstraintProto& from) {
2984  CopyFrom(from);
2985  return *this;
2986  }
2987  inline CircuitCoveringConstraintProto& operator=(CircuitCoveringConstraintProto&& from) noexcept {
2988  if (GetArena() == from.GetArena()) {
2989  if (this != &from) InternalSwap(&from);
2990  } else {
2991  CopyFrom(from);
2992  }
2993  return *this;
2994  }
2995 
2996  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2997  return GetDescriptor();
2998  }
2999  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3000  return GetMetadataStatic().descriptor;
3001  }
3002  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3003  return GetMetadataStatic().reflection;
3004  }
3005  static const CircuitCoveringConstraintProto& default_instance();
3006 
3007  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3008  static inline const CircuitCoveringConstraintProto* internal_default_instance() {
3009  return reinterpret_cast<const CircuitCoveringConstraintProto*>(
3011  }
3012  static constexpr int kIndexInFileMessages =
3013  15;
3014 
3015  friend void swap(CircuitCoveringConstraintProto& a, CircuitCoveringConstraintProto& b) {
3016  a.Swap(&b);
3017  }
3018  inline void Swap(CircuitCoveringConstraintProto* other) {
3019  if (other == this) return;
3020  if (GetArena() == other->GetArena()) {
3021  InternalSwap(other);
3022  } else {
3023  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3024  }
3025  }
3026  void UnsafeArenaSwap(CircuitCoveringConstraintProto* other) {
3027  if (other == this) return;
3028  GOOGLE_DCHECK(GetArena() == other->GetArena());
3029  InternalSwap(other);
3030  }
3031 
3032  // implements Message ----------------------------------------------
3033 
3034  inline CircuitCoveringConstraintProto* New() const final {
3035  return CreateMaybeMessage<CircuitCoveringConstraintProto>(nullptr);
3036  }
3037 
3038  CircuitCoveringConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3039  return CreateMaybeMessage<CircuitCoveringConstraintProto>(arena);
3040  }
3041  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3042  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3043  void CopyFrom(const CircuitCoveringConstraintProto& from);
3044  void MergeFrom(const CircuitCoveringConstraintProto& from);
3045  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3046  bool IsInitialized() const final;
3047 
3048  size_t ByteSizeLong() const final;
3049  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3050  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3051  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3052  int GetCachedSize() const final { return _cached_size_.Get(); }
3053 
3054  private:
3055  inline void SharedCtor();
3056  inline void SharedDtor();
3057  void SetCachedSize(int size) const final;
3058  void InternalSwap(CircuitCoveringConstraintProto* other);
3059  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3060  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3061  return "operations_research.sat.CircuitCoveringConstraintProto";
3062  }
3063  protected:
3064  explicit CircuitCoveringConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3065  private:
3066  static void ArenaDtor(void* object);
3067  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3068  public:
3069 
3070  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3071  private:
3072  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3073  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3074  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3075  }
3076 
3077  public:
3078 
3079  // nested types ----------------------------------------------------
3080 
3081  // accessors -------------------------------------------------------
3082 
3083  enum : int {
3084  kNextsFieldNumber = 1,
3085  kDistinguishedNodesFieldNumber = 2,
3086  };
3087  // repeated int32 nexts = 1;
3088  int nexts_size() const;
3089  private:
3090  int _internal_nexts_size() const;
3091  public:
3092  void clear_nexts();
3093  private:
3094  ::PROTOBUF_NAMESPACE_ID::int32 _internal_nexts(int index) const;
3095  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3096  _internal_nexts() const;
3097  void _internal_add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value);
3098  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3099  _internal_mutable_nexts();
3100  public:
3101  ::PROTOBUF_NAMESPACE_ID::int32 nexts(int index) const;
3102  void set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3103  void add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value);
3104  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3105  nexts() const;
3106  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3108 
3109  // repeated int64 distinguished_nodes = 2;
3111  private:
3112  int _internal_distinguished_nodes_size() const;
3113  public:
3115  private:
3116  ::PROTOBUF_NAMESPACE_ID::int64 _internal_distinguished_nodes(int index) const;
3117  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3118  _internal_distinguished_nodes() const;
3119  void _internal_add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value);
3120  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3121  _internal_mutable_distinguished_nodes();
3122  public:
3123  ::PROTOBUF_NAMESPACE_ID::int64 distinguished_nodes(int index) const;
3124  void set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3125  void add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value);
3126  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3128  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3130 
3131  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitCoveringConstraintProto)
3132  private:
3133  class _Internal;
3134 
3135  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3136  typedef void InternalArenaConstructable_;
3137  typedef void DestructorSkippable_;
3138  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > nexts_;
3139  mutable std::atomic<int> _nexts_cached_byte_size_;
3140  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > distinguished_nodes_;
3141  mutable std::atomic<int> _distinguished_nodes_cached_byte_size_;
3142  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3143  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3144 };
3145 // -------------------------------------------------------------------
3146 
3147 class TableConstraintProto PROTOBUF_FINAL :
3148  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3149  public:
3150  inline TableConstraintProto() : TableConstraintProto(nullptr) {};
3152 
3153  TableConstraintProto(const TableConstraintProto& from);
3154  TableConstraintProto(TableConstraintProto&& from) noexcept
3155  : TableConstraintProto() {
3156  *this = ::std::move(from);
3157  }
3158 
3159  inline TableConstraintProto& operator=(const TableConstraintProto& from) {
3160  CopyFrom(from);
3161  return *this;
3162  }
3163  inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
3164  if (GetArena() == from.GetArena()) {
3165  if (this != &from) InternalSwap(&from);
3166  } else {
3167  CopyFrom(from);
3168  }
3169  return *this;
3170  }
3171 
3172  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3173  return GetDescriptor();
3174  }
3175  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3176  return GetMetadataStatic().descriptor;
3177  }
3178  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3179  return GetMetadataStatic().reflection;
3180  }
3181  static const TableConstraintProto& default_instance();
3182 
3183  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3184  static inline const TableConstraintProto* internal_default_instance() {
3185  return reinterpret_cast<const TableConstraintProto*>(
3187  }
3188  static constexpr int kIndexInFileMessages =
3189  16;
3190 
3191  friend void swap(TableConstraintProto& a, TableConstraintProto& b) {
3192  a.Swap(&b);
3193  }
3194  inline void Swap(TableConstraintProto* other) {
3195  if (other == this) return;
3196  if (GetArena() == other->GetArena()) {
3197  InternalSwap(other);
3198  } else {
3199  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3200  }
3201  }
3202  void UnsafeArenaSwap(TableConstraintProto* other) {
3203  if (other == this) return;
3204  GOOGLE_DCHECK(GetArena() == other->GetArena());
3205  InternalSwap(other);
3206  }
3207 
3208  // implements Message ----------------------------------------------
3209 
3210  inline TableConstraintProto* New() const final {
3211  return CreateMaybeMessage<TableConstraintProto>(nullptr);
3212  }
3213 
3214  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3215  return CreateMaybeMessage<TableConstraintProto>(arena);
3216  }
3217  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3218  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3219  void CopyFrom(const TableConstraintProto& from);
3220  void MergeFrom(const TableConstraintProto& from);
3221  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3222  bool IsInitialized() const final;
3223 
3224  size_t ByteSizeLong() const final;
3225  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3226  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3227  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3228  int GetCachedSize() const final { return _cached_size_.Get(); }
3229 
3230  private:
3231  inline void SharedCtor();
3232  inline void SharedDtor();
3233  void SetCachedSize(int size) const final;
3234  void InternalSwap(TableConstraintProto* other);
3235  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3236  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3237  return "operations_research.sat.TableConstraintProto";
3238  }
3239  protected:
3240  explicit TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3241  private:
3242  static void ArenaDtor(void* object);
3243  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3244  public:
3245 
3246  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3247  private:
3248  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3249  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3250  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3251  }
3252 
3253  public:
3254 
3255  // nested types ----------------------------------------------------
3256 
3257  // accessors -------------------------------------------------------
3258 
3259  enum : int {
3260  kVarsFieldNumber = 1,
3261  kValuesFieldNumber = 2,
3262  kNegatedFieldNumber = 3,
3263  };
3264  // repeated int32 vars = 1;
3265  int vars_size() const;
3266  private:
3267  int _internal_vars_size() const;
3268  public:
3269  void clear_vars();
3270  private:
3271  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3272  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3273  _internal_vars() const;
3274  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3275  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3276  _internal_mutable_vars();
3277  public:
3278  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3279  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3280  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3281  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3282  vars() const;
3283  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3285 
3286  // repeated int64 values = 2;
3287  int values_size() const;
3288  private:
3289  int _internal_values_size() const;
3290  public:
3292  private:
3293  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
3294  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3295  _internal_values() const;
3296  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3297  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3298  _internal_mutable_values();
3299  public:
3300  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
3301  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3302  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3303  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3304  values() const;
3305  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3307 
3308  // bool negated = 3;
3310  bool negated() const;
3311  void set_negated(bool value);
3312  private:
3313  bool _internal_negated() const;
3314  void _internal_set_negated(bool value);
3315  public:
3316 
3317  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3318  private:
3319  class _Internal;
3320 
3321  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3322  typedef void InternalArenaConstructable_;
3323  typedef void DestructorSkippable_;
3324  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3325  mutable std::atomic<int> _vars_cached_byte_size_;
3326  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
3327  mutable std::atomic<int> _values_cached_byte_size_;
3328  bool negated_;
3329  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3330  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3331 };
3332 // -------------------------------------------------------------------
3333 
3334 class InverseConstraintProto PROTOBUF_FINAL :
3335  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
3336  public:
3337  inline InverseConstraintProto() : InverseConstraintProto(nullptr) {};
3339 
3340  InverseConstraintProto(const InverseConstraintProto& from);
3341  InverseConstraintProto(InverseConstraintProto&& from) noexcept
3342  : InverseConstraintProto() {
3343  *this = ::std::move(from);
3344  }
3345 
3346  inline InverseConstraintProto& operator=(const InverseConstraintProto& from) {
3347  CopyFrom(from);
3348  return *this;
3349  }
3350  inline InverseConstraintProto& operator=(InverseConstraintProto&& from) noexcept {
3351  if (GetArena() == from.GetArena()) {
3352  if (this != &from) InternalSwap(&from);
3353  } else {
3354  CopyFrom(from);
3355  }
3356  return *this;
3357  }
3358 
3359  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3360  return GetDescriptor();
3361  }
3362  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3363  return GetMetadataStatic().descriptor;
3364  }
3365  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3366  return GetMetadataStatic().reflection;
3367  }
3368  static const InverseConstraintProto& default_instance();
3369 
3370  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3371  static inline const InverseConstraintProto* internal_default_instance() {
3372  return reinterpret_cast<const InverseConstraintProto*>(
3374  }
3375  static constexpr int kIndexInFileMessages =
3376  17;
3377 
3378  friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) {
3379  a.Swap(&b);
3380  }
3381  inline void Swap(InverseConstraintProto* other) {
3382  if (other == this) return;
3383  if (GetArena() == other->GetArena()) {
3384  InternalSwap(other);
3385  } else {
3386  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3387  }
3388  }
3389  void UnsafeArenaSwap(InverseConstraintProto* other) {
3390  if (other == this) return;
3391  GOOGLE_DCHECK(GetArena() == other->GetArena());
3392  InternalSwap(other);
3393  }
3394 
3395  // implements Message ----------------------------------------------
3396 
3397  inline InverseConstraintProto* New() const final {
3398  return CreateMaybeMessage<InverseConstraintProto>(nullptr);
3399  }
3400 
3401  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3402  return CreateMaybeMessage<InverseConstraintProto>(arena);
3403  }
3404  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3405  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3406  void CopyFrom(const InverseConstraintProto& from);
3407  void MergeFrom(const InverseConstraintProto& from);
3408  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3409  bool IsInitialized() const final;
3410 
3411  size_t ByteSizeLong() const final;
3412  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3413  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3414  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3415  int GetCachedSize() const final { return _cached_size_.Get(); }
3416 
3417  private:
3418  inline void SharedCtor();
3419  inline void SharedDtor();
3420  void SetCachedSize(int size) const final;
3421  void InternalSwap(InverseConstraintProto* other);
3422  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3423  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3424  return "operations_research.sat.InverseConstraintProto";
3425  }
3426  protected:
3427  explicit InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3428  private:
3429  static void ArenaDtor(void* object);
3430  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3431  public:
3432 
3433  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3434  private:
3435  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3436  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3437  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3438  }
3439 
3440  public:
3441 
3442  // nested types ----------------------------------------------------
3443 
3444  // accessors -------------------------------------------------------
3445 
3446  enum : int {
3447  kFDirectFieldNumber = 1,
3448  kFInverseFieldNumber = 2,
3449  };
3450  // repeated int32 f_direct = 1;
3451  int f_direct_size() const;
3452  private:
3453  int _internal_f_direct_size() const;
3454  public:
3456  private:
3457  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_direct(int index) const;
3458  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3459  _internal_f_direct() const;
3460  void _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3461  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3462  _internal_mutable_f_direct();
3463  public:
3464  ::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const;
3465  void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3466  void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3467  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3468  f_direct() const;
3469  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3471 
3472  // repeated int32 f_inverse = 2;
3473  int f_inverse_size() const;
3474  private:
3475  int _internal_f_inverse_size() const;
3476  public:
3478  private:
3479  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_inverse(int index) const;
3480  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3481  _internal_f_inverse() const;
3482  void _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3483  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3484  _internal_mutable_f_inverse();
3485  public:
3486  ::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const;
3487  void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3488  void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3489  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3490  f_inverse() const;
3491  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3493 
3494  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
3495  private:
3496  class _Internal;
3497 
3498  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3499  typedef void InternalArenaConstructable_;
3500  typedef void DestructorSkippable_;
3501  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_direct_;
3502  mutable std::atomic<int> _f_direct_cached_byte_size_;
3503  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_inverse_;
3504  mutable std::atomic<int> _f_inverse_cached_byte_size_;
3505  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3506  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3507 };
3508 // -------------------------------------------------------------------
3509 
3510 class AutomatonConstraintProto PROTOBUF_FINAL :
3511  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
3512  public:
3513  inline AutomatonConstraintProto() : AutomatonConstraintProto(nullptr) {};
3515 
3516  AutomatonConstraintProto(const AutomatonConstraintProto& from);
3517  AutomatonConstraintProto(AutomatonConstraintProto&& from) noexcept
3518  : AutomatonConstraintProto() {
3519  *this = ::std::move(from);
3520  }
3521 
3522  inline AutomatonConstraintProto& operator=(const AutomatonConstraintProto& from) {
3523  CopyFrom(from);
3524  return *this;
3525  }
3526  inline AutomatonConstraintProto& operator=(AutomatonConstraintProto&& from) noexcept {
3527  if (GetArena() == from.GetArena()) {
3528  if (this != &from) InternalSwap(&from);
3529  } else {
3530  CopyFrom(from);
3531  }
3532  return *this;
3533  }
3534 
3535  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3536  return GetDescriptor();
3537  }
3538  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3539  return GetMetadataStatic().descriptor;
3540  }
3541  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3542  return GetMetadataStatic().reflection;
3543  }
3544  static const AutomatonConstraintProto& default_instance();
3545 
3546  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3547  static inline const AutomatonConstraintProto* internal_default_instance() {
3548  return reinterpret_cast<const AutomatonConstraintProto*>(
3550  }
3551  static constexpr int kIndexInFileMessages =
3552  18;
3553 
3554  friend void swap(AutomatonConstraintProto& a, AutomatonConstraintProto& b) {
3555  a.Swap(&b);
3556  }
3557  inline void Swap(AutomatonConstraintProto* other) {
3558  if (other == this) return;
3559  if (GetArena() == other->GetArena()) {
3560  InternalSwap(other);
3561  } else {
3562  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3563  }
3564  }
3565  void UnsafeArenaSwap(AutomatonConstraintProto* other) {
3566  if (other == this) return;
3567  GOOGLE_DCHECK(GetArena() == other->GetArena());
3568  InternalSwap(other);
3569  }
3570 
3571  // implements Message ----------------------------------------------
3572 
3573  inline AutomatonConstraintProto* New() const final {
3574  return CreateMaybeMessage<AutomatonConstraintProto>(nullptr);
3575  }
3576 
3577  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3578  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
3579  }
3580  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3581  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3582  void CopyFrom(const AutomatonConstraintProto& from);
3583  void MergeFrom(const AutomatonConstraintProto& from);
3584  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3585  bool IsInitialized() const final;
3586 
3587  size_t ByteSizeLong() const final;
3588  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3589  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3590  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3591  int GetCachedSize() const final { return _cached_size_.Get(); }
3592 
3593  private:
3594  inline void SharedCtor();
3595  inline void SharedDtor();
3596  void SetCachedSize(int size) const final;
3597  void InternalSwap(AutomatonConstraintProto* other);
3598  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3599  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3600  return "operations_research.sat.AutomatonConstraintProto";
3601  }
3602  protected:
3603  explicit AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3604  private:
3605  static void ArenaDtor(void* object);
3606  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3607  public:
3608 
3609  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3610  private:
3611  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3612  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3613  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3614  }
3615 
3616  public:
3617 
3618  // nested types ----------------------------------------------------
3619 
3620  // accessors -------------------------------------------------------
3621 
3622  enum : int {
3623  kFinalStatesFieldNumber = 3,
3624  kTransitionTailFieldNumber = 4,
3625  kTransitionHeadFieldNumber = 5,
3626  kTransitionLabelFieldNumber = 6,
3627  kVarsFieldNumber = 7,
3628  kStartingStateFieldNumber = 2,
3629  };
3630  // repeated int64 final_states = 3;
3631  int final_states_size() const;
3632  private:
3633  int _internal_final_states_size() const;
3634  public:
3636  private:
3637  ::PROTOBUF_NAMESPACE_ID::int64 _internal_final_states(int index) const;
3638  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3639  _internal_final_states() const;
3640  void _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3641  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3642  _internal_mutable_final_states();
3643  public:
3644  ::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const;
3645  void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3646  void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3647  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3648  final_states() const;
3649  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3651 
3652  // repeated int64 transition_tail = 4;
3654  private:
3655  int _internal_transition_tail_size() const;
3656  public:
3658  private:
3659  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_tail(int index) const;
3660  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3661  _internal_transition_tail() const;
3662  void _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3663  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3664  _internal_mutable_transition_tail();
3665  public:
3666  ::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const;
3667  void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3668  void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3669  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3671  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3673 
3674  // repeated int64 transition_head = 5;
3676  private:
3677  int _internal_transition_head_size() const;
3678  public:
3680  private:
3681  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_head(int index) const;
3682  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3683  _internal_transition_head() const;
3684  void _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3685  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3686  _internal_mutable_transition_head();
3687  public:
3688  ::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const;
3689  void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3690  void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3691  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3693  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3695 
3696  // repeated int64 transition_label = 6;
3698  private:
3699  int _internal_transition_label_size() const;
3700  public:
3702  private:
3703  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_label(int index) const;
3704  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3705  _internal_transition_label() const;
3706  void _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3707  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3708  _internal_mutable_transition_label();
3709  public:
3710  ::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const;
3711  void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3712  void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3713  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3715  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3717 
3718  // repeated int32 vars = 7;
3719  int vars_size() const;
3720  private:
3721  int _internal_vars_size() const;
3722  public:
3723  void clear_vars();
3724  private:
3725  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3726  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3727  _internal_vars() const;
3728  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3729  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3730  _internal_mutable_vars();
3731  public:
3732  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3733  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3734  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3735  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3736  vars() const;
3737  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3739 
3740  // int64 starting_state = 2;
3742  ::PROTOBUF_NAMESPACE_ID::int64 starting_state() const;
3743  void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3744  private:
3745  ::PROTOBUF_NAMESPACE_ID::int64 _internal_starting_state() const;
3746  void _internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3747  public:
3748 
3749  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
3750  private:
3751  class _Internal;
3752 
3753  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3754  typedef void InternalArenaConstructable_;
3755  typedef void DestructorSkippable_;
3756  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > final_states_;
3757  mutable std::atomic<int> _final_states_cached_byte_size_;
3758  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_tail_;
3759  mutable std::atomic<int> _transition_tail_cached_byte_size_;
3760  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_head_;
3761  mutable std::atomic<int> _transition_head_cached_byte_size_;
3762  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_label_;
3763  mutable std::atomic<int> _transition_label_cached_byte_size_;
3764  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3765  mutable std::atomic<int> _vars_cached_byte_size_;
3766  ::PROTOBUF_NAMESPACE_ID::int64 starting_state_;
3767  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3768  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3769 };
3770 // -------------------------------------------------------------------
3771 
3772 class ConstraintProto PROTOBUF_FINAL :
3773  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
3774  public:
3775  inline ConstraintProto() : ConstraintProto(nullptr) {};
3776  virtual ~ConstraintProto();
3777 
3778  ConstraintProto(const ConstraintProto& from);
3779  ConstraintProto(ConstraintProto&& from) noexcept
3780  : ConstraintProto() {
3781  *this = ::std::move(from);
3782  }
3783 
3784  inline ConstraintProto& operator=(const ConstraintProto& from) {
3785  CopyFrom(from);
3786  return *this;
3787  }
3788  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
3789  if (GetArena() == from.GetArena()) {
3790  if (this != &from) InternalSwap(&from);
3791  } else {
3792  CopyFrom(from);
3793  }
3794  return *this;
3795  }
3796 
3797  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3798  return GetDescriptor();
3799  }
3800  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3801  return GetMetadataStatic().descriptor;
3802  }
3803  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3804  return GetMetadataStatic().reflection;
3805  }
3806  static const ConstraintProto& default_instance();
3807 
3809  kBoolOr = 3,
3810  kBoolAnd = 4,
3811  kAtMostOne = 26,
3812  kBoolXor = 5,
3813  kIntDiv = 7,
3814  kIntMod = 8,
3815  kIntMax = 9,
3816  kLinMax = 27,
3817  kIntMin = 10,
3818  kLinMin = 28,
3819  kIntProd = 11,
3820  kLinear = 12,
3821  kAllDiff = 13,
3822  kElement = 14,
3823  kCircuit = 15,
3824  kRoutes = 23,
3825  kCircuitCovering = 25,
3826  kTable = 16,
3827  kAutomaton = 17,
3828  kInverse = 18,
3829  kReservoir = 24,
3830  kInterval = 19,
3831  kNoOverlap = 20,
3832  kNoOverlap2D = 21,
3833  kCumulative = 22,
3834  CONSTRAINT_NOT_SET = 0,
3835  };
3836 
3837  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3838  static inline const ConstraintProto* internal_default_instance() {
3839  return reinterpret_cast<const ConstraintProto*>(
3841  }
3842  static constexpr int kIndexInFileMessages =
3843  19;
3844 
3845  friend void swap(ConstraintProto& a, ConstraintProto& b) {
3846  a.Swap(&b);
3847  }
3848  inline void Swap(ConstraintProto* other) {
3849  if (other == this) return;
3850  if (GetArena() == other->GetArena()) {
3851  InternalSwap(other);
3852  } else {
3853  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3854  }
3855  }
3856  void UnsafeArenaSwap(ConstraintProto* other) {
3857  if (other == this) return;
3858  GOOGLE_DCHECK(GetArena() == other->GetArena());
3859  InternalSwap(other);
3860  }
3861 
3862  // implements Message ----------------------------------------------
3863 
3864  inline ConstraintProto* New() const final {
3865  return CreateMaybeMessage<ConstraintProto>(nullptr);
3866  }
3867 
3868  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3869  return CreateMaybeMessage<ConstraintProto>(arena);
3870  }
3871  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3872  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3873  void CopyFrom(const ConstraintProto& from);
3874  void MergeFrom(const ConstraintProto& from);
3875  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3876  bool IsInitialized() const final;
3877 
3878  size_t ByteSizeLong() const final;
3879  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3880  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3881  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3882  int GetCachedSize() const final { return _cached_size_.Get(); }
3883 
3884  private:
3885  inline void SharedCtor();
3886  inline void SharedDtor();
3887  void SetCachedSize(int size) const final;
3888  void InternalSwap(ConstraintProto* other);
3889  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3890  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3891  return "operations_research.sat.ConstraintProto";
3892  }
3893  protected:
3894  explicit ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3895  private:
3896  static void ArenaDtor(void* object);
3897  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3898  public:
3899 
3900  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3901  private:
3902  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3903  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3904  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3905  }
3906 
3907  public:
3908 
3909  // nested types ----------------------------------------------------
3910 
3911  // accessors -------------------------------------------------------
3912 
3913  enum : int {
3914  kEnforcementLiteralFieldNumber = 2,
3915  kNameFieldNumber = 1,
3916  kBoolOrFieldNumber = 3,
3917  kBoolAndFieldNumber = 4,
3918  kAtMostOneFieldNumber = 26,
3919  kBoolXorFieldNumber = 5,
3920  kIntDivFieldNumber = 7,
3921  kIntModFieldNumber = 8,
3922  kIntMaxFieldNumber = 9,
3923  kLinMaxFieldNumber = 27,
3924  kIntMinFieldNumber = 10,
3925  kLinMinFieldNumber = 28,
3926  kIntProdFieldNumber = 11,
3927  kLinearFieldNumber = 12,
3928  kAllDiffFieldNumber = 13,
3929  kElementFieldNumber = 14,
3930  kCircuitFieldNumber = 15,
3931  kRoutesFieldNumber = 23,
3932  kCircuitCoveringFieldNumber = 25,
3933  kTableFieldNumber = 16,
3934  kAutomatonFieldNumber = 17,
3935  kInverseFieldNumber = 18,
3936  kReservoirFieldNumber = 24,
3937  kIntervalFieldNumber = 19,
3938  kNoOverlapFieldNumber = 20,
3939  kNoOverlap2DFieldNumber = 21,
3940  kCumulativeFieldNumber = 22,
3941  };
3942  // repeated int32 enforcement_literal = 2;
3944  private:
3945  int _internal_enforcement_literal_size() const;
3946  public:
3948  private:
3949  ::PROTOBUF_NAMESPACE_ID::int32 _internal_enforcement_literal(int index) const;
3950  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3951  _internal_enforcement_literal() const;
3952  void _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
3953  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3954  _internal_mutable_enforcement_literal();
3955  public:
3956  ::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const;
3957  void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3958  void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
3959  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3961  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3963 
3964  // string name = 1;
3965  void clear_name();
3966  const std::string& name() const;
3967  void set_name(const std::string& value);
3968  void set_name(std::string&& value);
3969  void set_name(const char* value);
3970  void set_name(const char* value, size_t size);
3971  std::string* mutable_name();
3972  std::string* release_name();
3973  void set_allocated_name(std::string* name);
3974  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
3975  " string fields are deprecated and will be removed in a"
3976  " future release.")
3977  std::string* unsafe_arena_release_name();
3978  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
3979  " string fields are deprecated and will be removed in a"
3980  " future release.")
3981  void unsafe_arena_set_allocated_name(
3982  std::string* name);
3983  private:
3984  const std::string& _internal_name() const;
3985  void _internal_set_name(const std::string& value);
3986  std::string* _internal_mutable_name();
3987  public:
3988 
3989  // .operations_research.sat.BoolArgumentProto bool_or = 3;
3990  bool has_bool_or() const;
3991  private:
3992  bool _internal_has_bool_or() const;
3993  public:
3994  void clear_bool_or();
3995  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
3996  ::operations_research::sat::BoolArgumentProto* release_bool_or();
3997  ::operations_research::sat::BoolArgumentProto* mutable_bool_or();
3998  void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or);
3999  private:
4000  const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
4001  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_or();
4002  public:
4003  void unsafe_arena_set_allocated_bool_or(
4004  ::operations_research::sat::BoolArgumentProto* bool_or);
4005  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_or();
4006 
4007  // .operations_research.sat.BoolArgumentProto bool_and = 4;
4008  bool has_bool_and() const;
4009  private:
4010  bool _internal_has_bool_and() const;
4011  public:
4012  void clear_bool_and();
4013  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
4014  ::operations_research::sat::BoolArgumentProto* release_bool_and();
4015  ::operations_research::sat::BoolArgumentProto* mutable_bool_and();
4016  void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and);
4017  private:
4018  const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
4019  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_and();
4020  public:
4021  void unsafe_arena_set_allocated_bool_and(
4022  ::operations_research::sat::BoolArgumentProto* bool_and);
4023  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_and();
4024 
4025  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
4026  bool has_at_most_one() const;
4027  private:
4028  bool _internal_has_at_most_one() const;
4029  public:
4030  void clear_at_most_one();
4031  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
4032  ::operations_research::sat::BoolArgumentProto* release_at_most_one();
4033  ::operations_research::sat::BoolArgumentProto* mutable_at_most_one();
4034  void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one);
4035  private:
4036  const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
4037  ::operations_research::sat::BoolArgumentProto* _internal_mutable_at_most_one();
4038  public:
4039  void unsafe_arena_set_allocated_at_most_one(
4040  ::operations_research::sat::BoolArgumentProto* at_most_one);
4041  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_at_most_one();
4042 
4043  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
4044  bool has_bool_xor() const;
4045  private:
4046  bool _internal_has_bool_xor() const;
4047  public:
4048  void clear_bool_xor();
4049  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
4050  ::operations_research::sat::BoolArgumentProto* release_bool_xor();
4051  ::operations_research::sat::BoolArgumentProto* mutable_bool_xor();
4052  void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor);
4053  private:
4054  const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
4055  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_xor();
4056  public:
4057  void unsafe_arena_set_allocated_bool_xor(
4058  ::operations_research::sat::BoolArgumentProto* bool_xor);
4059  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_xor();
4060 
4061  // .operations_research.sat.IntegerArgumentProto int_div = 7;
4062  bool has_int_div() const;
4063  private:
4064  bool _internal_has_int_div() const;
4065  public:
4066  void clear_int_div();
4067  const ::operations_research::sat::IntegerArgumentProto& int_div() const;
4068  ::operations_research::sat::IntegerArgumentProto* release_int_div();
4069  ::operations_research::sat::IntegerArgumentProto* mutable_int_div();
4070  void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div);
4071  private:
4072  const ::operations_research::sat::IntegerArgumentProto& _internal_int_div() const;
4073  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_div();
4074  public:
4075  void unsafe_arena_set_allocated_int_div(
4076  ::operations_research::sat::IntegerArgumentProto* int_div);
4077  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_div();
4078 
4079  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
4080  bool has_int_mod() const;
4081  private:
4082  bool _internal_has_int_mod() const;
4083  public:
4084  void clear_int_mod();
4085  const ::operations_research::sat::IntegerArgumentProto& int_mod() const;
4086  ::operations_research::sat::IntegerArgumentProto* release_int_mod();
4087  ::operations_research::sat::IntegerArgumentProto* mutable_int_mod();
4088  void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod);
4089  private:
4090  const ::operations_research::sat::IntegerArgumentProto& _internal_int_mod() const;
4091  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_mod();
4092  public:
4093  void unsafe_arena_set_allocated_int_mod(
4094  ::operations_research::sat::IntegerArgumentProto* int_mod);
4095  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_mod();
4096 
4097  // .operations_research.sat.IntegerArgumentProto int_max = 9;
4098  bool has_int_max() const;
4099  private:
4100  bool _internal_has_int_max() const;
4101  public:
4102  void clear_int_max();
4103  const ::operations_research::sat::IntegerArgumentProto& int_max() const;
4104  ::operations_research::sat::IntegerArgumentProto* release_int_max();
4105  ::operations_research::sat::IntegerArgumentProto* mutable_int_max();
4106  void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max);
4107  private:
4108  const ::operations_research::sat::IntegerArgumentProto& _internal_int_max() const;
4109  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_max();
4110  public:
4111  void unsafe_arena_set_allocated_int_max(
4112  ::operations_research::sat::IntegerArgumentProto* int_max);
4113  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_max();
4114 
4115  // .operations_research.sat.LinearArgumentProto lin_max = 27;
4116  bool has_lin_max() const;
4117  private:
4118  bool _internal_has_lin_max() const;
4119  public:
4120  void clear_lin_max();
4121  const ::operations_research::sat::LinearArgumentProto& lin_max() const;
4122  ::operations_research::sat::LinearArgumentProto* release_lin_max();
4123  ::operations_research::sat::LinearArgumentProto* mutable_lin_max();
4124  void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max);
4125  private:
4126  const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
4127  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_max();
4128  public:
4129  void unsafe_arena_set_allocated_lin_max(
4130  ::operations_research::sat::LinearArgumentProto* lin_max);
4131  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_max();
4132 
4133  // .operations_research.sat.IntegerArgumentProto int_min = 10;
4134  bool has_int_min() const;
4135  private:
4136  bool _internal_has_int_min() const;
4137  public:
4138  void clear_int_min();
4139  const ::operations_research::sat::IntegerArgumentProto& int_min() const;
4140  ::operations_research::sat::IntegerArgumentProto* release_int_min();
4141  ::operations_research::sat::IntegerArgumentProto* mutable_int_min();
4142  void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min);
4143  private:
4144  const ::operations_research::sat::IntegerArgumentProto& _internal_int_min() const;
4145  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_min();
4146  public:
4147  void unsafe_arena_set_allocated_int_min(
4148  ::operations_research::sat::IntegerArgumentProto* int_min);
4149  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_min();
4150 
4151  // .operations_research.sat.LinearArgumentProto lin_min = 28;
4152  bool has_lin_min() const;
4153  private:
4154  bool _internal_has_lin_min() const;
4155  public:
4156  void clear_lin_min();
4157  const ::operations_research::sat::LinearArgumentProto& lin_min() const;
4158  ::operations_research::sat::LinearArgumentProto* release_lin_min();
4159  ::operations_research::sat::LinearArgumentProto* mutable_lin_min();
4160  void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min);
4161  private:
4162  const ::operations_research::sat::LinearArgumentProto& _internal_lin_min() const;
4163  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_min();
4164  public:
4165  void unsafe_arena_set_allocated_lin_min(
4166  ::operations_research::sat::LinearArgumentProto* lin_min);
4167  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_min();
4168 
4169  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
4170  bool has_int_prod() const;
4171  private:
4172  bool _internal_has_int_prod() const;
4173  public:
4174  void clear_int_prod();
4175  const ::operations_research::sat::IntegerArgumentProto& int_prod() const;
4176  ::operations_research::sat::IntegerArgumentProto* release_int_prod();
4177  ::operations_research::sat::IntegerArgumentProto* mutable_int_prod();
4178  void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod);
4179  private:
4180  const ::operations_research::sat::IntegerArgumentProto& _internal_int_prod() const;
4181  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_prod();
4182  public:
4183  void unsafe_arena_set_allocated_int_prod(
4184  ::operations_research::sat::IntegerArgumentProto* int_prod);
4185  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_prod();
4186 
4187  // .operations_research.sat.LinearConstraintProto linear = 12;
4188  bool has_linear() const;
4189  private:
4190  bool _internal_has_linear() const;
4191  public:
4192  void clear_linear();
4193  const ::operations_research::sat::LinearConstraintProto& linear() const;
4194  ::operations_research::sat::LinearConstraintProto* release_linear();
4195  ::operations_research::sat::LinearConstraintProto* mutable_linear();
4196  void set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear);
4197  private:
4198  const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
4199  ::operations_research::sat::LinearConstraintProto* _internal_mutable_linear();
4200  public:
4201  void unsafe_arena_set_allocated_linear(
4202  ::operations_research::sat::LinearConstraintProto* linear);
4203  ::operations_research::sat::LinearConstraintProto* unsafe_arena_release_linear();
4204 
4205  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
4206  bool has_all_diff() const;
4207  private:
4208  bool _internal_has_all_diff() const;
4209  public:
4210  void clear_all_diff();
4211  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
4212  ::operations_research::sat::AllDifferentConstraintProto* release_all_diff();
4213  ::operations_research::sat::AllDifferentConstraintProto* mutable_all_diff();
4214  void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff);
4215  private:
4216  const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
4217  ::operations_research::sat::AllDifferentConstraintProto* _internal_mutable_all_diff();
4218  public:
4219  void unsafe_arena_set_allocated_all_diff(
4220  ::operations_research::sat::AllDifferentConstraintProto* all_diff);
4221  ::operations_research::sat::AllDifferentConstraintProto* unsafe_arena_release_all_diff();
4222 
4223  // .operations_research.sat.ElementConstraintProto element = 14;
4224  bool has_element() const;
4225  private:
4226  bool _internal_has_element() const;
4227  public:
4228  void clear_element();
4229  const ::operations_research::sat::ElementConstraintProto& element() const;
4230  ::operations_research::sat::ElementConstraintProto* release_element();
4231  ::operations_research::sat::ElementConstraintProto* mutable_element();
4232  void set_allocated_element(::operations_research::sat::ElementConstraintProto* element);
4233  private:
4234  const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
4235  ::operations_research::sat::ElementConstraintProto* _internal_mutable_element();
4236  public:
4237  void unsafe_arena_set_allocated_element(
4238  ::operations_research::sat::ElementConstraintProto* element);
4239  ::operations_research::sat::ElementConstraintProto* unsafe_arena_release_element();
4240 
4241  // .operations_research.sat.CircuitConstraintProto circuit = 15;
4242  bool has_circuit() const;
4243  private:
4244  bool _internal_has_circuit() const;
4245  public:
4246  void clear_circuit();
4247  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
4248  ::operations_research::sat::CircuitConstraintProto* release_circuit();
4249  ::operations_research::sat::CircuitConstraintProto* mutable_circuit();
4250  void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit);
4251  private:
4252  const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
4253  ::operations_research::sat::CircuitConstraintProto* _internal_mutable_circuit();
4254  public:
4255  void unsafe_arena_set_allocated_circuit(
4256  ::operations_research::sat::CircuitConstraintProto* circuit);
4257  ::operations_research::sat::CircuitConstraintProto* unsafe_arena_release_circuit();
4258 
4259  // .operations_research.sat.RoutesConstraintProto routes = 23;
4260  bool has_routes() const;
4261  private:
4262  bool _internal_has_routes() const;
4263  public:
4264  void clear_routes();
4265  const ::operations_research::sat::RoutesConstraintProto& routes() const;
4266  ::operations_research::sat::RoutesConstraintProto* release_routes();
4267  ::operations_research::sat::RoutesConstraintProto* mutable_routes();
4268  void set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes);
4269  private:
4270  const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
4271  ::operations_research::sat::RoutesConstraintProto* _internal_mutable_routes();
4272  public:
4273  void unsafe_arena_set_allocated_routes(
4274  ::operations_research::sat::RoutesConstraintProto* routes);
4275  ::operations_research::sat::RoutesConstraintProto* unsafe_arena_release_routes();
4276 
4277  // .operations_research.sat.CircuitCoveringConstraintProto circuit_covering = 25;
4278  bool has_circuit_covering() const;
4279  private:
4280  bool _internal_has_circuit_covering() const;
4281  public:
4282  void clear_circuit_covering();
4283  const ::operations_research::sat::CircuitCoveringConstraintProto& circuit_covering() const;
4284  ::operations_research::sat::CircuitCoveringConstraintProto* release_circuit_covering();
4285  ::operations_research::sat::CircuitCoveringConstraintProto* mutable_circuit_covering();
4286  void set_allocated_circuit_covering(::operations_research::sat::CircuitCoveringConstraintProto* circuit_covering);
4287  private:
4288  const ::operations_research::sat::CircuitCoveringConstraintProto& _internal_circuit_covering() const;
4289  ::operations_research::sat::CircuitCoveringConstraintProto* _internal_mutable_circuit_covering();
4290  public:
4291  void unsafe_arena_set_allocated_circuit_covering(
4292  ::operations_research::sat::CircuitCoveringConstraintProto* circuit_covering);
4293  ::operations_research::sat::CircuitCoveringConstraintProto* unsafe_arena_release_circuit_covering();
4294 
4295  // .operations_research.sat.TableConstraintProto table = 16;
4296  bool has_table() const;
4297  private:
4298  bool _internal_has_table() const;
4299  public:
4300  void clear_table();
4301  const ::operations_research::sat::TableConstraintProto& table() const;
4302  ::operations_research::sat::TableConstraintProto* release_table();
4303  ::operations_research::sat::TableConstraintProto* mutable_table();
4304  void set_allocated_table(::operations_research::sat::TableConstraintProto* table);
4305  private:
4306  const ::operations_research::sat::TableConstraintProto& _internal_table() const;
4307  ::operations_research::sat::TableConstraintProto* _internal_mutable_table();
4308  public:
4309  void unsafe_arena_set_allocated_table(
4310  ::operations_research::sat::TableConstraintProto* table);
4311  ::operations_research::sat::TableConstraintProto* unsafe_arena_release_table();
4312 
4313  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
4314  bool has_automaton() const;
4315  private:
4316  bool _internal_has_automaton() const;
4317  public:
4318  void clear_automaton();
4319  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
4320  ::operations_research::sat::AutomatonConstraintProto* release_automaton();
4321  ::operations_research::sat::AutomatonConstraintProto* mutable_automaton();
4322  void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton);
4323  private:
4324  const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
4325  ::operations_research::sat::AutomatonConstraintProto* _internal_mutable_automaton();
4326  public:
4327  void unsafe_arena_set_allocated_automaton(
4328  ::operations_research::sat::AutomatonConstraintProto* automaton);
4329  ::operations_research::sat::AutomatonConstraintProto* unsafe_arena_release_automaton();
4330 
4331  // .operations_research.sat.InverseConstraintProto inverse = 18;
4332  bool has_inverse() const;
4333  private:
4334  bool _internal_has_inverse() const;
4335  public:
4336  void clear_inverse();
4337  const ::operations_research::sat::InverseConstraintProto& inverse() const;
4338  ::operations_research::sat::InverseConstraintProto* release_inverse();
4339  ::operations_research::sat::InverseConstraintProto* mutable_inverse();
4340  void set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse);
4341  private:
4342  const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
4343  ::operations_research::sat::InverseConstraintProto* _internal_mutable_inverse();
4344  public:
4345  void unsafe_arena_set_allocated_inverse(
4346  ::operations_research::sat::InverseConstraintProto* inverse);
4347  ::operations_research::sat::InverseConstraintProto* unsafe_arena_release_inverse();
4348 
4349  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
4350  bool has_reservoir() const;
4351  private:
4352  bool _internal_has_reservoir() const;
4353  public:
4354  void clear_reservoir();
4355  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
4356  ::operations_research::sat::ReservoirConstraintProto* release_reservoir();
4357  ::operations_research::sat::ReservoirConstraintProto* mutable_reservoir();
4358  void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir);
4359  private:
4360  const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
4361  ::operations_research::sat::ReservoirConstraintProto* _internal_mutable_reservoir();
4362  public:
4363  void unsafe_arena_set_allocated_reservoir(
4364  ::operations_research::sat::ReservoirConstraintProto* reservoir);
4365  ::operations_research::sat::ReservoirConstraintProto* unsafe_arena_release_reservoir();
4366 
4367  // .operations_research.sat.IntervalConstraintProto interval = 19;
4368  bool has_interval() const;
4369  private:
4370  bool _internal_has_interval() const;
4371  public:
4372  void clear_interval();
4373  const ::operations_research::sat::IntervalConstraintProto& interval() const;
4374  ::operations_research::sat::IntervalConstraintProto* release_interval();
4375  ::operations_research::sat::IntervalConstraintProto* mutable_interval();
4376  void set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval);
4377  private:
4378  const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
4379  ::operations_research::sat::IntervalConstraintProto* _internal_mutable_interval();
4380  public:
4381  void unsafe_arena_set_allocated_interval(
4382  ::operations_research::sat::IntervalConstraintProto* interval);
4383  ::operations_research::sat::IntervalConstraintProto* unsafe_arena_release_interval();
4384 
4385  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
4386  bool has_no_overlap() const;
4387  private:
4388  bool _internal_has_no_overlap() const;
4389  public:
4390  void clear_no_overlap();
4391  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
4392  ::operations_research::sat::NoOverlapConstraintProto* release_no_overlap();
4393  ::operations_research::sat::NoOverlapConstraintProto* mutable_no_overlap();
4394  void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4395  private:
4396  const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
4397  ::operations_research::sat::NoOverlapConstraintProto* _internal_mutable_no_overlap();
4398  public:
4399  void unsafe_arena_set_allocated_no_overlap(
4400  ::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4401  ::operations_research::sat::NoOverlapConstraintProto* unsafe_arena_release_no_overlap();
4402 
4403  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
4404  bool has_no_overlap_2d() const;
4405  private:
4406  bool _internal_has_no_overlap_2d() const;
4407  public:
4408  void clear_no_overlap_2d();
4409  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
4410  ::operations_research::sat::NoOverlap2DConstraintProto* release_no_overlap_2d();
4411  ::operations_research::sat::NoOverlap2DConstraintProto* mutable_no_overlap_2d();
4412  void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4413  private:
4414  const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
4415  ::operations_research::sat::NoOverlap2DConstraintProto* _internal_mutable_no_overlap_2d();
4416  public:
4417  void unsafe_arena_set_allocated_no_overlap_2d(
4418  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4419  ::operations_research::sat::NoOverlap2DConstraintProto* unsafe_arena_release_no_overlap_2d();
4420 
4421  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
4422  bool has_cumulative() const;
4423  private:
4424  bool _internal_has_cumulative() const;
4425  public:
4426  void clear_cumulative();
4427  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
4428  ::operations_research::sat::CumulativeConstraintProto* release_cumulative();
4429  ::operations_research::sat::CumulativeConstraintProto* mutable_cumulative();
4430  void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative);
4431  private:
4432  const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
4433  ::operations_research::sat::CumulativeConstraintProto* _internal_mutable_cumulative();
4434  public:
4435  void unsafe_arena_set_allocated_cumulative(
4436  ::operations_research::sat::CumulativeConstraintProto* cumulative);
4437  ::operations_research::sat::CumulativeConstraintProto* unsafe_arena_release_cumulative();
4438 
4439  void clear_constraint();
4440  ConstraintCase constraint_case() const;
4441  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
4442  private:
4443  class _Internal;
4444  void set_has_bool_or();
4445  void set_has_bool_and();
4446  void set_has_at_most_one();
4447  void set_has_bool_xor();
4448  void set_has_int_div();
4449  void set_has_int_mod();
4450  void set_has_int_max();
4451  void set_has_lin_max();
4452  void set_has_int_min();
4453  void set_has_lin_min();
4454  void set_has_int_prod();
4455  void set_has_linear();
4456  void set_has_all_diff();
4457  void set_has_element();
4458  void set_has_circuit();
4459  void set_has_routes();
4460  void set_has_circuit_covering();
4461  void set_has_table();
4462  void set_has_automaton();
4463  void set_has_inverse();
4464  void set_has_reservoir();
4465  void set_has_interval();
4466  void set_has_no_overlap();
4467  void set_has_no_overlap_2d();
4468  void set_has_cumulative();
4469 
4470  inline bool has_constraint() const;
4471  inline void clear_has_constraint();
4472 
4473  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4474  typedef void InternalArenaConstructable_;
4475  typedef void DestructorSkippable_;
4476  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > enforcement_literal_;
4477  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
4478  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4479  union ConstraintUnion {
4480  ConstraintUnion() {}
4481  ::operations_research::sat::BoolArgumentProto* bool_or_;
4482  ::operations_research::sat::BoolArgumentProto* bool_and_;
4483  ::operations_research::sat::BoolArgumentProto* at_most_one_;
4484  ::operations_research::sat::BoolArgumentProto* bool_xor_;
4485  ::operations_research::sat::IntegerArgumentProto* int_div_;
4486  ::operations_research::sat::IntegerArgumentProto* int_mod_;
4487  ::operations_research::sat::IntegerArgumentProto* int_max_;
4488  ::operations_research::sat::LinearArgumentProto* lin_max_;
4489  ::operations_research::sat::IntegerArgumentProto* int_min_;
4490  ::operations_research::sat::LinearArgumentProto* lin_min_;
4491  ::operations_research::sat::IntegerArgumentProto* int_prod_;
4492  ::operations_research::sat::LinearConstraintProto* linear_;
4493  ::operations_research::sat::AllDifferentConstraintProto* all_diff_;
4494  ::operations_research::sat::ElementConstraintProto* element_;
4495  ::operations_research::sat::CircuitConstraintProto* circuit_;
4496  ::operations_research::sat::RoutesConstraintProto* routes_;
4497  ::operations_research::sat::CircuitCoveringConstraintProto* circuit_covering_;
4498  ::operations_research::sat::TableConstraintProto* table_;
4499  ::operations_research::sat::AutomatonConstraintProto* automaton_;
4500  ::operations_research::sat::InverseConstraintProto* inverse_;
4501  ::operations_research::sat::ReservoirConstraintProto* reservoir_;
4502  ::operations_research::sat::IntervalConstraintProto* interval_;
4503  ::operations_research::sat::NoOverlapConstraintProto* no_overlap_;
4504  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d_;
4505  ::operations_research::sat::CumulativeConstraintProto* cumulative_;
4506  } constraint_;
4507  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4508  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
4509 
4510  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4511 };
4512 // -------------------------------------------------------------------
4513 
4514 class CpObjectiveProto PROTOBUF_FINAL :
4515  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
4516  public:
4517  inline CpObjectiveProto() : CpObjectiveProto(nullptr) {};
4519 
4520  CpObjectiveProto(const CpObjectiveProto& from);
4521  CpObjectiveProto(CpObjectiveProto&& from) noexcept
4522  : CpObjectiveProto() {
4523  *this = ::std::move(from);
4524  }
4525 
4526  inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
4527  CopyFrom(from);
4528  return *this;
4529  }
4530  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
4531  if (GetArena() == from.GetArena()) {
4532  if (this != &from) InternalSwap(&from);
4533  } else {
4534  CopyFrom(from);
4535  }
4536  return *this;
4537  }
4538 
4539  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4540  return GetDescriptor();
4541  }
4542  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4543  return GetMetadataStatic().descriptor;
4544  }
4545  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4546  return GetMetadataStatic().reflection;
4547  }
4548  static const CpObjectiveProto& default_instance();
4549 
4550  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4551  static inline const CpObjectiveProto* internal_default_instance() {
4552  return reinterpret_cast<const CpObjectiveProto*>(
4554  }
4555  static constexpr int kIndexInFileMessages =
4556  20;
4557 
4558  friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) {
4559  a.Swap(&b);
4560  }
4561  inline void Swap(CpObjectiveProto* other) {
4562  if (other == this) return;
4563  if (GetArena() == other->GetArena()) {
4564  InternalSwap(other);
4565  } else {
4566  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4567  }
4568  }
4569  void UnsafeArenaSwap(CpObjectiveProto* other) {
4570  if (other == this) return;
4571  GOOGLE_DCHECK(GetArena() == other->GetArena());
4572  InternalSwap(other);
4573  }
4574 
4575  // implements Message ----------------------------------------------
4576 
4577  inline CpObjectiveProto* New() const final {
4578  return CreateMaybeMessage<CpObjectiveProto>(nullptr);
4579  }
4580 
4581  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4582  return CreateMaybeMessage<CpObjectiveProto>(arena);
4583  }
4584  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4585  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4586  void CopyFrom(const CpObjectiveProto& from);
4587  void MergeFrom(const CpObjectiveProto& from);
4588  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4589  bool IsInitialized() const final;
4590 
4591  size_t ByteSizeLong() const final;
4592  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4593  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4594  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4595  int GetCachedSize() const final { return _cached_size_.Get(); }
4596 
4597  private:
4598  inline void SharedCtor();
4599  inline void SharedDtor();
4600  void SetCachedSize(int size) const final;
4601  void InternalSwap(CpObjectiveProto* other);
4602  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4603  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4604  return "operations_research.sat.CpObjectiveProto";
4605  }
4606  protected:
4607  explicit CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4608  private:
4609  static void ArenaDtor(void* object);
4610  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4611  public:
4612 
4613  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4614  private:
4615  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4616  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4617  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4618  }
4619 
4620  public:
4621 
4622  // nested types ----------------------------------------------------
4623 
4624  // accessors -------------------------------------------------------
4625 
4626  enum : int {
4627  kVarsFieldNumber = 1,
4628  kCoeffsFieldNumber = 4,
4629  kDomainFieldNumber = 5,
4630  kOffsetFieldNumber = 2,
4631  kScalingFactorFieldNumber = 3,
4632  };
4633  // repeated int32 vars = 1;
4634  int vars_size() const;
4635  private:
4636  int _internal_vars_size() const;
4637  public:
4638  void clear_vars();
4639  private:
4640  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
4641  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4642  _internal_vars() const;
4643  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4644  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4645  _internal_mutable_vars();
4646  public:
4647  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
4648  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
4649  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4650  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4651  vars() const;
4652  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4654 
4655  // repeated int64 coeffs = 4;
4656  int coeffs_size() const;
4657  private:
4658  int _internal_coeffs_size() const;
4659  public:
4661  private:
4662  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
4663  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4664  _internal_coeffs() const;
4665  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4666  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4667  _internal_mutable_coeffs();
4668  public:
4669  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
4670  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4671  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4672  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4673  coeffs() const;
4674  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4676 
4677  // repeated int64 domain = 5;
4678  int domain_size() const;
4679  private:
4680  int _internal_domain_size() const;
4681  public:
4683  private:
4684  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
4685  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4686  _internal_domain() const;
4687  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4688  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4689  _internal_mutable_domain();
4690  public:
4691  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
4692  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4693  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4694  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4695  domain() const;
4696  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4698 
4699  // double offset = 2;
4701  double offset() const;
4702  void set_offset(double value);
4703  private:
4704  double _internal_offset() const;
4705  void _internal_set_offset(double value);
4706  public:
4707 
4708  // double scaling_factor = 3;
4710  double scaling_factor() const;
4711  void set_scaling_factor(double value);
4712  private:
4713  double _internal_scaling_factor() const;
4714  void _internal_set_scaling_factor(double value);
4715  public:
4716 
4717  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
4718  private:
4719  class _Internal;
4720 
4721  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4722  typedef void InternalArenaConstructable_;
4723  typedef void DestructorSkippable_;
4724  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
4725  mutable std::atomic<int> _vars_cached_byte_size_;
4726  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
4727  mutable std::atomic<int> _coeffs_cached_byte_size_;
4728  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
4729  mutable std::atomic<int> _domain_cached_byte_size_;
4730  double offset_;
4731  double scaling_factor_;
4732  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4733  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4734 };
4735 // -------------------------------------------------------------------
4736 
4737 class DecisionStrategyProto_AffineTransformation PROTOBUF_FINAL :
4738  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
4739  public:
4740  inline DecisionStrategyProto_AffineTransformation() : DecisionStrategyProto_AffineTransformation(nullptr) {};
4742 
4743  DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation& from);
4744  DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation&& from) noexcept
4745  : DecisionStrategyProto_AffineTransformation() {
4746  *this = ::std::move(from);
4747  }
4748 
4749  inline DecisionStrategyProto_AffineTransformation& operator=(const DecisionStrategyProto_AffineTransformation& from) {
4750  CopyFrom(from);
4751  return *this;
4752  }
4753  inline DecisionStrategyProto_AffineTransformation& operator=(DecisionStrategyProto_AffineTransformation&& from) noexcept {
4754  if (GetArena() == from.GetArena()) {
4755  if (this != &from) InternalSwap(&from);
4756  } else {
4757  CopyFrom(from);
4758  }
4759  return *this;
4760  }
4761 
4762  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4763  return GetDescriptor();
4764  }
4765  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4766  return GetMetadataStatic().descriptor;
4767  }
4768  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4769  return GetMetadataStatic().reflection;
4770  }
4771  static const DecisionStrategyProto_AffineTransformation& default_instance();
4772 
4773  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4774  static inline const DecisionStrategyProto_AffineTransformation* internal_default_instance() {
4775  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
4777  }
4778  static constexpr int kIndexInFileMessages =
4779  21;
4780 
4781  friend void swap(DecisionStrategyProto_AffineTransformation& a, DecisionStrategyProto_AffineTransformation& b) {
4782  a.Swap(&b);
4783  }
4784  inline void Swap(DecisionStrategyProto_AffineTransformation* other) {
4785  if (other == this) return;
4786  if (GetArena() == other->GetArena()) {
4787  InternalSwap(other);
4788  } else {
4789  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4790  }
4791  }
4792  void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation* other) {
4793  if (other == this) return;
4794  GOOGLE_DCHECK(GetArena() == other->GetArena());
4795  InternalSwap(other);
4796  }
4797 
4798  // implements Message ----------------------------------------------
4799 
4800  inline DecisionStrategyProto_AffineTransformation* New() const final {
4801  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(nullptr);
4802  }
4803 
4804  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4805  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
4806  }
4807  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4808  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4809  void CopyFrom(const DecisionStrategyProto_AffineTransformation& from);
4810  void MergeFrom(const DecisionStrategyProto_AffineTransformation& from);
4811  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4812  bool IsInitialized() const final;
4813 
4814  size_t ByteSizeLong() const final;
4815  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4816  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4817  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4818  int GetCachedSize() const final { return _cached_size_.Get(); }
4819 
4820  private:
4821  inline void SharedCtor();
4822  inline void SharedDtor();
4823  void SetCachedSize(int size) const final;
4824  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
4825  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4826  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4827  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
4828  }
4829  protected:
4830  explicit DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4831  private:
4832  static void ArenaDtor(void* object);
4833  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4834  public:
4835 
4836  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4837  private:
4838  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4839  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4840  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4841  }
4842 
4843  public:
4844 
4845  // nested types ----------------------------------------------------
4846 
4847  // accessors -------------------------------------------------------
4848 
4849  enum : int {
4850  kOffsetFieldNumber = 2,
4851  kPositiveCoeffFieldNumber = 3,
4852  kVarFieldNumber = 1,
4853  };
4854  // int64 offset = 2;
4856  ::PROTOBUF_NAMESPACE_ID::int64 offset() const;
4857  void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4858  private:
4859  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
4860  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4861  public:
4862 
4863  // int64 positive_coeff = 3;
4865  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const;
4866  void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4867  private:
4868  ::PROTOBUF_NAMESPACE_ID::int64 _internal_positive_coeff() const;
4869  void _internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4870  public:
4871 
4872  // int32 var = 1;
4873  void clear_var();
4874  ::PROTOBUF_NAMESPACE_ID::int32 var() const;
4875  void set_var(::PROTOBUF_NAMESPACE_ID::int32 value);
4876  private:
4877  ::PROTOBUF_NAMESPACE_ID::int32 _internal_var() const;
4878  void _internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value);
4879  public:
4880 
4881  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
4882  private:
4883  class _Internal;
4884 
4885  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4886  typedef void InternalArenaConstructable_;
4887  typedef void DestructorSkippable_;
4888  ::PROTOBUF_NAMESPACE_ID::int64 offset_;
4889  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff_;
4890  ::PROTOBUF_NAMESPACE_ID::int32 var_;
4891  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4892  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4893 };
4894 // -------------------------------------------------------------------
4895 
4896 class DecisionStrategyProto PROTOBUF_FINAL :
4897  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
4898  public:
4899  inline DecisionStrategyProto() : DecisionStrategyProto(nullptr) {};
4901 
4902  DecisionStrategyProto(const DecisionStrategyProto& from);
4903  DecisionStrategyProto(DecisionStrategyProto&& from) noexcept
4904  : DecisionStrategyProto() {
4905  *this = ::std::move(from);
4906  }
4907 
4908  inline DecisionStrategyProto& operator=(const DecisionStrategyProto& from) {
4909  CopyFrom(from);
4910  return *this;
4911  }
4912  inline DecisionStrategyProto& operator=(DecisionStrategyProto&& from) noexcept {
4913  if (GetArena() == from.GetArena()) {
4914  if (this != &from) InternalSwap(&from);
4915  } else {
4916  CopyFrom(from);
4917  }
4918  return *this;
4919  }
4920 
4921  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4922  return GetDescriptor();
4923  }
4924  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4925  return GetMetadataStatic().descriptor;
4926  }
4927  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4928  return GetMetadataStatic().reflection;
4929  }
4930  static const DecisionStrategyProto& default_instance();
4931 
4932  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4933  static inline const DecisionStrategyProto* internal_default_instance() {
4934  return reinterpret_cast<const DecisionStrategyProto*>(
4936  }
4937  static constexpr int kIndexInFileMessages =
4938  22;
4939 
4940  friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) {
4941  a.Swap(&b);
4942  }
4943  inline void Swap(DecisionStrategyProto* other) {
4944  if (other == this) return;
4945  if (GetArena() == other->GetArena()) {
4946  InternalSwap(other);
4947  } else {
4948  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4949  }
4950  }
4951  void UnsafeArenaSwap(DecisionStrategyProto* other) {
4952  if (other == this) return;
4953  GOOGLE_DCHECK(GetArena() == other->GetArena());
4954  InternalSwap(other);
4955  }
4956 
4957  // implements Message ----------------------------------------------
4958 
4959  inline DecisionStrategyProto* New() const final {
4960  return CreateMaybeMessage<DecisionStrategyProto>(nullptr);
4961  }
4962 
4963  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4964  return CreateMaybeMessage<DecisionStrategyProto>(arena);
4965  }
4966  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4967  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4968  void CopyFrom(const DecisionStrategyProto& from);
4969  void MergeFrom(const DecisionStrategyProto& from);
4970  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4971  bool IsInitialized() const final;
4972 
4973  size_t ByteSizeLong() const final;
4974  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4975  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4976  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4977  int GetCachedSize() const final { return _cached_size_.Get(); }
4978 
4979  private:
4980  inline void SharedCtor();
4981  inline void SharedDtor();
4982  void SetCachedSize(int size) const final;
4983  void InternalSwap(DecisionStrategyProto* other);
4984  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4985  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4986  return "operations_research.sat.DecisionStrategyProto";
4987  }
4988  protected:
4989  explicit DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4990  private:
4991  static void ArenaDtor(void* object);
4992  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4993  public:
4994 
4995  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4996  private:
4997  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4998  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4999  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5000  }
5001 
5002  public:
5003 
5004  // nested types ----------------------------------------------------
5005 
5006  typedef DecisionStrategyProto_AffineTransformation AffineTransformation;
5007 
5009  static constexpr VariableSelectionStrategy CHOOSE_FIRST =
5011  static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN =
5013  static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX =
5015  static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE =
5017  static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE =
5019  static inline bool VariableSelectionStrategy_IsValid(int value) {
5021  }
5022  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN =
5024  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX =
5026  static constexpr int VariableSelectionStrategy_ARRAYSIZE =
5028  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5031  }
5032  template<typename T>
5033  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
5034  static_assert(::std::is_same<T, VariableSelectionStrategy>::value ||
5035  ::std::is_integral<T>::value,
5036  "Incorrect type passed to function VariableSelectionStrategy_Name.");
5038  }
5039  static inline bool VariableSelectionStrategy_Parse(const std::string& name,
5040  VariableSelectionStrategy* value) {
5042  }
5043 
5045  static constexpr DomainReductionStrategy SELECT_MIN_VALUE =
5047  static constexpr DomainReductionStrategy SELECT_MAX_VALUE =
5049  static constexpr DomainReductionStrategy SELECT_LOWER_HALF =
5051  static constexpr DomainReductionStrategy SELECT_UPPER_HALF =
5053  static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE =
5055  static inline bool DomainReductionStrategy_IsValid(int value) {
5057  }
5058  static constexpr DomainReductionStrategy DomainReductionStrategy_MIN =
5060  static constexpr DomainReductionStrategy DomainReductionStrategy_MAX =
5062  static constexpr int DomainReductionStrategy_ARRAYSIZE =
5064  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5067  }
5068  template<typename T>
5069  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
5070  static_assert(::std::is_same<T, DomainReductionStrategy>::value ||
5071  ::std::is_integral<T>::value,
5072  "Incorrect type passed to function DomainReductionStrategy_Name.");
5074  }
5075  static inline bool DomainReductionStrategy_Parse(const std::string& name,
5076  DomainReductionStrategy* value) {
5078  }
5079 
5080  // accessors -------------------------------------------------------
5081 
5082  enum : int {
5083  kVariablesFieldNumber = 1,
5084  kTransformationsFieldNumber = 4,
5085  kVariableSelectionStrategyFieldNumber = 2,
5086  kDomainReductionStrategyFieldNumber = 3,
5087  };
5088  // repeated int32 variables = 1;
5089  int variables_size() const;
5090  private:
5091  int _internal_variables_size() const;
5092  public:
5094  private:
5095  ::PROTOBUF_NAMESPACE_ID::int32 _internal_variables(int index) const;
5096  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5097  _internal_variables() const;
5098  void _internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
5099  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5100  _internal_mutable_variables();
5101  public:
5102  ::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const;
5103  void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5104  void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
5105  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5106  variables() const;
5107  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5109 
5110  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
5112  private:
5113  int _internal_transformations_size() const;
5114  public:
5116  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* mutable_transformations(int index);
5117  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
5119  private:
5120  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& _internal_transformations(int index) const;
5121  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* _internal_add_transformations();
5122  public:
5123  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
5124  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* add_transformations();
5125  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
5127 
5128  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
5132  private:
5133  ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
5134  void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
5135  public:
5136 
5137  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
5141  private:
5142  ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
5143  void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
5144  public:
5145 
5146  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
5147  private:
5148  class _Internal;
5149 
5150  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5151  typedef void InternalArenaConstructable_;
5152  typedef void DestructorSkippable_;
5153  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > variables_;
5154  mutable std::atomic<int> _variables_cached_byte_size_;
5155  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
5156  int variable_selection_strategy_;
5157  int domain_reduction_strategy_;
5158  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5159  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5160 };
5161 // -------------------------------------------------------------------
5162 
5163 class PartialVariableAssignment PROTOBUF_FINAL :
5164  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
5165  public:
5166  inline PartialVariableAssignment() : PartialVariableAssignment(nullptr) {};
5168 
5169  PartialVariableAssignment(const PartialVariableAssignment& from);
5170  PartialVariableAssignment(PartialVariableAssignment&& from) noexcept
5171  : PartialVariableAssignment() {
5172  *this = ::std::move(from);
5173  }
5174 
5175  inline PartialVariableAssignment& operator=(const PartialVariableAssignment& from) {
5176  CopyFrom(from);
5177  return *this;
5178  }
5179  inline PartialVariableAssignment& operator=(PartialVariableAssignment&& from) noexcept {
5180  if (GetArena() == from.GetArena()) {
5181  if (this != &from) InternalSwap(&from);
5182  } else {
5183  CopyFrom(from);
5184  }
5185  return *this;
5186  }
5187 
5188  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5189  return GetDescriptor();
5190  }
5191  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5192  return GetMetadataStatic().descriptor;
5193  }
5194  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5195  return GetMetadataStatic().reflection;
5196  }
5197  static const PartialVariableAssignment& default_instance();
5198 
5199  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
5200  static inline const PartialVariableAssignment* internal_default_instance() {
5201  return reinterpret_cast<const PartialVariableAssignment*>(
5203  }
5204  static constexpr int kIndexInFileMessages =
5205  23;
5206 
5207  friend void swap(PartialVariableAssignment& a, PartialVariableAssignment& b) {
5208  a.Swap(&b);
5209  }
5210  inline void Swap(PartialVariableAssignment* other) {
5211  if (other == this) return;
5212  if (GetArena() == other->GetArena()) {
5213  InternalSwap(other);
5214  } else {
5215  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5216  }
5217  }
5218  void UnsafeArenaSwap(PartialVariableAssignment* other) {
5219  if (other == this) return;
5220  GOOGLE_DCHECK(GetArena() == other->GetArena());
5221  InternalSwap(other);
5222  }
5223 
5224  // implements Message ----------------------------------------------
5225 
5226  inline PartialVariableAssignment* New() const final {
5227  return CreateMaybeMessage<PartialVariableAssignment>(nullptr);
5228  }
5229 
5230  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5231  return CreateMaybeMessage<PartialVariableAssignment>(arena);
5232  }
5233  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5234  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5235  void CopyFrom(const PartialVariableAssignment& from);
5236  void MergeFrom(const PartialVariableAssignment& from);
5237  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5238  bool IsInitialized() const final;
5239 
5240  size_t ByteSizeLong() const final;
5241  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5242  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5243  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5244  int GetCachedSize() const final { return _cached_size_.Get(); }
5245 
5246  private:
5247  inline void SharedCtor();
5248  inline void SharedDtor();
5249  void SetCachedSize(int size) const final;
5250  void InternalSwap(PartialVariableAssignment* other);
5251  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5252  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5253  return "operations_research.sat.PartialVariableAssignment";
5254  }
5255  protected:
5256  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5257  private:
5258  static void ArenaDtor(void* object);
5259  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5260  public:
5261 
5262  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5263  private:
5264  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5265  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5266  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5267  }
5268 
5269  public:
5270 
5271  // nested types ----------------------------------------------------
5272 
5273  // accessors -------------------------------------------------------
5274 
5275  enum : int {
5276  kVarsFieldNumber = 1,
5277  kValuesFieldNumber = 2,
5278  };
5279  // repeated int32 vars = 1;
5280  int vars_size() const;
5281  private:
5282  int _internal_vars_size() const;
5283  public:
5284  void clear_vars();
5285  private:
5286  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
5287  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5288  _internal_vars() const;
5289  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5290  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5291  _internal_mutable_vars();
5292  public:
5293  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
5294  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5295  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5296  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5297  vars() const;
5298  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5300 
5301  // repeated int64 values = 2;
5302  int values_size() const;
5303  private:
5304  int _internal_values_size() const;
5305  public:
5307  private:
5308  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
5309  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5310  _internal_values() const;
5311  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5312  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5313  _internal_mutable_values();
5314  public:
5315  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
5316  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
5317  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5318  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5319  values() const;
5320  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5322 
5323  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
5324  private:
5325  class _Internal;
5326 
5327  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5328  typedef void InternalArenaConstructable_;
5329  typedef void DestructorSkippable_;
5330  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
5331  mutable std::atomic<int> _vars_cached_byte_size_;
5332  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
5333  mutable std::atomic<int> _values_cached_byte_size_;
5334  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5335  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5336 };
5337 // -------------------------------------------------------------------
5338 
5339 class CpModelProto PROTOBUF_FINAL :
5340  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
5341  public:
5342  inline CpModelProto() : CpModelProto(nullptr) {};
5343  virtual ~CpModelProto();
5344 
5345  CpModelProto(const CpModelProto& from);
5346  CpModelProto(CpModelProto&& from) noexcept
5347  : CpModelProto() {
5348  *this = ::std::move(from);
5349  }
5350 
5351  inline CpModelProto& operator=(const CpModelProto& from) {
5352  CopyFrom(from);
5353  return *this;
5354  }
5355  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
5356  if (GetArena() == from.GetArena()) {
5357  if (this != &from) InternalSwap(&from);
5358  } else {
5359  CopyFrom(from);
5360  }
5361  return *this;
5362  }
5363 
5364  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5365  return GetDescriptor();
5366  }
5367  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5368  return GetMetadataStatic().descriptor;
5369  }
5370  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5371  return GetMetadataStatic().reflection;
5372  }
5373  static const CpModelProto& default_instance();
5374 
5375  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
5376  static inline const CpModelProto* internal_default_instance() {
5377  return reinterpret_cast<const CpModelProto*>(
5379  }
5380  static constexpr int kIndexInFileMessages =
5381  24;
5382 
5383  friend void swap(CpModelProto& a, CpModelProto& b) {
5384  a.Swap(&b);
5385  }
5386  inline void Swap(CpModelProto* other) {
5387  if (other == this) return;
5388  if (GetArena() == other->GetArena()) {
5389  InternalSwap(other);
5390  } else {
5391  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5392  }
5393  }
5394  void UnsafeArenaSwap(CpModelProto* other) {
5395  if (other == this) return;
5396  GOOGLE_DCHECK(GetArena() == other->GetArena());
5397  InternalSwap(other);
5398  }
5399 
5400  // implements Message ----------------------------------------------
5401 
5402  inline CpModelProto* New() const final {
5403  return CreateMaybeMessage<CpModelProto>(nullptr);
5404  }
5405 
5406  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5407  return CreateMaybeMessage<CpModelProto>(arena);
5408  }
5409  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5410  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5411  void CopyFrom(const CpModelProto& from);
5412  void MergeFrom(const CpModelProto& from);
5413  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5414  bool IsInitialized() const final;
5415 
5416  size_t ByteSizeLong() const final;
5417  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5418  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5419  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5420  int GetCachedSize() const final { return _cached_size_.Get(); }
5421 
5422  private:
5423  inline void SharedCtor();
5424  inline void SharedDtor();
5425  void SetCachedSize(int size) const final;
5426  void InternalSwap(CpModelProto* other);
5427  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5428  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5429  return "operations_research.sat.CpModelProto";
5430  }
5431  protected:
5432  explicit CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5433  private:
5434  static void ArenaDtor(void* object);
5435  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5436  public:
5437 
5438  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5439  private:
5440  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5441  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5442  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5443  }
5444 
5445  public:
5446 
5447  // nested types ----------------------------------------------------
5448 
5449  // accessors -------------------------------------------------------
5450 
5451  enum : int {
5452  kVariablesFieldNumber = 2,
5453  kConstraintsFieldNumber = 3,
5454  kSearchStrategyFieldNumber = 5,
5455  kAssumptionsFieldNumber = 7,
5456  kNameFieldNumber = 1,
5457  kObjectiveFieldNumber = 4,
5458  kSolutionHintFieldNumber = 6,
5459  };
5460  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
5461  int variables_size() const;
5462  private:
5463  int _internal_variables_size() const;
5464  public:
5466  ::operations_research::sat::IntegerVariableProto* mutable_variables(int index);
5467  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5469  private:
5470  const ::operations_research::sat::IntegerVariableProto& _internal_variables(int index) const;
5471  ::operations_research::sat::IntegerVariableProto* _internal_add_variables();
5472  public:
5473  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
5474  ::operations_research::sat::IntegerVariableProto* add_variables();
5475  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5476  variables() const;
5477 
5478  // repeated .operations_research.sat.ConstraintProto constraints = 3;
5479  int constraints_size() const;
5480  private:
5481  int _internal_constraints_size() const;
5482  public:
5484  ::operations_research::sat::ConstraintProto* mutable_constraints(int index);
5485  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
5487  private:
5488  const ::operations_research::sat::ConstraintProto& _internal_constraints(int index) const;
5489  ::operations_research::sat::ConstraintProto* _internal_add_constraints();
5490  public:
5491  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
5492  ::operations_research::sat::ConstraintProto* add_constraints();
5493  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
5494  constraints() const;
5495 
5496  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
5498  private:
5499  int _internal_search_strategy_size() const;
5500  public:
5502  ::operations_research::sat::DecisionStrategyProto* mutable_search_strategy(int index);
5503  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
5505  private:
5506  const ::operations_research::sat::DecisionStrategyProto& _internal_search_strategy(int index) const;
5507  ::operations_research::sat::DecisionStrategyProto* _internal_add_search_strategy();
5508  public:
5509  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
5510  ::operations_research::sat::DecisionStrategyProto* add_search_strategy();
5511  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
5513 
5514  // repeated int32 assumptions = 7;
5515  int assumptions_size() const;
5516  private:
5517  int _internal_assumptions_size() const;
5518  public:
5520  private:
5521  ::PROTOBUF_NAMESPACE_ID::int32 _internal_assumptions(int index) const;
5522  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5523  _internal_assumptions() const;
5524  void _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
5525  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5526  _internal_mutable_assumptions();
5527  public:
5528  ::PROTOBUF_NAMESPACE_ID::int32 assumptions(int index) const;
5529  void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5530  void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
5531  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5532  assumptions() const;
5533  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5535 
5536  // string name = 1;
5537  void clear_name();
5538  const std::string& name() const;
5539  void set_name(const std::string& value);
5540  void set_name(std::string&& value);
5541  void set_name(const char* value);
5542  void set_name(const char* value, size_t size);
5543  std::string* mutable_name();
5544  std::string* release_name();
5545  void set_allocated_name(std::string* name);
5546  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
5547  " string fields are deprecated and will be removed in a"
5548  " future release.")
5549  std::string* unsafe_arena_release_name();
5550  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
5551  " string fields are deprecated and will be removed in a"
5552  " future release.")
5553  void unsafe_arena_set_allocated_name(
5554  std::string* name);
5555  private:
5556  const std::string& _internal_name() const;
5557  void _internal_set_name(const std::string& value);
5558  std::string* _internal_mutable_name();
5559  public:
5560 
5561  // .operations_research.sat.CpObjectiveProto objective = 4;
5562  bool has_objective() const;
5563  private:
5564  bool _internal_has_objective() const;
5565  public:
5566  void clear_objective();
5567  const ::operations_research::sat::CpObjectiveProto& objective() const;
5568  ::operations_research::sat::CpObjectiveProto* release_objective();
5569  ::operations_research::sat::CpObjectiveProto* mutable_objective();
5570  void set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective);
5571  private:
5572  const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
5573  ::operations_research::sat::CpObjectiveProto* _internal_mutable_objective();
5574  public:
5575  void unsafe_arena_set_allocated_objective(
5576  ::operations_research::sat::CpObjectiveProto* objective);
5577  ::operations_research::sat::CpObjectiveProto* unsafe_arena_release_objective();
5578 
5579  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
5580  bool has_solution_hint() const;
5581  private:
5582  bool _internal_has_solution_hint() const;
5583  public:
5584  void clear_solution_hint();
5585  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
5586  ::operations_research::sat::PartialVariableAssignment* release_solution_hint();
5587  ::operations_research::sat::PartialVariableAssignment* mutable_solution_hint();
5588  void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint);
5589  private:
5590  const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
5591  ::operations_research::sat::PartialVariableAssignment* _internal_mutable_solution_hint();
5592  public:
5593  void unsafe_arena_set_allocated_solution_hint(
5594  ::operations_research::sat::PartialVariableAssignment* solution_hint);
5595  ::operations_research::sat::PartialVariableAssignment* unsafe_arena_release_solution_hint();
5596 
5597  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
5598  private:
5599  class _Internal;
5600 
5601  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5602  typedef void InternalArenaConstructable_;
5603  typedef void DestructorSkippable_;
5604  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
5605  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
5606  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
5607  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > assumptions_;
5608  mutable std::atomic<int> _assumptions_cached_byte_size_;
5609  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
5610  ::operations_research::sat::CpObjectiveProto* objective_;
5611  ::operations_research::sat::PartialVariableAssignment* solution_hint_;
5612  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5614 };
5615 // -------------------------------------------------------------------
5616 
5617 class CpSolverResponse PROTOBUF_FINAL :
5618  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
5619  public:
5620  inline CpSolverResponse() : CpSolverResponse(nullptr) {};
5622 
5623  CpSolverResponse(const CpSolverResponse& from);
5624  CpSolverResponse(CpSolverResponse&& from) noexcept
5625  : CpSolverResponse() {
5626  *this = ::std::move(from);
5627  }
5628 
5629  inline CpSolverResponse& operator=(const CpSolverResponse& from) {
5630  CopyFrom(from);
5631  return *this;
5632  }
5633  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
5634  if (GetArena() == from.GetArena()) {
5635  if (this != &from) InternalSwap(&from);
5636  } else {
5637  CopyFrom(from);
5638  }
5639  return *this;
5640  }
5641 
5642  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5643  return GetDescriptor();
5644  }
5645  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5646  return GetMetadataStatic().descriptor;
5647  }
5648  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5649  return GetMetadataStatic().reflection;
5650  }
5651  static const CpSolverResponse& default_instance();
5652 
5653  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
5654  static inline const CpSolverResponse* internal_default_instance() {
5655  return reinterpret_cast<const CpSolverResponse*>(
5657  }
5658  static constexpr int kIndexInFileMessages =
5659  25;
5660 
5661  friend void swap(CpSolverResponse& a, CpSolverResponse& b) {
5662  a.Swap(&b);
5663  }
5664  inline void Swap(CpSolverResponse* other) {
5665  if (other == this) return;
5666  if (GetArena() == other->GetArena()) {
5667  InternalSwap(other);
5668  } else {
5669  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5670  }
5671  }
5672  void UnsafeArenaSwap(CpSolverResponse* other) {
5673  if (other == this) return;
5674  GOOGLE_DCHECK(GetArena() == other->GetArena());
5675  InternalSwap(other);
5676  }
5677 
5678  // implements Message ----------------------------------------------
5679 
5680  inline CpSolverResponse* New() const final {
5681  return CreateMaybeMessage<CpSolverResponse>(nullptr);
5682  }
5683 
5684  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5685  return CreateMaybeMessage<CpSolverResponse>(arena);
5686  }
5687  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5688  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5689  void CopyFrom(const CpSolverResponse& from);
5690  void MergeFrom(const CpSolverResponse& from);
5691  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5692  bool IsInitialized() const final;
5693 
5694  size_t ByteSizeLong() const final;
5695  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5696  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5697  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5698  int GetCachedSize() const final { return _cached_size_.Get(); }
5699 
5700  private:
5701  inline void SharedCtor();
5702  inline void SharedDtor();
5703  void SetCachedSize(int size) const final;
5704  void InternalSwap(CpSolverResponse* other);
5705  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5706  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5707  return "operations_research.sat.CpSolverResponse";
5708  }
5709  protected:
5710  explicit CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5711  private:
5712  static void ArenaDtor(void* object);
5713  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5714  public:
5715 
5716  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5717  private:
5718  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5719  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5720  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5721  }
5722 
5723  public:
5724 
5725  // nested types ----------------------------------------------------
5726 
5727  // accessors -------------------------------------------------------
5728 
5729  enum : int {
5730  kSolutionFieldNumber = 2,
5731  kSolutionLowerBoundsFieldNumber = 18,
5732  kSolutionUpperBoundsFieldNumber = 19,
5733  kTightenedVariablesFieldNumber = 21,
5734  kSufficientAssumptionsForInfeasibilityFieldNumber = 23,
5735  kSolutionInfoFieldNumber = 20,
5736  kObjectiveValueFieldNumber = 3,
5737  kStatusFieldNumber = 1,
5738  kAllSolutionsWereFoundFieldNumber = 5,
5739  kBestObjectiveBoundFieldNumber = 4,
5740  kNumBooleansFieldNumber = 10,
5741  kNumConflictsFieldNumber = 11,
5742  kNumBranchesFieldNumber = 12,
5743  kNumBinaryPropagationsFieldNumber = 13,
5744  kNumIntegerPropagationsFieldNumber = 14,
5745  kWallTimeFieldNumber = 15,
5746  kUserTimeFieldNumber = 16,
5747  kDeterministicTimeFieldNumber = 17,
5748  kPrimalIntegralFieldNumber = 22,
5749  };
5750  // repeated int64 solution = 2;
5751  int solution_size() const;
5752  private:
5753  int _internal_solution_size() const;
5754  public:
5756  private:
5757  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution(int index) const;
5758  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5759  _internal_solution() const;
5760  void _internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
5761  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5762  _internal_mutable_solution();
5763  public:
5764  ::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const;
5765  void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
5766  void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
5767  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5768  solution() const;
5769  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5771 
5772  // repeated int64 solution_lower_bounds = 18;
5774  private:
5775  int _internal_solution_lower_bounds_size() const;
5776  public:
5778  private:
5779  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_lower_bounds(int index) const;
5780  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5781  _internal_solution_lower_bounds() const;
5782  void _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5783  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5784  _internal_mutable_solution_lower_bounds();
5785  public:
5786  ::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const;
5787  void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
5788  void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5789  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5791  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5793 
5794  // repeated int64 solution_upper_bounds = 19;
5796  private:
5797  int _internal_solution_upper_bounds_size() const;
5798  public:
5800  private:
5801  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_upper_bounds(int index) const;
5802  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5803  _internal_solution_upper_bounds() const;
5804  void _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5805  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5806  _internal_mutable_solution_upper_bounds();
5807  public:
5808  ::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const;
5809  void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
5810  void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5811  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5813  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5815 
5816  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
5818  private:
5819  int _internal_tightened_variables_size() const;
5820  public:
5822  ::operations_research::sat::IntegerVariableProto* mutable_tightened_variables(int index);
5823  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5825  private:
5826  const ::operations_research::sat::IntegerVariableProto& _internal_tightened_variables(int index) const;
5827  ::operations_research::sat::IntegerVariableProto* _internal_add_tightened_variables();
5828  public:
5829  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
5830  ::operations_research::sat::IntegerVariableProto* add_tightened_variables();
5831  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5833 
5834  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
5836  private:
5837  int _internal_sufficient_assumptions_for_infeasibility_size() const;
5838  public:
5840  private:
5841  ::PROTOBUF_NAMESPACE_ID::int32 _internal_sufficient_assumptions_for_infeasibility(int index) const;
5842  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5843  _internal_sufficient_assumptions_for_infeasibility() const;
5844  void _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
5845  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5846  _internal_mutable_sufficient_assumptions_for_infeasibility();
5847  public:
5848  ::PROTOBUF_NAMESPACE_ID::int32 sufficient_assumptions_for_infeasibility(int index) const;
5849  void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5850  void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
5851  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5853  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5855 
5856  // string solution_info = 20;
5858  const std::string& solution_info() const;
5859  void set_solution_info(const std::string& value);
5860  void set_solution_info(std::string&& value);
5861  void set_solution_info(const char* value);
5862  void set_solution_info(const char* value, size_t size);
5863  std::string* mutable_solution_info();
5864  std::string* release_solution_info();
5865  void set_allocated_solution_info(std::string* solution_info);
5866  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
5867  " string fields are deprecated and will be removed in a"
5868  " future release.")
5869  std::string* unsafe_arena_release_solution_info();
5870  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
5871  " string fields are deprecated and will be removed in a"
5872  " future release.")
5873  void unsafe_arena_set_allocated_solution_info(
5874  std::string* solution_info);
5875  private:
5876  const std::string& _internal_solution_info() const;
5877  void _internal_set_solution_info(const std::string& value);
5878  std::string* _internal_mutable_solution_info();
5879  public:
5880 
5881  // double objective_value = 3;
5882  void clear_objective_value();
5883  double objective_value() const;
5884  void set_objective_value(double value);
5885  private:
5886  double _internal_objective_value() const;
5887  void _internal_set_objective_value(double value);
5888  public:
5889 
5890  // .operations_research.sat.CpSolverStatus status = 1;
5891  void clear_status();
5892  ::operations_research::sat::CpSolverStatus status() const;
5893  void set_status(::operations_research::sat::CpSolverStatus value);
5894  private:
5895  ::operations_research::sat::CpSolverStatus _internal_status() const;
5896  void _internal_set_status(::operations_research::sat::CpSolverStatus value);
5897  public:
5898 
5899  // bool all_solutions_were_found = 5;
5900  void clear_all_solutions_were_found();
5901  bool all_solutions_were_found() const;
5902  void set_all_solutions_were_found(bool value);
5903  private:
5904  bool _internal_all_solutions_were_found() const;
5905  void _internal_set_all_solutions_were_found(bool value);
5906  public:
5907 
5908  // double best_objective_bound = 4;
5909  void clear_best_objective_bound();
5910  double best_objective_bound() const;
5911  void set_best_objective_bound(double value);
5912  private:
5913  double _internal_best_objective_bound() const;
5914  void _internal_set_best_objective_bound(double value);
5915  public:
5916 
5917  // int64 num_booleans = 10;
5918  void clear_num_booleans();
5919  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const;
5920  void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
5921  private:
5922  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_booleans() const;
5923  void _internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
5924  public:
5925 
5926  // int64 num_conflicts = 11;
5927  void clear_num_conflicts();
5928  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const;
5929  void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
5930  private:
5931  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_conflicts() const;
5932  void _internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
5933  public:
5934 
5935  // int64 num_branches = 12;
5936  void clear_num_branches();
5937  ::PROTOBUF_NAMESPACE_ID::int64 num_branches() const;
5938  void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
5939  private:
5940  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_branches() const;
5941  void _internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
5942  public:
5943 
5944  // int64 num_binary_propagations = 13;
5945  void clear_num_binary_propagations();
5946  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const;
5947  void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5948  private:
5949  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_binary_propagations() const;
5950  void _internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5951  public:
5952 
5953  // int64 num_integer_propagations = 14;
5954  void clear_num_integer_propagations();
5955  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const;
5956  void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5957  private:
5958  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_integer_propagations() const;
5959  void _internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5960  public:
5961 
5962  // double wall_time = 15;
5963  void clear_wall_time();
5964  double wall_time() const;
5965  void set_wall_time(double value);
5966  private:
5967  double _internal_wall_time() const;
5968  void _internal_set_wall_time(double value);
5969  public:
5970 
5971  // double user_time = 16;
5972  void clear_user_time();
5973  double user_time() const;
5974  void set_user_time(double value);
5975  private:
5976  double _internal_user_time() const;
5977  void _internal_set_user_time(double value);
5978  public:
5979 
5980  // double deterministic_time = 17;
5981  void clear_deterministic_time();
5982  double deterministic_time() const;
5983  void set_deterministic_time(double value);
5984  private:
5985  double _internal_deterministic_time() const;
5986  void _internal_set_deterministic_time(double value);
5987  public:
5988 
5989  // double primal_integral = 22;
5990  void clear_primal_integral();
5991  double primal_integral() const;
5992  void set_primal_integral(double value);
5993  private:
5994  double _internal_primal_integral() const;
5995  void _internal_set_primal_integral(double value);
5996  public:
5997 
5998  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
5999  private:
6000  class _Internal;
6001 
6002  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6003  typedef void InternalArenaConstructable_;
6004  typedef void DestructorSkippable_;
6005  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_;
6006  mutable std::atomic<int> _solution_cached_byte_size_;
6007  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_lower_bounds_;
6008  mutable std::atomic<int> _solution_lower_bounds_cached_byte_size_;
6009  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_upper_bounds_;
6010  mutable std::atomic<int> _solution_upper_bounds_cached_byte_size_;
6011  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
6012  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > sufficient_assumptions_for_infeasibility_;
6013  mutable std::atomic<int> _sufficient_assumptions_for_infeasibility_cached_byte_size_;
6014  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
6015  double objective_value_;
6016  int status_;
6017  bool all_solutions_were_found_;
6018  double best_objective_bound_;
6019  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans_;
6020  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts_;
6021  ::PROTOBUF_NAMESPACE_ID::int64 num_branches_;
6022  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations_;
6023  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations_;
6024  double wall_time_;
6025  double user_time_;
6026  double deterministic_time_;
6027  double primal_integral_;
6028  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6030 };
6031 // ===================================================================
6032 
6033 
6034 // ===================================================================
6035 
6036 #ifdef __GNUC__
6037  #pragma GCC diagnostic push
6038  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
6039 #endif // __GNUC__
6040 // IntegerVariableProto
6041 
6042 // string name = 1;
6043 inline void IntegerVariableProto::clear_name() {
6044  name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6045 }
6046 inline const std::string& IntegerVariableProto::name() const {
6047  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
6048  return _internal_name();
6049 }
6050 inline void IntegerVariableProto::set_name(const std::string& value) {
6051  _internal_set_name(value);
6052  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
6053 }
6054 inline std::string* IntegerVariableProto::mutable_name() {
6055  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
6056  return _internal_mutable_name();
6057 }
6058 inline const std::string& IntegerVariableProto::_internal_name() const {
6059  return name_.Get();
6060 }
6061 inline void IntegerVariableProto::_internal_set_name(const std::string& value) {
6062 
6063  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
6064 }
6065 inline void IntegerVariableProto::set_name(std::string&& value) {
6066 
6067  name_.Set(
6068  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
6069  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.IntegerVariableProto.name)
6070 }
6071 inline void IntegerVariableProto::set_name(const char* value) {
6072  GOOGLE_DCHECK(value != nullptr);
6073 
6074  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
6075  GetArena());
6076  // @@protoc_insertion_point(field_set_char:operations_research.sat.IntegerVariableProto.name)
6077 }
6078 inline void IntegerVariableProto::set_name(const char* value,
6079  size_t size) {
6080 
6081  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
6082  reinterpret_cast<const char*>(value), size), GetArena());
6083  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.IntegerVariableProto.name)
6084 }
6085 inline std::string* IntegerVariableProto::_internal_mutable_name() {
6086 
6087  return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6088 }
6089 inline std::string* IntegerVariableProto::release_name() {
6090  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
6091  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6092 }
6093 inline void IntegerVariableProto::set_allocated_name(std::string* name) {
6094  if (name != nullptr) {
6095 
6096  } else {
6097 
6098  }
6099  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
6100  GetArena());
6101  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
6102 }
6103 inline std::string* IntegerVariableProto::unsafe_arena_release_name() {
6104  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.IntegerVariableProto.name)
6105  GOOGLE_DCHECK(GetArena() != nullptr);
6106 
6107  return name_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6108  GetArena());
6109 }
6110 inline void IntegerVariableProto::unsafe_arena_set_allocated_name(
6111  std::string* name) {
6112  GOOGLE_DCHECK(GetArena() != nullptr);
6113  if (name != nullptr) {
6114 
6115  } else {
6116 
6117  }
6118  name_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
6119  name, GetArena());
6120  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntegerVariableProto.name)
6121 }
6122 
6123 // repeated int64 domain = 2;
6124 inline int IntegerVariableProto::_internal_domain_size() const {
6125  return domain_.size();
6126 }
6127 inline int IntegerVariableProto::domain_size() const {
6128  return _internal_domain_size();
6129 }
6130 inline void IntegerVariableProto::clear_domain() {
6131  domain_.Clear();
6132 }
6133 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::_internal_domain(int index) const {
6134  return domain_.Get(index);
6135 }
6136 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::domain(int index) const {
6137  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
6138  return _internal_domain(index);
6139 }
6140 inline void IntegerVariableProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6141  domain_.Set(index, value);
6142  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
6143 }
6144 inline void IntegerVariableProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6145  domain_.Add(value);
6146 }
6147 inline void IntegerVariableProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6148  _internal_add_domain(value);
6149  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
6150 }
6151 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6152 IntegerVariableProto::_internal_domain() const {
6153  return domain_;
6154 }
6155 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6156 IntegerVariableProto::domain() const {
6157  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
6158  return _internal_domain();
6159 }
6160 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6161 IntegerVariableProto::_internal_mutable_domain() {
6162  return &domain_;
6163 }
6164 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6165 IntegerVariableProto::mutable_domain() {
6166  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
6167  return _internal_mutable_domain();
6168 }
6169 
6170 // -------------------------------------------------------------------
6171 
6172 // BoolArgumentProto
6173 
6174 // repeated int32 literals = 1;
6175 inline int BoolArgumentProto::_internal_literals_size() const {
6176  return literals_.size();
6177 }
6178 inline int BoolArgumentProto::literals_size() const {
6179  return _internal_literals_size();
6180 }
6181 inline void BoolArgumentProto::clear_literals() {
6182  literals_.Clear();
6183 }
6184 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::_internal_literals(int index) const {
6185  return literals_.Get(index);
6186 }
6187 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::literals(int index) const {
6188  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
6189  return _internal_literals(index);
6190 }
6191 inline void BoolArgumentProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6192  literals_.Set(index, value);
6193  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
6194 }
6195 inline void BoolArgumentProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6196  literals_.Add(value);
6197 }
6198 inline void BoolArgumentProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6199  _internal_add_literals(value);
6200  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
6201 }
6202 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6203 BoolArgumentProto::_internal_literals() const {
6204  return literals_;
6205 }
6206 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6207 BoolArgumentProto::literals() const {
6208  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
6209  return _internal_literals();
6210 }
6211 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6212 BoolArgumentProto::_internal_mutable_literals() {
6213  return &literals_;
6214 }
6215 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6216 BoolArgumentProto::mutable_literals() {
6217  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
6218  return _internal_mutable_literals();
6219 }
6220 
6221 // -------------------------------------------------------------------
6222 
6223 // IntegerArgumentProto
6224 
6225 // int32 target = 1;
6226 inline void IntegerArgumentProto::clear_target() {
6227  target_ = 0;
6228 }
6229 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_target() const {
6230  return target_;
6231 }
6232 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::target() const {
6233  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.target)
6234  return _internal_target();
6235 }
6236 inline void IntegerArgumentProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6237 
6238  target_ = value;
6239 }
6240 inline void IntegerArgumentProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6241  _internal_set_target(value);
6242  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.target)
6243 }
6244 
6245 // repeated int32 vars = 2;
6246 inline int IntegerArgumentProto::_internal_vars_size() const {
6247  return vars_.size();
6248 }
6249 inline int IntegerArgumentProto::vars_size() const {
6250  return _internal_vars_size();
6251 }
6252 inline void IntegerArgumentProto::clear_vars() {
6253  vars_.Clear();
6254 }
6255 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_vars(int index) const {
6256  return vars_.Get(index);
6257 }
6258 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::vars(int index) const {
6259  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.vars)
6260  return _internal_vars(index);
6261 }
6262 inline void IntegerArgumentProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6263  vars_.Set(index, value);
6264  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.vars)
6265 }
6266 inline void IntegerArgumentProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6267  vars_.Add(value);
6268 }
6269 inline void IntegerArgumentProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6270  _internal_add_vars(value);
6271  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerArgumentProto.vars)
6272 }
6273 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6274 IntegerArgumentProto::_internal_vars() const {
6275  return vars_;
6276 }
6277 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6278 IntegerArgumentProto::vars() const {
6279  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerArgumentProto.vars)
6280  return _internal_vars();
6281 }
6282 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6283 IntegerArgumentProto::_internal_mutable_vars() {
6284  return &vars_;
6285 }
6286 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6287 IntegerArgumentProto::mutable_vars() {
6288  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerArgumentProto.vars)
6289  return _internal_mutable_vars();
6290 }
6291 
6292 // -------------------------------------------------------------------
6293 
6294 // LinearExpressionProto
6295 
6296 // repeated int32 vars = 1;
6297 inline int LinearExpressionProto::_internal_vars_size() const {
6298  return vars_.size();
6299 }
6300 inline int LinearExpressionProto::vars_size() const {
6301  return _internal_vars_size();
6302 }
6303 inline void LinearExpressionProto::clear_vars() {
6304  vars_.Clear();
6305 }
6306 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::_internal_vars(int index) const {
6307  return vars_.Get(index);
6308 }
6309 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::vars(int index) const {
6310  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
6311  return _internal_vars(index);
6312 }
6313 inline void LinearExpressionProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6314  vars_.Set(index, value);
6315  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
6316 }
6317 inline void LinearExpressionProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6318  vars_.Add(value);
6319 }
6320 inline void LinearExpressionProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6321  _internal_add_vars(value);
6322  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
6323 }
6324 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6325 LinearExpressionProto::_internal_vars() const {
6326  return vars_;
6327 }
6328 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6329 LinearExpressionProto::vars() const {
6330  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
6331  return _internal_vars();
6332 }
6333 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6334 LinearExpressionProto::_internal_mutable_vars() {
6335  return &vars_;
6336 }
6337 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6338 LinearExpressionProto::mutable_vars() {
6339  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
6340  return _internal_mutable_vars();
6341 }
6342 
6343 // repeated int32 coeffs = 2;
6344 inline int LinearExpressionProto::_internal_coeffs_size() const {
6345  return coeffs_.size();
6346 }
6347 inline int LinearExpressionProto::coeffs_size() const {
6348  return _internal_coeffs_size();
6349 }
6350 inline void LinearExpressionProto::clear_coeffs() {
6351  coeffs_.Clear();
6352 }
6353 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::_internal_coeffs(int index) const {
6354  return coeffs_.Get(index);
6355 }
6356 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::coeffs(int index) const {
6357  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
6358  return _internal_coeffs(index);
6359 }
6360 inline void LinearExpressionProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6361  coeffs_.Set(index, value);
6362  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
6363 }
6364 inline void LinearExpressionProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int32 value) {
6365  coeffs_.Add(value);
6366 }
6367 inline void LinearExpressionProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int32 value) {
6368  _internal_add_coeffs(value);
6369  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
6370 }
6371 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6372 LinearExpressionProto::_internal_coeffs() const {
6373  return coeffs_;
6374 }
6375 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6376 LinearExpressionProto::coeffs() const {
6377  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
6378  return _internal_coeffs();
6379 }
6380 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6381 LinearExpressionProto::_internal_mutable_coeffs() {
6382  return &coeffs_;
6383 }
6384 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6385 LinearExpressionProto::mutable_coeffs() {
6386  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
6387  return _internal_mutable_coeffs();
6388 }
6389 
6390 // int64 offset = 3;
6391 inline void LinearExpressionProto::clear_offset() {
6392  offset_ = PROTOBUF_LONGLONG(0);
6393 }
6394 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_offset() const {
6395  return offset_;
6396 }
6397 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::offset() const {
6398  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
6399  return _internal_offset();
6400 }
6401 inline void LinearExpressionProto::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6402 
6403  offset_ = value;
6404 }
6405 inline void LinearExpressionProto::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6406  _internal_set_offset(value);
6407  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
6408 }
6409 
6410 // -------------------------------------------------------------------
6411 
6412 // LinearArgumentProto
6413 
6414 // .operations_research.sat.LinearExpressionProto target = 1;
6415 inline bool LinearArgumentProto::_internal_has_target() const {
6416  return this != internal_default_instance() && target_ != nullptr;
6417 }
6418 inline bool LinearArgumentProto::has_target() const {
6419  return _internal_has_target();
6420 }
6421 inline void LinearArgumentProto::clear_target() {
6422  if (GetArena() == nullptr && target_ != nullptr) {
6423  delete target_;
6424  }
6425  target_ = nullptr;
6426 }
6427 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
6428  const ::operations_research::sat::LinearExpressionProto* p = target_;
6429  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::LinearExpressionProto*>(
6431 }
6432 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const {
6433  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
6434  return _internal_target();
6435 }
6436 inline void LinearArgumentProto::unsafe_arena_set_allocated_target(
6437  ::operations_research::sat::LinearExpressionProto* target) {
6438  if (GetArena() == nullptr) {
6439  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(target_);
6440  }
6441  target_ = target;
6442  if (target) {
6443 
6444  } else {
6445 
6446  }
6447  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
6448 }
6449 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::release_target() {
6450  auto temp = unsafe_arena_release_target();
6451  if (GetArena() != nullptr) {
6452  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6453  }
6454  return temp;
6455 }
6456 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::unsafe_arena_release_target() {
6457  // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
6458 
6459  ::operations_research::sat::LinearExpressionProto* temp = target_;
6460  target_ = nullptr;
6461  return temp;
6462 }
6463 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_mutable_target() {
6464 
6465  if (target_ == nullptr) {
6466  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6467  target_ = p;
6468  }
6469  return target_;
6470 }
6471 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_target() {
6472  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
6473  return _internal_mutable_target();
6474 }
6475 inline void LinearArgumentProto::set_allocated_target(::operations_research::sat::LinearExpressionProto* target) {
6476  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6477  if (message_arena == nullptr) {
6478  delete target_;
6479  }
6480  if (target) {
6481  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6482  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(target);
6483  if (message_arena != submessage_arena) {
6484  target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6485  message_arena, target, submessage_arena);
6486  }
6487 
6488  } else {
6489 
6490  }
6491  target_ = target;
6492  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
6493 }
6494 
6495 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
6496 inline int LinearArgumentProto::_internal_exprs_size() const {
6497  return exprs_.size();
6498 }
6499 inline int LinearArgumentProto::exprs_size() const {
6500  return _internal_exprs_size();
6501 }
6502 inline void LinearArgumentProto::clear_exprs() {
6503  exprs_.Clear();
6504 }
6505 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_exprs(int index) {
6506  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
6507  return exprs_.Mutable(index);
6508 }
6509 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
6510 LinearArgumentProto::mutable_exprs() {
6511  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
6512  return &exprs_;
6513 }
6514 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_exprs(int index) const {
6515  return exprs_.Get(index);
6516 }
6517 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const {
6518  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
6519  return _internal_exprs(index);
6520 }
6521 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_add_exprs() {
6522  return exprs_.Add();
6523 }
6524 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::add_exprs() {
6525  // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
6526  return _internal_add_exprs();
6527 }
6528 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
6529 LinearArgumentProto::exprs() const {
6530  // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
6531  return exprs_;
6532 }
6533 
6534 // -------------------------------------------------------------------
6535 
6536 // AllDifferentConstraintProto
6537 
6538 // repeated int32 vars = 1;
6539 inline int AllDifferentConstraintProto::_internal_vars_size() const {
6540  return vars_.size();
6541 }
6542 inline int AllDifferentConstraintProto::vars_size() const {
6543  return _internal_vars_size();
6544 }
6545 inline void AllDifferentConstraintProto::clear_vars() {
6546  vars_.Clear();
6547 }
6548 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::_internal_vars(int index) const {
6549  return vars_.Get(index);
6550 }
6551 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::vars(int index) const {
6552  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.vars)
6553  return _internal_vars(index);
6554 }
6555 inline void AllDifferentConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6556  vars_.Set(index, value);
6557  // @@protoc_insertion_point(field_set:operations_research.sat.AllDifferentConstraintProto.vars)
6558 }
6559 inline void AllDifferentConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6560  vars_.Add(value);
6561 }
6562 inline void AllDifferentConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6563  _internal_add_vars(value);
6564  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.vars)
6565 }
6566 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6567 AllDifferentConstraintProto::_internal_vars() const {
6568  return vars_;
6569 }
6570 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6571 AllDifferentConstraintProto::vars() const {
6572  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.vars)
6573  return _internal_vars();
6574 }
6575 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6576 AllDifferentConstraintProto::_internal_mutable_vars() {
6577  return &vars_;
6578 }
6579 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6580 AllDifferentConstraintProto::mutable_vars() {
6581  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.vars)
6582  return _internal_mutable_vars();
6583 }
6584 
6585 // -------------------------------------------------------------------
6586 
6587 // LinearConstraintProto
6588 
6589 // repeated int32 vars = 1;
6590 inline int LinearConstraintProto::_internal_vars_size() const {
6591  return vars_.size();
6592 }
6593 inline int LinearConstraintProto::vars_size() const {
6594  return _internal_vars_size();
6595 }
6596 inline void LinearConstraintProto::clear_vars() {
6597  vars_.Clear();
6598 }
6599 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::_internal_vars(int index) const {
6600  return vars_.Get(index);
6601 }
6602 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::vars(int index) const {
6603  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
6604  return _internal_vars(index);
6605 }
6606 inline void LinearConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6607  vars_.Set(index, value);
6608  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
6609 }
6610 inline void LinearConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6611  vars_.Add(value);
6612 }
6613 inline void LinearConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6614  _internal_add_vars(value);
6615  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
6616 }
6617 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6618 LinearConstraintProto::_internal_vars() const {
6619  return vars_;
6620 }
6621 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6622 LinearConstraintProto::vars() const {
6623  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
6624  return _internal_vars();
6625 }
6626 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6627 LinearConstraintProto::_internal_mutable_vars() {
6628  return &vars_;
6629 }
6630 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6631 LinearConstraintProto::mutable_vars() {
6632  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
6633  return _internal_mutable_vars();
6634 }
6635 
6636 // repeated int64 coeffs = 2;
6637 inline int LinearConstraintProto::_internal_coeffs_size() const {
6638  return coeffs_.size();
6639 }
6640 inline int LinearConstraintProto::coeffs_size() const {
6641  return _internal_coeffs_size();
6642 }
6643 inline void LinearConstraintProto::clear_coeffs() {
6644  coeffs_.Clear();
6645 }
6646 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_coeffs(int index) const {
6647  return coeffs_.Get(index);
6648 }
6649 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::coeffs(int index) const {
6650  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
6651  return _internal_coeffs(index);
6652 }
6653 inline void LinearConstraintProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6654  coeffs_.Set(index, value);
6655  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
6656 }
6657 inline void LinearConstraintProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6658  coeffs_.Add(value);
6659 }
6660 inline void LinearConstraintProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6661  _internal_add_coeffs(value);
6662  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
6663 }
6664 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6665 LinearConstraintProto::_internal_coeffs() const {
6666  return coeffs_;
6667 }
6668 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6669 LinearConstraintProto::coeffs() const {
6670  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
6671  return _internal_coeffs();
6672 }
6673 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6674 LinearConstraintProto::_internal_mutable_coeffs() {
6675  return &coeffs_;
6676 }
6677 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6678 LinearConstraintProto::mutable_coeffs() {
6679  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
6680  return _internal_mutable_coeffs();
6681 }
6682 
6683 // repeated int64 domain = 3;
6684 inline int LinearConstraintProto::_internal_domain_size() const {
6685  return domain_.size();
6686 }
6687 inline int LinearConstraintProto::domain_size() const {
6688  return _internal_domain_size();
6689 }
6690 inline void LinearConstraintProto::clear_domain() {
6691  domain_.Clear();
6692 }
6693 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_domain(int index) const {
6694  return domain_.Get(index);
6695 }
6696 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::domain(int index) const {
6697  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
6698  return _internal_domain(index);
6699 }
6700 inline void LinearConstraintProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6701  domain_.Set(index, value);
6702  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
6703 }
6704 inline void LinearConstraintProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6705  domain_.Add(value);
6706 }
6707 inline void LinearConstraintProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6708  _internal_add_domain(value);
6709  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
6710 }
6711 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6712 LinearConstraintProto::_internal_domain() const {
6713  return domain_;
6714 }
6715 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6716 LinearConstraintProto::domain() const {
6717  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
6718  return _internal_domain();
6719 }
6720 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6721 LinearConstraintProto::_internal_mutable_domain() {
6722  return &domain_;
6723 }
6724 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6725 LinearConstraintProto::mutable_domain() {
6726  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
6727  return _internal_mutable_domain();
6728 }
6729 
6730 // -------------------------------------------------------------------
6731 
6732 // ElementConstraintProto
6733 
6734 // int32 index = 1;
6735 inline void ElementConstraintProto::clear_index() {
6736  index_ = 0;
6737 }
6738 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_index() const {
6739  return index_;
6740 }
6741 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::index() const {
6742  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
6743  return _internal_index();
6744 }
6745 inline void ElementConstraintProto::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
6746 
6747  index_ = value;
6748 }
6749 inline void ElementConstraintProto::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
6750  _internal_set_index(value);
6751  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
6752 }
6753 
6754 // int32 target = 2;
6755 inline void ElementConstraintProto::clear_target() {
6756  target_ = 0;
6757 }
6758 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_target() const {
6759  return target_;
6760 }
6761 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::target() const {
6762  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
6763  return _internal_target();
6764 }
6765 inline void ElementConstraintProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6766 
6767  target_ = value;
6768 }
6769 inline void ElementConstraintProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6770  _internal_set_target(value);
6771  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
6772 }
6773 
6774 // repeated int32 vars = 3;
6775 inline int ElementConstraintProto::_internal_vars_size() const {
6776  return vars_.size();
6777 }
6778 inline int ElementConstraintProto::vars_size() const {
6779  return _internal_vars_size();
6780 }
6781 inline void ElementConstraintProto::clear_vars() {
6782  vars_.Clear();
6783 }
6784 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_vars(int index) const {
6785  return vars_.Get(index);
6786 }
6787 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::vars(int index) const {
6788  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
6789  return _internal_vars(index);
6790 }
6791 inline void ElementConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6792  vars_.Set(index, value);
6793  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
6794 }
6795 inline void ElementConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6796  vars_.Add(value);
6797 }
6798 inline void ElementConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6799  _internal_add_vars(value);
6800  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
6801 }
6802 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6803 ElementConstraintProto::_internal_vars() const {
6804  return vars_;
6805 }
6806 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6807 ElementConstraintProto::vars() const {
6808  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
6809  return _internal_vars();
6810 }
6811 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6812 ElementConstraintProto::_internal_mutable_vars() {
6813  return &vars_;
6814 }
6815 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6816 ElementConstraintProto::mutable_vars() {
6817  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
6818  return _internal_mutable_vars();
6819 }
6820 
6821 // -------------------------------------------------------------------
6822 
6823 // IntervalConstraintProto
6824 
6825 // int32 start = 1;
6826 inline void IntervalConstraintProto::clear_start() {
6827  start_ = 0;
6828 }
6829 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_start() const {
6830  return start_;
6831 }
6832 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::start() const {
6833  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
6834  return _internal_start();
6835 }
6836 inline void IntervalConstraintProto::_internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
6837 
6838  start_ = value;
6839 }
6840 inline void IntervalConstraintProto::set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
6841  _internal_set_start(value);
6842  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.start)
6843 }
6844 
6845 // int32 end = 2;
6846 inline void IntervalConstraintProto::clear_end() {
6847  end_ = 0;
6848 }
6849 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_end() const {
6850  return end_;
6851 }
6852 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::end() const {
6853  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
6854  return _internal_end();
6855 }
6856 inline void IntervalConstraintProto::_internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
6857 
6858  end_ = value;
6859 }
6860 inline void IntervalConstraintProto::set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
6861  _internal_set_end(value);
6862  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.end)
6863 }
6864 
6865 // int32 size = 3;
6866 inline void IntervalConstraintProto::clear_size() {
6867  size_ = 0;
6868 }
6869 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_size() const {
6870  return size_;
6871 }
6872 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::size() const {
6873  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
6874  return _internal_size();
6875 }
6876 inline void IntervalConstraintProto::_internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6877 
6878  size_ = value;
6879 }
6880 inline void IntervalConstraintProto::set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6881  _internal_set_size(value);
6882  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.size)
6883 }
6884 
6885 // -------------------------------------------------------------------
6886 
6887 // NoOverlapConstraintProto
6888 
6889 // repeated int32 intervals = 1;
6890 inline int NoOverlapConstraintProto::_internal_intervals_size() const {
6891  return intervals_.size();
6892 }
6893 inline int NoOverlapConstraintProto::intervals_size() const {
6894  return _internal_intervals_size();
6895 }
6896 inline void NoOverlapConstraintProto::clear_intervals() {
6897  intervals_.Clear();
6898 }
6899 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::_internal_intervals(int index) const {
6900  return intervals_.Get(index);
6901 }
6902 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::intervals(int index) const {
6903  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
6904  return _internal_intervals(index);
6905 }
6906 inline void NoOverlapConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6907  intervals_.Set(index, value);
6908  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
6909 }
6910 inline void NoOverlapConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6911  intervals_.Add(value);
6912 }
6913 inline void NoOverlapConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6914  _internal_add_intervals(value);
6915  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
6916 }
6917 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6918 NoOverlapConstraintProto::_internal_intervals() const {
6919  return intervals_;
6920 }
6921 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6922 NoOverlapConstraintProto::intervals() const {
6923  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
6924  return _internal_intervals();
6925 }
6926 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6927 NoOverlapConstraintProto::_internal_mutable_intervals() {
6928  return &intervals_;
6929 }
6930 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6931 NoOverlapConstraintProto::mutable_intervals() {
6932  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
6933  return _internal_mutable_intervals();
6934 }
6935 
6936 // -------------------------------------------------------------------
6937 
6938 // NoOverlap2DConstraintProto
6939 
6940 // repeated int32 x_intervals = 1;
6941 inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
6942  return x_intervals_.size();
6943 }
6944 inline int NoOverlap2DConstraintProto::x_intervals_size() const {
6945  return _internal_x_intervals_size();
6946 }
6947 inline void NoOverlap2DConstraintProto::clear_x_intervals() {
6948  x_intervals_.Clear();
6949 }
6950 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_x_intervals(int index) const {
6951  return x_intervals_.Get(index);
6952 }
6953 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::x_intervals(int index) const {
6954  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6955  return _internal_x_intervals(index);
6956 }
6957 inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6958  x_intervals_.Set(index, value);
6959  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6960 }
6961 inline void NoOverlap2DConstraintProto::_internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6962  x_intervals_.Add(value);
6963 }
6964 inline void NoOverlap2DConstraintProto::add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6965  _internal_add_x_intervals(value);
6966  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6967 }
6968 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6969 NoOverlap2DConstraintProto::_internal_x_intervals() const {
6970  return x_intervals_;
6971 }
6972 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6973 NoOverlap2DConstraintProto::x_intervals() const {
6974  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6975  return _internal_x_intervals();
6976 }
6977 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6978 NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
6979  return &x_intervals_;
6980 }
6981 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6982 NoOverlap2DConstraintProto::mutable_x_intervals() {
6983  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6984  return _internal_mutable_x_intervals();
6985 }
6986 
6987 // repeated int32 y_intervals = 2;
6988 inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
6989  return y_intervals_.size();
6990 }
6991 inline int NoOverlap2DConstraintProto::y_intervals_size() const {
6992  return _internal_y_intervals_size();
6993 }
6994 inline void NoOverlap2DConstraintProto::clear_y_intervals() {
6995  y_intervals_.Clear();
6996 }
6997 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_y_intervals(int index) const {
6998  return y_intervals_.Get(index);
6999 }
7000 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::y_intervals(int index) const {
7001  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7002  return _internal_y_intervals(index);
7003 }
7004 inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7005  y_intervals_.Set(index, value);
7006  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7007 }
7008 inline void NoOverlap2DConstraintProto::_internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7009  y_intervals_.Add(value);
7010 }
7011 inline void NoOverlap2DConstraintProto::add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7012  _internal_add_y_intervals(value);
7013  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7014 }
7015 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7016 NoOverlap2DConstraintProto::_internal_y_intervals() const {
7017  return y_intervals_;
7018 }
7019 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7020 NoOverlap2DConstraintProto::y_intervals() const {
7021  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7022  return _internal_y_intervals();
7023 }
7024 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7025 NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
7026  return &y_intervals_;
7027 }
7028 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7029 NoOverlap2DConstraintProto::mutable_y_intervals() {
7030  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7031  return _internal_mutable_y_intervals();
7032 }
7033 
7034 // bool boxes_with_null_area_can_overlap = 3;
7035 inline void NoOverlap2DConstraintProto::clear_boxes_with_null_area_can_overlap() {
7036  boxes_with_null_area_can_overlap_ = false;
7037 }
7038 inline bool NoOverlap2DConstraintProto::_internal_boxes_with_null_area_can_overlap() const {
7039  return boxes_with_null_area_can_overlap_;
7040 }
7041 inline bool NoOverlap2DConstraintProto::boxes_with_null_area_can_overlap() const {
7042  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7043  return _internal_boxes_with_null_area_can_overlap();
7044 }
7045 inline void NoOverlap2DConstraintProto::_internal_set_boxes_with_null_area_can_overlap(bool value) {
7046 
7047  boxes_with_null_area_can_overlap_ = value;
7048 }
7049 inline void NoOverlap2DConstraintProto::set_boxes_with_null_area_can_overlap(bool value) {
7050  _internal_set_boxes_with_null_area_can_overlap(value);
7051  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7052 }
7053 
7054 // -------------------------------------------------------------------
7055 
7056 // CumulativeConstraintProto
7057 
7058 // int32 capacity = 1;
7059 inline void CumulativeConstraintProto::clear_capacity() {
7060  capacity_ = 0;
7061 }
7062 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_capacity() const {
7063  return capacity_;
7064 }
7065 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::capacity() const {
7066  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
7067  return _internal_capacity();
7068 }
7069 inline void CumulativeConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7070 
7071  capacity_ = value;
7072 }
7073 inline void CumulativeConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7074  _internal_set_capacity(value);
7075  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.capacity)
7076 }
7077 
7078 // repeated int32 intervals = 2;
7079 inline int CumulativeConstraintProto::_internal_intervals_size() const {
7080  return intervals_.size();
7081 }
7082 inline int CumulativeConstraintProto::intervals_size() const {
7083  return _internal_intervals_size();
7084 }
7085 inline void CumulativeConstraintProto::clear_intervals() {
7086  intervals_.Clear();
7087 }
7088 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_intervals(int index) const {
7089  return intervals_.Get(index);
7090 }
7091 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::intervals(int index) const {
7092  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
7093  return _internal_intervals(index);
7094 }
7095 inline void CumulativeConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7096  intervals_.Set(index, value);
7097  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
7098 }
7099 inline void CumulativeConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7100  intervals_.Add(value);
7101 }
7102 inline void CumulativeConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7103  _internal_add_intervals(value);
7104  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
7105 }
7106 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7107 CumulativeConstraintProto::_internal_intervals() const {
7108  return intervals_;
7109 }
7110 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7111 CumulativeConstraintProto::intervals() const {
7112  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
7113  return _internal_intervals();
7114 }
7115 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7116 CumulativeConstraintProto::_internal_mutable_intervals() {
7117  return &intervals_;
7118 }
7119 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7120 CumulativeConstraintProto::mutable_intervals() {
7121  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
7122  return _internal_mutable_intervals();
7123 }
7124 
7125 // repeated int32 demands = 3;
7126 inline int CumulativeConstraintProto::_internal_demands_size() const {
7127  return demands_.size();
7128 }
7129 inline int CumulativeConstraintProto::demands_size() const {
7130  return _internal_demands_size();
7131 }
7132 inline void CumulativeConstraintProto::clear_demands() {
7133  demands_.Clear();
7134 }
7135 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_demands(int index) const {
7136  return demands_.Get(index);
7137 }
7138 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::demands(int index) const {
7139  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
7140  return _internal_demands(index);
7141 }
7142 inline void CumulativeConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7143  demands_.Set(index, value);
7144  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.demands)
7145 }
7146 inline void CumulativeConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7147  demands_.Add(value);
7148 }
7149 inline void CumulativeConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7150  _internal_add_demands(value);
7151  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
7152 }
7153 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7154 CumulativeConstraintProto::_internal_demands() const {
7155  return demands_;
7156 }
7157 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7158 CumulativeConstraintProto::demands() const {
7159  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
7160  return _internal_demands();
7161 }
7162 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7163 CumulativeConstraintProto::_internal_mutable_demands() {
7164  return &demands_;
7165 }
7166 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7167 CumulativeConstraintProto::mutable_demands() {
7168  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
7169  return _internal_mutable_demands();
7170 }
7171 
7172 // -------------------------------------------------------------------
7173 
7174 // ReservoirConstraintProto
7175 
7176 // int64 min_level = 1;
7177 inline void ReservoirConstraintProto::clear_min_level() {
7178  min_level_ = PROTOBUF_LONGLONG(0);
7179 }
7180 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_min_level() const {
7181  return min_level_;
7182 }
7183 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::min_level() const {
7184  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
7185  return _internal_min_level();
7186 }
7187 inline void ReservoirConstraintProto::_internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7188 
7189  min_level_ = value;
7190 }
7191 inline void ReservoirConstraintProto::set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7192  _internal_set_min_level(value);
7193  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
7194 }
7195 
7196 // int64 max_level = 2;
7197 inline void ReservoirConstraintProto::clear_max_level() {
7198  max_level_ = PROTOBUF_LONGLONG(0);
7199 }
7200 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_max_level() const {
7201  return max_level_;
7202 }
7203 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::max_level() const {
7204  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
7205  return _internal_max_level();
7206 }
7207 inline void ReservoirConstraintProto::_internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7208 
7209  max_level_ = value;
7210 }
7211 inline void ReservoirConstraintProto::set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7212  _internal_set_max_level(value);
7213  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
7214 }
7215 
7216 // repeated int32 times = 3;
7217 inline int ReservoirConstraintProto::_internal_times_size() const {
7218  return times_.size();
7219 }
7220 inline int ReservoirConstraintProto::times_size() const {
7221  return _internal_times_size();
7222 }
7223 inline void ReservoirConstraintProto::clear_times() {
7224  times_.Clear();
7225 }
7226 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_times(int index) const {
7227  return times_.Get(index);
7228 }
7229 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::times(int index) const {
7230  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.times)
7231  return _internal_times(index);
7232 }
7233 inline void ReservoirConstraintProto::set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7234  times_.Set(index, value);
7235  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.times)
7236 }
7237 inline void ReservoirConstraintProto::_internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7238  times_.Add(value);
7239 }
7240 inline void ReservoirConstraintProto::add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7241  _internal_add_times(value);
7242  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.times)
7243 }
7244 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7245 ReservoirConstraintProto::_internal_times() const {
7246  return times_;
7247 }
7248 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7249 ReservoirConstraintProto::times() const {
7250  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.times)
7251  return _internal_times();
7252 }
7253 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7254 ReservoirConstraintProto::_internal_mutable_times() {
7255  return &times_;
7256 }
7257 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7258 ReservoirConstraintProto::mutable_times() {
7259  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.times)
7260  return _internal_mutable_times();
7261 }
7262 
7263 // repeated int64 demands = 4;
7264 inline int ReservoirConstraintProto::_internal_demands_size() const {
7265  return demands_.size();
7266 }
7267 inline int ReservoirConstraintProto::demands_size() const {
7268  return _internal_demands_size();
7269 }
7270 inline void ReservoirConstraintProto::clear_demands() {
7271  demands_.Clear();
7272 }
7273 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_demands(int index) const {
7274  return demands_.Get(index);
7275 }
7276 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::demands(int index) const {
7277  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.demands)
7278  return _internal_demands(index);
7279 }
7280 inline void ReservoirConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7281  demands_.Set(index, value);
7282  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.demands)
7283 }
7284 inline void ReservoirConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7285  demands_.Add(value);
7286 }
7287 inline void ReservoirConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7288  _internal_add_demands(value);
7289  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.demands)
7290 }
7291 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7292 ReservoirConstraintProto::_internal_demands() const {
7293  return demands_;
7294 }
7295 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7296 ReservoirConstraintProto::demands() const {
7297  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.demands)
7298  return _internal_demands();
7299 }
7300 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7301 ReservoirConstraintProto::_internal_mutable_demands() {
7302  return &demands_;
7303 }
7304 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7305 ReservoirConstraintProto::mutable_demands() {
7306  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.demands)
7307  return _internal_mutable_demands();
7308 }
7309 
7310 // repeated int32 actives = 5;
7311 inline int ReservoirConstraintProto::_internal_actives_size() const {
7312  return actives_.size();
7313 }
7314 inline int ReservoirConstraintProto::actives_size() const {
7315  return _internal_actives_size();
7316 }
7317 inline void ReservoirConstraintProto::clear_actives() {
7318  actives_.Clear();
7319 }
7320 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_actives(int index) const {
7321  return actives_.Get(index);
7322 }
7323 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::actives(int index) const {
7324  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.actives)
7325  return _internal_actives(index);
7326 }
7327 inline void ReservoirConstraintProto::set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7328  actives_.Set(index, value);
7329  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.actives)
7330 }
7331 inline void ReservoirConstraintProto::_internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7332  actives_.Add(value);
7333 }
7334 inline void ReservoirConstraintProto::add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7335  _internal_add_actives(value);
7336  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.actives)
7337 }
7338 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7339 ReservoirConstraintProto::_internal_actives() const {
7340  return actives_;
7341 }
7342 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7343 ReservoirConstraintProto::actives() const {
7344  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.actives)
7345  return _internal_actives();
7346 }
7347 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7348 ReservoirConstraintProto::_internal_mutable_actives() {
7349  return &actives_;
7350 }
7351 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7352 ReservoirConstraintProto::mutable_actives() {
7353  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.actives)
7354  return _internal_mutable_actives();
7355 }
7356 
7357 // -------------------------------------------------------------------
7358 
7359 // CircuitConstraintProto
7360 
7361 // repeated int32 tails = 3;
7362 inline int CircuitConstraintProto::_internal_tails_size() const {
7363  return tails_.size();
7364 }
7365 inline int CircuitConstraintProto::tails_size() const {
7366  return _internal_tails_size();
7367 }
7368 inline void CircuitConstraintProto::clear_tails() {
7369  tails_.Clear();
7370 }
7371 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_tails(int index) const {
7372  return tails_.Get(index);
7373 }
7374 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::tails(int index) const {
7375  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
7376  return _internal_tails(index);
7377 }
7378 inline void CircuitConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7379  tails_.Set(index, value);
7380  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
7381 }
7382 inline void CircuitConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7383  tails_.Add(value);
7384 }
7385 inline void CircuitConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7386  _internal_add_tails(value);
7387  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
7388 }
7389 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7390 CircuitConstraintProto::_internal_tails() const {
7391  return tails_;
7392 }
7393 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7394 CircuitConstraintProto::tails() const {
7395  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
7396  return _internal_tails();
7397 }
7398 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7399 CircuitConstraintProto::_internal_mutable_tails() {
7400  return &tails_;
7401 }
7402 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7403 CircuitConstraintProto::mutable_tails() {
7404  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
7405  return _internal_mutable_tails();
7406 }
7407 
7408 // repeated int32 heads = 4;
7409 inline int CircuitConstraintProto::_internal_heads_size() const {
7410  return heads_.size();
7411 }
7412 inline int CircuitConstraintProto::heads_size() const {
7413  return _internal_heads_size();
7414 }
7415 inline void CircuitConstraintProto::clear_heads() {
7416  heads_.Clear();
7417 }
7418 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_heads(int index) const {
7419  return heads_.Get(index);
7420 }
7421 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::heads(int index) const {
7422  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
7423  return _internal_heads(index);
7424 }
7425 inline void CircuitConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7426  heads_.Set(index, value);
7427  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
7428 }
7429 inline void CircuitConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7430  heads_.Add(value);
7431 }
7432 inline void CircuitConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7433  _internal_add_heads(value);
7434  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
7435 }
7436 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7437 CircuitConstraintProto::_internal_heads() const {
7438  return heads_;
7439 }
7440 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7441 CircuitConstraintProto::heads() const {
7442  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
7443  return _internal_heads();
7444 }
7445 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7446 CircuitConstraintProto::_internal_mutable_heads() {
7447  return &heads_;
7448 }
7449 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7450 CircuitConstraintProto::mutable_heads() {
7451  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
7452  return _internal_mutable_heads();
7453 }
7454 
7455 // repeated int32 literals = 5;
7456 inline int CircuitConstraintProto::_internal_literals_size() const {
7457  return literals_.size();
7458 }
7459 inline int CircuitConstraintProto::literals_size() const {
7460  return _internal_literals_size();
7461 }
7462 inline void CircuitConstraintProto::clear_literals() {
7463  literals_.Clear();
7464 }
7465 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_literals(int index) const {
7466  return literals_.Get(index);
7467 }
7468 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::literals(int index) const {
7469  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
7470  return _internal_literals(index);
7471 }
7472 inline void CircuitConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7473  literals_.Set(index, value);
7474  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
7475 }
7476 inline void CircuitConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7477  literals_.Add(value);
7478 }
7479 inline void CircuitConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7480  _internal_add_literals(value);
7481  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
7482 }
7483 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7484 CircuitConstraintProto::_internal_literals() const {
7485  return literals_;
7486 }
7487 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7488 CircuitConstraintProto::literals() const {
7489  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
7490  return _internal_literals();
7491 }
7492 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7493 CircuitConstraintProto::_internal_mutable_literals() {
7494  return &literals_;
7495 }
7496 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7497 CircuitConstraintProto::mutable_literals() {
7498  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
7499  return _internal_mutable_literals();
7500 }
7501 
7502 // -------------------------------------------------------------------
7503 
7504 // RoutesConstraintProto
7505 
7506 // repeated int32 tails = 1;
7507 inline int RoutesConstraintProto::_internal_tails_size() const {
7508  return tails_.size();
7509 }
7510 inline int RoutesConstraintProto::tails_size() const {
7511  return _internal_tails_size();
7512 }
7513 inline void RoutesConstraintProto::clear_tails() {
7514  tails_.Clear();
7515 }
7516 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_tails(int index) const {
7517  return tails_.Get(index);
7518 }
7519 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::tails(int index) const {
7520  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
7521  return _internal_tails(index);
7522 }
7523 inline void RoutesConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7524  tails_.Set(index, value);
7525  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
7526 }
7527 inline void RoutesConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7528  tails_.Add(value);
7529 }
7530 inline void RoutesConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7531  _internal_add_tails(value);
7532  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
7533 }
7534 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7535 RoutesConstraintProto::_internal_tails() const {
7536  return tails_;
7537 }
7538 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7539 RoutesConstraintProto::tails() const {
7540  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
7541  return _internal_tails();
7542 }
7543 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7544 RoutesConstraintProto::_internal_mutable_tails() {
7545  return &tails_;
7546 }
7547 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7548 RoutesConstraintProto::mutable_tails() {
7549  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
7550  return _internal_mutable_tails();
7551 }
7552 
7553 // repeated int32 heads = 2;
7554 inline int RoutesConstraintProto::_internal_heads_size() const {
7555  return heads_.size();
7556 }
7557 inline int RoutesConstraintProto::heads_size() const {
7558  return _internal_heads_size();
7559 }
7560 inline void RoutesConstraintProto::clear_heads() {
7561  heads_.Clear();
7562 }
7563 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_heads(int index) const {
7564  return heads_.Get(index);
7565 }
7566 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::heads(int index) const {
7567  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
7568  return _internal_heads(index);
7569 }
7570 inline void RoutesConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7571  heads_.Set(index, value);
7572  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
7573 }
7574 inline void RoutesConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7575  heads_.Add(value);
7576 }
7577 inline void RoutesConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7578  _internal_add_heads(value);
7579  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
7580 }
7581 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7582 RoutesConstraintProto::_internal_heads() const {
7583  return heads_;
7584 }
7585 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7586 RoutesConstraintProto::heads() const {
7587  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
7588  return _internal_heads();
7589 }
7590 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7591 RoutesConstraintProto::_internal_mutable_heads() {
7592  return &heads_;
7593 }
7594 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7595 RoutesConstraintProto::mutable_heads() {
7596  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
7597  return _internal_mutable_heads();
7598 }
7599 
7600 // repeated int32 literals = 3;
7601 inline int RoutesConstraintProto::_internal_literals_size() const {
7602  return literals_.size();
7603 }
7604 inline int RoutesConstraintProto::literals_size() const {
7605  return _internal_literals_size();
7606 }
7607 inline void RoutesConstraintProto::clear_literals() {
7608  literals_.Clear();
7609 }
7610 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_literals(int index) const {
7611  return literals_.Get(index);
7612 }
7613 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::literals(int index) const {
7614  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
7615  return _internal_literals(index);
7616 }
7617 inline void RoutesConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7618  literals_.Set(index, value);
7619  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
7620 }
7621 inline void RoutesConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7622  literals_.Add(value);
7623 }
7624 inline void RoutesConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7625  _internal_add_literals(value);
7626  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
7627 }
7628 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7629 RoutesConstraintProto::_internal_literals() const {
7630  return literals_;
7631 }
7632 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7633 RoutesConstraintProto::literals() const {
7634  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
7635  return _internal_literals();
7636 }
7637 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7638 RoutesConstraintProto::_internal_mutable_literals() {
7639  return &literals_;
7640 }
7641 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7642 RoutesConstraintProto::mutable_literals() {
7643  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
7644  return _internal_mutable_literals();
7645 }
7646 
7647 // repeated int32 demands = 4;
7648 inline int RoutesConstraintProto::_internal_demands_size() const {
7649  return demands_.size();
7650 }
7651 inline int RoutesConstraintProto::demands_size() const {
7652  return _internal_demands_size();
7653 }
7654 inline void RoutesConstraintProto::clear_demands() {
7655  demands_.Clear();
7656 }
7657 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_demands(int index) const {
7658  return demands_.Get(index);
7659 }
7660 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::demands(int index) const {
7661  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
7662  return _internal_demands(index);
7663 }
7664 inline void RoutesConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7665  demands_.Set(index, value);
7666  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
7667 }
7668 inline void RoutesConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7669  demands_.Add(value);
7670 }
7671 inline void RoutesConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7672  _internal_add_demands(value);
7673  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
7674 }
7675 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7676 RoutesConstraintProto::_internal_demands() const {
7677  return demands_;
7678 }
7679 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7680 RoutesConstraintProto::demands() const {
7681  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
7682  return _internal_demands();
7683 }
7684 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7685 RoutesConstraintProto::_internal_mutable_demands() {
7686  return &demands_;
7687 }
7688 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7689 RoutesConstraintProto::mutable_demands() {
7690  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
7691  return _internal_mutable_demands();
7692 }
7693 
7694 // int64 capacity = 5;
7695 inline void RoutesConstraintProto::clear_capacity() {
7696  capacity_ = PROTOBUF_LONGLONG(0);
7697 }
7698 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::_internal_capacity() const {
7699  return capacity_;
7700 }
7701 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::capacity() const {
7702  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
7703  return _internal_capacity();
7704 }
7705 inline void RoutesConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
7706 
7707  capacity_ = value;
7708 }
7709 inline void RoutesConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
7710  _internal_set_capacity(value);
7711  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
7712 }
7713 
7714 // -------------------------------------------------------------------
7715 
7716 // CircuitCoveringConstraintProto
7717 
7718 // repeated int32 nexts = 1;
7719 inline int CircuitCoveringConstraintProto::_internal_nexts_size() const {
7720  return nexts_.size();
7721 }
7722 inline int CircuitCoveringConstraintProto::nexts_size() const {
7723  return _internal_nexts_size();
7724 }
7725 inline void CircuitCoveringConstraintProto::clear_nexts() {
7726  nexts_.Clear();
7727 }
7728 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitCoveringConstraintProto::_internal_nexts(int index) const {
7729  return nexts_.Get(index);
7730 }
7731 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitCoveringConstraintProto::nexts(int index) const {
7732  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7733  return _internal_nexts(index);
7734 }
7735 inline void CircuitCoveringConstraintProto::set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7736  nexts_.Set(index, value);
7737  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7738 }
7739 inline void CircuitCoveringConstraintProto::_internal_add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value) {
7740  nexts_.Add(value);
7741 }
7742 inline void CircuitCoveringConstraintProto::add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value) {
7743  _internal_add_nexts(value);
7744  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7745 }
7746 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7747 CircuitCoveringConstraintProto::_internal_nexts() const {
7748  return nexts_;
7749 }
7750 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7751 CircuitCoveringConstraintProto::nexts() const {
7752  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7753  return _internal_nexts();
7754 }
7755 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7756 CircuitCoveringConstraintProto::_internal_mutable_nexts() {
7757  return &nexts_;
7758 }
7759 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7760 CircuitCoveringConstraintProto::mutable_nexts() {
7761  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7762  return _internal_mutable_nexts();
7763 }
7764 
7765 // repeated int64 distinguished_nodes = 2;
7766 inline int CircuitCoveringConstraintProto::_internal_distinguished_nodes_size() const {
7767  return distinguished_nodes_.size();
7768 }
7769 inline int CircuitCoveringConstraintProto::distinguished_nodes_size() const {
7770  return _internal_distinguished_nodes_size();
7771 }
7772 inline void CircuitCoveringConstraintProto::clear_distinguished_nodes() {
7773  distinguished_nodes_.Clear();
7774 }
7775 inline ::PROTOBUF_NAMESPACE_ID::int64 CircuitCoveringConstraintProto::_internal_distinguished_nodes(int index) const {
7776  return distinguished_nodes_.Get(index);
7777 }
7778 inline ::PROTOBUF_NAMESPACE_ID::int64 CircuitCoveringConstraintProto::distinguished_nodes(int index) const {
7779  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7780  return _internal_distinguished_nodes(index);
7781 }
7782 inline void CircuitCoveringConstraintProto::set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7783  distinguished_nodes_.Set(index, value);
7784  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7785 }
7786 inline void CircuitCoveringConstraintProto::_internal_add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value) {
7787  distinguished_nodes_.Add(value);
7788 }
7789 inline void CircuitCoveringConstraintProto::add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value) {
7790  _internal_add_distinguished_nodes(value);
7791  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7792 }
7793 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7794 CircuitCoveringConstraintProto::_internal_distinguished_nodes() const {
7795  return distinguished_nodes_;
7796 }
7797 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7798 CircuitCoveringConstraintProto::distinguished_nodes() const {
7799  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7800  return _internal_distinguished_nodes();
7801 }
7802 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7803 CircuitCoveringConstraintProto::_internal_mutable_distinguished_nodes() {
7804  return &distinguished_nodes_;
7805 }
7806 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7807 CircuitCoveringConstraintProto::mutable_distinguished_nodes() {
7808  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7809  return _internal_mutable_distinguished_nodes();
7810 }
7811 
7812 // -------------------------------------------------------------------
7813 
7814 // TableConstraintProto
7815 
7816 // repeated int32 vars = 1;
7817 inline int TableConstraintProto::_internal_vars_size() const {
7818  return vars_.size();
7819 }
7820 inline int TableConstraintProto::vars_size() const {
7821  return _internal_vars_size();
7822 }
7823 inline void TableConstraintProto::clear_vars() {
7824  vars_.Clear();
7825 }
7826 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::_internal_vars(int index) const {
7827  return vars_.Get(index);
7828 }
7829 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::vars(int index) const {
7830  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
7831  return _internal_vars(index);
7832 }
7833 inline void TableConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7834  vars_.Set(index, value);
7835  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
7836 }
7837 inline void TableConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7838  vars_.Add(value);
7839 }
7840 inline void TableConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7841  _internal_add_vars(value);
7842  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
7843 }
7844 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7845 TableConstraintProto::_internal_vars() const {
7846  return vars_;
7847 }
7848 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7849 TableConstraintProto::vars() const {
7850  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
7851  return _internal_vars();
7852 }
7853 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7854 TableConstraintProto::_internal_mutable_vars() {
7855  return &vars_;
7856 }
7857 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7858 TableConstraintProto::mutable_vars() {
7859  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
7860  return _internal_mutable_vars();
7861 }
7862 
7863 // repeated int64 values = 2;
7864 inline int TableConstraintProto::_internal_values_size() const {
7865  return values_.size();
7866 }
7867 inline int TableConstraintProto::values_size() const {
7868  return _internal_values_size();
7869 }
7870 inline void TableConstraintProto::clear_values() {
7871  values_.Clear();
7872 }
7873 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::_internal_values(int index) const {
7874  return values_.Get(index);
7875 }
7876 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::values(int index) const {
7877  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
7878  return _internal_values(index);
7879 }
7880 inline void TableConstraintProto::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7881  values_.Set(index, value);
7882  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
7883 }
7884 inline void TableConstraintProto::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
7885  values_.Add(value);
7886 }
7887 inline void TableConstraintProto::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
7888  _internal_add_values(value);
7889  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
7890 }
7891 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7892 TableConstraintProto::_internal_values() const {
7893  return values_;
7894 }
7895 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7896 TableConstraintProto::values() const {
7897  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
7898  return _internal_values();
7899 }
7900 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7901 TableConstraintProto::_internal_mutable_values() {
7902  return &values_;
7903 }
7904 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7905 TableConstraintProto::mutable_values() {
7906  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
7907  return _internal_mutable_values();
7908 }
7909 
7910 // bool negated = 3;
7911 inline void TableConstraintProto::clear_negated() {
7912  negated_ = false;
7913 }
7914 inline bool TableConstraintProto::_internal_negated() const {
7915  return negated_;
7916 }
7917 inline bool TableConstraintProto::negated() const {
7918  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
7919  return _internal_negated();
7920 }
7921 inline void TableConstraintProto::_internal_set_negated(bool value) {
7922 
7923  negated_ = value;
7924 }
7925 inline void TableConstraintProto::set_negated(bool value) {
7926  _internal_set_negated(value);
7927  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
7928 }
7929 
7930 // -------------------------------------------------------------------
7931 
7932 // InverseConstraintProto
7933 
7934 // repeated int32 f_direct = 1;
7935 inline int InverseConstraintProto::_internal_f_direct_size() const {
7936  return f_direct_.size();
7937 }
7938 inline int InverseConstraintProto::f_direct_size() const {
7939  return _internal_f_direct_size();
7940 }
7941 inline void InverseConstraintProto::clear_f_direct() {
7942  f_direct_.Clear();
7943 }
7944 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_direct(int index) const {
7945  return f_direct_.Get(index);
7946 }
7947 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_direct(int index) const {
7948  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
7949  return _internal_f_direct(index);
7950 }
7951 inline void InverseConstraintProto::set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7952  f_direct_.Set(index, value);
7953  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
7954 }
7955 inline void InverseConstraintProto::_internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
7956  f_direct_.Add(value);
7957 }
7958 inline void InverseConstraintProto::add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
7959  _internal_add_f_direct(value);
7960  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
7961 }
7962 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7963 InverseConstraintProto::_internal_f_direct() const {
7964  return f_direct_;
7965 }
7966 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7967 InverseConstraintProto::f_direct() const {
7968  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
7969  return _internal_f_direct();
7970 }
7971 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7972 InverseConstraintProto::_internal_mutable_f_direct() {
7973  return &f_direct_;
7974 }
7975 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7976 InverseConstraintProto::mutable_f_direct() {
7977  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
7978  return _internal_mutable_f_direct();
7979 }
7980 
7981 // repeated int32 f_inverse = 2;
7982 inline int InverseConstraintProto::_internal_f_inverse_size() const {
7983  return f_inverse_.size();
7984 }
7985 inline int InverseConstraintProto::f_inverse_size() const {
7986  return _internal_f_inverse_size();
7987 }
7988 inline void InverseConstraintProto::clear_f_inverse() {
7989  f_inverse_.Clear();
7990 }
7991 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_inverse(int index) const {
7992  return f_inverse_.Get(index);
7993 }
7994 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_inverse(int index) const {
7995  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
7996  return _internal_f_inverse(index);
7997 }
7998 inline void InverseConstraintProto::set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7999  f_inverse_.Set(index, value);
8000  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
8001 }
8002 inline void InverseConstraintProto::_internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8003  f_inverse_.Add(value);
8004 }
8005 inline void InverseConstraintProto::add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8006  _internal_add_f_inverse(value);
8007  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
8008 }
8009 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8010 InverseConstraintProto::_internal_f_inverse() const {
8011  return f_inverse_;
8012 }
8013 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8014 InverseConstraintProto::f_inverse() const {
8015  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
8016  return _internal_f_inverse();
8017 }
8018 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8019 InverseConstraintProto::_internal_mutable_f_inverse() {
8020  return &f_inverse_;
8021 }
8022 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8023 InverseConstraintProto::mutable_f_inverse() {
8024  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
8025  return _internal_mutable_f_inverse();
8026 }
8027 
8028 // -------------------------------------------------------------------
8029 
8030 // AutomatonConstraintProto
8031 
8032 // int64 starting_state = 2;
8033 inline void AutomatonConstraintProto::clear_starting_state() {
8034  starting_state_ = PROTOBUF_LONGLONG(0);
8035 }
8036 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_starting_state() const {
8037  return starting_state_;
8038 }
8039 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::starting_state() const {
8040  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
8041  return _internal_starting_state();
8042 }
8043 inline void AutomatonConstraintProto::_internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8044 
8045  starting_state_ = value;
8046 }
8047 inline void AutomatonConstraintProto::set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8048  _internal_set_starting_state(value);
8049  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
8050 }
8051 
8052 // repeated int64 final_states = 3;
8053 inline int AutomatonConstraintProto::_internal_final_states_size() const {
8054  return final_states_.size();
8055 }
8056 inline int AutomatonConstraintProto::final_states_size() const {
8057  return _internal_final_states_size();
8058 }
8059 inline void AutomatonConstraintProto::clear_final_states() {
8060  final_states_.Clear();
8061 }
8062 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_final_states(int index) const {
8063  return final_states_.Get(index);
8064 }
8065 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::final_states(int index) const {
8066  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
8067  return _internal_final_states(index);
8068 }
8069 inline void AutomatonConstraintProto::set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8070  final_states_.Set(index, value);
8071  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
8072 }
8073 inline void AutomatonConstraintProto::_internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8074  final_states_.Add(value);
8075 }
8076 inline void AutomatonConstraintProto::add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8077  _internal_add_final_states(value);
8078  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
8079 }
8080 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8081 AutomatonConstraintProto::_internal_final_states() const {
8082  return final_states_;
8083 }
8084 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8085 AutomatonConstraintProto::final_states() const {
8086  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
8087  return _internal_final_states();
8088 }
8089 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8090 AutomatonConstraintProto::_internal_mutable_final_states() {
8091  return &final_states_;
8092 }
8093 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8094 AutomatonConstraintProto::mutable_final_states() {
8095  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
8096  return _internal_mutable_final_states();
8097 }
8098 
8099 // repeated int64 transition_tail = 4;
8100 inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
8101  return transition_tail_.size();
8102 }
8103 inline int AutomatonConstraintProto::transition_tail_size() const {
8104  return _internal_transition_tail_size();
8105 }
8106 inline void AutomatonConstraintProto::clear_transition_tail() {
8107  transition_tail_.Clear();
8108 }
8109 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_tail(int index) const {
8110  return transition_tail_.Get(index);
8111 }
8112 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_tail(int index) const {
8113  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
8114  return _internal_transition_tail(index);
8115 }
8116 inline void AutomatonConstraintProto::set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8117  transition_tail_.Set(index, value);
8118  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
8119 }
8120 inline void AutomatonConstraintProto::_internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8121  transition_tail_.Add(value);
8122 }
8123 inline void AutomatonConstraintProto::add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8124  _internal_add_transition_tail(value);
8125  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
8126 }
8127 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8128 AutomatonConstraintProto::_internal_transition_tail() const {
8129  return transition_tail_;
8130 }
8131 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8132 AutomatonConstraintProto::transition_tail() const {
8133  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8134  return _internal_transition_tail();
8135 }
8136 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8137 AutomatonConstraintProto::_internal_mutable_transition_tail() {
8138  return &transition_tail_;
8139 }
8140 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8141 AutomatonConstraintProto::mutable_transition_tail() {
8142  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8143  return _internal_mutable_transition_tail();
8144 }
8145 
8146 // repeated int64 transition_head = 5;
8147 inline int AutomatonConstraintProto::_internal_transition_head_size() const {
8148  return transition_head_.size();
8149 }
8150 inline int AutomatonConstraintProto::transition_head_size() const {
8151  return _internal_transition_head_size();
8152 }
8153 inline void AutomatonConstraintProto::clear_transition_head() {
8154  transition_head_.Clear();
8155 }
8156 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_head(int index) const {
8157  return transition_head_.Get(index);
8158 }
8159 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_head(int index) const {
8160  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
8161  return _internal_transition_head(index);
8162 }
8163 inline void AutomatonConstraintProto::set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8164  transition_head_.Set(index, value);
8165  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
8166 }
8167 inline void AutomatonConstraintProto::_internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8168  transition_head_.Add(value);
8169 }
8170 inline void AutomatonConstraintProto::add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8171  _internal_add_transition_head(value);
8172  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
8173 }
8174 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8175 AutomatonConstraintProto::_internal_transition_head() const {
8176  return transition_head_;
8177 }
8178 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8179 AutomatonConstraintProto::transition_head() const {
8180  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8181  return _internal_transition_head();
8182 }
8183 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8184 AutomatonConstraintProto::_internal_mutable_transition_head() {
8185  return &transition_head_;
8186 }
8187 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8188 AutomatonConstraintProto::mutable_transition_head() {
8189  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8190  return _internal_mutable_transition_head();
8191 }
8192 
8193 // repeated int64 transition_label = 6;
8194 inline int AutomatonConstraintProto::_internal_transition_label_size() const {
8195  return transition_label_.size();
8196 }
8197 inline int AutomatonConstraintProto::transition_label_size() const {
8198  return _internal_transition_label_size();
8199 }
8200 inline void AutomatonConstraintProto::clear_transition_label() {
8201  transition_label_.Clear();
8202 }
8203 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_label(int index) const {
8204  return transition_label_.Get(index);
8205 }
8206 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_label(int index) const {
8207  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
8208  return _internal_transition_label(index);
8209 }
8210 inline void AutomatonConstraintProto::set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8211  transition_label_.Set(index, value);
8212  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
8213 }
8214 inline void AutomatonConstraintProto::_internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8215  transition_label_.Add(value);
8216 }
8217 inline void AutomatonConstraintProto::add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8218  _internal_add_transition_label(value);
8219  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
8220 }
8221 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8222 AutomatonConstraintProto::_internal_transition_label() const {
8223  return transition_label_;
8224 }
8225 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8226 AutomatonConstraintProto::transition_label() const {
8227  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8228  return _internal_transition_label();
8229 }
8230 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8231 AutomatonConstraintProto::_internal_mutable_transition_label() {
8232  return &transition_label_;
8233 }
8234 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8235 AutomatonConstraintProto::mutable_transition_label() {
8236  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8237  return _internal_mutable_transition_label();
8238 }
8239 
8240 // repeated int32 vars = 7;
8241 inline int AutomatonConstraintProto::_internal_vars_size() const {
8242  return vars_.size();
8243 }
8244 inline int AutomatonConstraintProto::vars_size() const {
8245  return _internal_vars_size();
8246 }
8247 inline void AutomatonConstraintProto::clear_vars() {
8248  vars_.Clear();
8249 }
8250 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::_internal_vars(int index) const {
8251  return vars_.Get(index);
8252 }
8253 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::vars(int index) const {
8254  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
8255  return _internal_vars(index);
8256 }
8257 inline void AutomatonConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8258  vars_.Set(index, value);
8259  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
8260 }
8261 inline void AutomatonConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8262  vars_.Add(value);
8263 }
8264 inline void AutomatonConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8265  _internal_add_vars(value);
8266  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
8267 }
8268 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8269 AutomatonConstraintProto::_internal_vars() const {
8270  return vars_;
8271 }
8272 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8273 AutomatonConstraintProto::vars() const {
8274  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
8275  return _internal_vars();
8276 }
8277 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8278 AutomatonConstraintProto::_internal_mutable_vars() {
8279  return &vars_;
8280 }
8281 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8282 AutomatonConstraintProto::mutable_vars() {
8283  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
8284  return _internal_mutable_vars();
8285 }
8286 
8287 // -------------------------------------------------------------------
8288 
8289 // ConstraintProto
8290 
8291 // string name = 1;
8292 inline void ConstraintProto::clear_name() {
8293  name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8294 }
8295 inline const std::string& ConstraintProto::name() const {
8296  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
8297  return _internal_name();
8298 }
8299 inline void ConstraintProto::set_name(const std::string& value) {
8300  _internal_set_name(value);
8301  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
8302 }
8303 inline std::string* ConstraintProto::mutable_name() {
8304  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
8305  return _internal_mutable_name();
8306 }
8307 inline const std::string& ConstraintProto::_internal_name() const {
8308  return name_.Get();
8309 }
8310 inline void ConstraintProto::_internal_set_name(const std::string& value) {
8311 
8312  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
8313 }
8314 inline void ConstraintProto::set_name(std::string&& value) {
8315 
8316  name_.Set(
8317  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
8318  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.ConstraintProto.name)
8319 }
8320 inline void ConstraintProto::set_name(const char* value) {
8321  GOOGLE_DCHECK(value != nullptr);
8322 
8323  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
8324  GetArena());
8325  // @@protoc_insertion_point(field_set_char:operations_research.sat.ConstraintProto.name)
8326 }
8327 inline void ConstraintProto::set_name(const char* value,
8328  size_t size) {
8329 
8330  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
8331  reinterpret_cast<const char*>(value), size), GetArena());
8332  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.ConstraintProto.name)
8333 }
8334 inline std::string* ConstraintProto::_internal_mutable_name() {
8335 
8336  return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8337 }
8338 inline std::string* ConstraintProto::release_name() {
8339  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
8340  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8341 }
8342 inline void ConstraintProto::set_allocated_name(std::string* name) {
8343  if (name != nullptr) {
8344 
8345  } else {
8346 
8347  }
8348  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
8349  GetArena());
8350  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
8351 }
8352 inline std::string* ConstraintProto::unsafe_arena_release_name() {
8353  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.name)
8354  GOOGLE_DCHECK(GetArena() != nullptr);
8355 
8356  return name_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
8357  GetArena());
8358 }
8359 inline void ConstraintProto::unsafe_arena_set_allocated_name(
8360  std::string* name) {
8361  GOOGLE_DCHECK(GetArena() != nullptr);
8362  if (name != nullptr) {
8363 
8364  } else {
8365 
8366  }
8367  name_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
8368  name, GetArena());
8369  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.name)
8370 }
8371 
8372 // repeated int32 enforcement_literal = 2;
8373 inline int ConstraintProto::_internal_enforcement_literal_size() const {
8374  return enforcement_literal_.size();
8375 }
8376 inline int ConstraintProto::enforcement_literal_size() const {
8377  return _internal_enforcement_literal_size();
8378 }
8379 inline void ConstraintProto::clear_enforcement_literal() {
8380  enforcement_literal_.Clear();
8381 }
8382 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::_internal_enforcement_literal(int index) const {
8383  return enforcement_literal_.Get(index);
8384 }
8385 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::enforcement_literal(int index) const {
8386  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
8387  return _internal_enforcement_literal(index);
8388 }
8389 inline void ConstraintProto::set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8390  enforcement_literal_.Set(index, value);
8391  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
8392 }
8393 inline void ConstraintProto::_internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8394  enforcement_literal_.Add(value);
8395 }
8396 inline void ConstraintProto::add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8397  _internal_add_enforcement_literal(value);
8398  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
8399 }
8400 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8401 ConstraintProto::_internal_enforcement_literal() const {
8402  return enforcement_literal_;
8403 }
8404 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8405 ConstraintProto::enforcement_literal() const {
8406  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
8407  return _internal_enforcement_literal();
8408 }
8409 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8410 ConstraintProto::_internal_mutable_enforcement_literal() {
8411  return &enforcement_literal_;
8412 }
8413 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8414 ConstraintProto::mutable_enforcement_literal() {
8415  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
8416  return _internal_mutable_enforcement_literal();
8417 }
8418 
8419 // .operations_research.sat.BoolArgumentProto bool_or = 3;
8420 inline bool ConstraintProto::_internal_has_bool_or() const {
8421  return constraint_case() == kBoolOr;
8422 }
8423 inline bool ConstraintProto::has_bool_or() const {
8424  return _internal_has_bool_or();
8425 }
8426 inline void ConstraintProto::set_has_bool_or() {
8427  _oneof_case_[0] = kBoolOr;
8428 }
8429 inline void ConstraintProto::clear_bool_or() {
8430  if (_internal_has_bool_or()) {
8431  if (GetArena() == nullptr) {
8432  delete constraint_.bool_or_;
8433  }
8434  clear_has_constraint();
8435  }
8436 }
8437 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
8438  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
8439  if (_internal_has_bool_or()) {
8440  clear_has_constraint();
8441  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8442  if (GetArena() != nullptr) {
8443  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8444  }
8445  constraint_.bool_or_ = nullptr;
8446  return temp;
8447  } else {
8448  return nullptr;
8449  }
8450 }
8451 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
8452  return _internal_has_bool_or()
8453  ? *constraint_.bool_or_
8454  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
8455 }
8456 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
8457  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
8458  return _internal_bool_or();
8459 }
8460 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_or() {
8461  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
8462  if (_internal_has_bool_or()) {
8463  clear_has_constraint();
8464  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8465  constraint_.bool_or_ = nullptr;
8466  return temp;
8467  } else {
8468  return nullptr;
8469  }
8470 }
8471 inline void ConstraintProto::unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or) {
8472  clear_constraint();
8473  if (bool_or) {
8474  set_has_bool_or();
8475  constraint_.bool_or_ = bool_or;
8476  }
8477  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
8478 }
8479 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_or() {
8480  if (!_internal_has_bool_or()) {
8481  clear_constraint();
8482  set_has_bool_or();
8483  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8484  }
8485  return constraint_.bool_or_;
8486 }
8487 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
8488  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
8489  return _internal_mutable_bool_or();
8490 }
8491 
8492 // .operations_research.sat.BoolArgumentProto bool_and = 4;
8493 inline bool ConstraintProto::_internal_has_bool_and() const {
8494  return constraint_case() == kBoolAnd;
8495 }
8496 inline bool ConstraintProto::has_bool_and() const {
8497  return _internal_has_bool_and();
8498 }
8499 inline void ConstraintProto::set_has_bool_and() {
8500  _oneof_case_[0] = kBoolAnd;
8501 }
8502 inline void ConstraintProto::clear_bool_and() {
8503  if (_internal_has_bool_and()) {
8504  if (GetArena() == nullptr) {
8505  delete constraint_.bool_and_;
8506  }
8507  clear_has_constraint();
8508  }
8509 }
8510 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
8511  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
8512  if (_internal_has_bool_and()) {
8513  clear_has_constraint();
8514  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
8515  if (GetArena() != nullptr) {
8516  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8517  }
8518  constraint_.bool_and_ = nullptr;
8519  return temp;
8520  } else {
8521  return nullptr;
8522  }
8523 }
8524 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
8525  return _internal_has_bool_and()
8526  ? *constraint_.bool_and_
8527  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
8528 }
8529 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
8530  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
8531  return _internal_bool_and();
8532 }
8533 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_and() {
8534  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
8535  if (_internal_has_bool_and()) {
8536  clear_has_constraint();
8537  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
8538  constraint_.bool_and_ = nullptr;
8539  return temp;
8540  } else {
8541  return nullptr;
8542  }
8543 }
8544 inline void ConstraintProto::unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and) {
8545  clear_constraint();
8546  if (bool_and) {
8547  set_has_bool_and();
8548  constraint_.bool_and_ = bool_and;
8549  }
8550  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
8551 }
8552 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_and() {
8553  if (!_internal_has_bool_and()) {
8554  clear_constraint();
8555  set_has_bool_and();
8556  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8557  }
8558  return constraint_.bool_and_;
8559 }
8560 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
8561  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
8562  return _internal_mutable_bool_and();
8563 }
8564 
8565 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
8566 inline bool ConstraintProto::_internal_has_at_most_one() const {
8567  return constraint_case() == kAtMostOne;
8568 }
8569 inline bool ConstraintProto::has_at_most_one() const {
8570  return _internal_has_at_most_one();
8571 }
8572 inline void ConstraintProto::set_has_at_most_one() {
8573  _oneof_case_[0] = kAtMostOne;
8574 }
8575 inline void ConstraintProto::clear_at_most_one() {
8576  if (_internal_has_at_most_one()) {
8577  if (GetArena() == nullptr) {
8578  delete constraint_.at_most_one_;
8579  }
8580  clear_has_constraint();
8581  }
8582 }
8583 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
8584  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
8585  if (_internal_has_at_most_one()) {
8586  clear_has_constraint();
8587  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
8588  if (GetArena() != nullptr) {
8589  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8590  }
8591  constraint_.at_most_one_ = nullptr;
8592  return temp;
8593  } else {
8594  return nullptr;
8595  }
8596 }
8597 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
8598  return _internal_has_at_most_one()
8599  ? *constraint_.at_most_one_
8600  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
8601 }
8602 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
8603  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
8604  return _internal_at_most_one();
8605 }
8606 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_at_most_one() {
8607  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
8608  if (_internal_has_at_most_one()) {
8609  clear_has_constraint();
8610  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
8611  constraint_.at_most_one_ = nullptr;
8612  return temp;
8613  } else {
8614  return nullptr;
8615  }
8616 }
8617 inline void ConstraintProto::unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one) {
8618  clear_constraint();
8619  if (at_most_one) {
8620  set_has_at_most_one();
8621  constraint_.at_most_one_ = at_most_one;
8622  }
8623  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
8624 }
8625 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_at_most_one() {
8626  if (!_internal_has_at_most_one()) {
8627  clear_constraint();
8628  set_has_at_most_one();
8629  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8630  }
8631  return constraint_.at_most_one_;
8632 }
8633 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
8634  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
8635  return _internal_mutable_at_most_one();
8636 }
8637 
8638 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
8639 inline bool ConstraintProto::_internal_has_bool_xor() const {
8640  return constraint_case() == kBoolXor;
8641 }
8642 inline bool ConstraintProto::has_bool_xor() const {
8643  return _internal_has_bool_xor();
8644 }
8645 inline void ConstraintProto::set_has_bool_xor() {
8646  _oneof_case_[0] = kBoolXor;
8647 }
8648 inline void ConstraintProto::clear_bool_xor() {
8649  if (_internal_has_bool_xor()) {
8650  if (GetArena() == nullptr) {
8651  delete constraint_.bool_xor_;
8652  }
8653  clear_has_constraint();
8654  }
8655 }
8656 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
8657  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
8658  if (_internal_has_bool_xor()) {
8659  clear_has_constraint();
8660  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
8661  if (GetArena() != nullptr) {
8662  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8663  }
8664  constraint_.bool_xor_ = nullptr;
8665  return temp;
8666  } else {
8667  return nullptr;
8668  }
8669 }
8670 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
8671  return _internal_has_bool_xor()
8672  ? *constraint_.bool_xor_
8673  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
8674 }
8675 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
8676  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
8677  return _internal_bool_xor();
8678 }
8679 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_xor() {
8680  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
8681  if (_internal_has_bool_xor()) {
8682  clear_has_constraint();
8683  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
8684  constraint_.bool_xor_ = nullptr;
8685  return temp;
8686  } else {
8687  return nullptr;
8688  }
8689 }
8690 inline void ConstraintProto::unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor) {
8691  clear_constraint();
8692  if (bool_xor) {
8693  set_has_bool_xor();
8694  constraint_.bool_xor_ = bool_xor;
8695  }
8696  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
8697 }
8698 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_xor() {
8699  if (!_internal_has_bool_xor()) {
8700  clear_constraint();
8701  set_has_bool_xor();
8702  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8703  }
8704  return constraint_.bool_xor_;
8705 }
8706 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
8707  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
8708  return _internal_mutable_bool_xor();
8709 }
8710 
8711 // .operations_research.sat.IntegerArgumentProto int_div = 7;
8712 inline bool ConstraintProto::_internal_has_int_div() const {
8713  return constraint_case() == kIntDiv;
8714 }
8715 inline bool ConstraintProto::has_int_div() const {
8716  return _internal_has_int_div();
8717 }
8718 inline void ConstraintProto::set_has_int_div() {
8719  _oneof_case_[0] = kIntDiv;
8720 }
8721 inline void ConstraintProto::clear_int_div() {
8722  if (_internal_has_int_div()) {
8723  if (GetArena() == nullptr) {
8724  delete constraint_.int_div_;
8725  }
8726  clear_has_constraint();
8727  }
8728 }
8729 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_div() {
8730  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
8731  if (_internal_has_int_div()) {
8732  clear_has_constraint();
8733  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
8734  if (GetArena() != nullptr) {
8735  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8736  }
8737  constraint_.int_div_ = nullptr;
8738  return temp;
8739  } else {
8740  return nullptr;
8741  }
8742 }
8743 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_div() const {
8744  return _internal_has_int_div()
8745  ? *constraint_.int_div_
8746  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
8747 }
8748 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_div() const {
8749  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
8750  return _internal_int_div();
8751 }
8752 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_div() {
8753  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
8754  if (_internal_has_int_div()) {
8755  clear_has_constraint();
8756  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
8757  constraint_.int_div_ = nullptr;
8758  return temp;
8759  } else {
8760  return nullptr;
8761  }
8762 }
8763 inline void ConstraintProto::unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div) {
8764  clear_constraint();
8765  if (int_div) {
8766  set_has_int_div();
8767  constraint_.int_div_ = int_div;
8768  }
8769  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
8770 }
8771 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_div() {
8772  if (!_internal_has_int_div()) {
8773  clear_constraint();
8774  set_has_int_div();
8775  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8776  }
8777  return constraint_.int_div_;
8778 }
8779 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_div() {
8780  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
8781  return _internal_mutable_int_div();
8782 }
8783 
8784 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
8785 inline bool ConstraintProto::_internal_has_int_mod() const {
8786  return constraint_case() == kIntMod;
8787 }
8788 inline bool ConstraintProto::has_int_mod() const {
8789  return _internal_has_int_mod();
8790 }
8791 inline void ConstraintProto::set_has_int_mod() {
8792  _oneof_case_[0] = kIntMod;
8793 }
8794 inline void ConstraintProto::clear_int_mod() {
8795  if (_internal_has_int_mod()) {
8796  if (GetArena() == nullptr) {
8797  delete constraint_.int_mod_;
8798  }
8799  clear_has_constraint();
8800  }
8801 }
8802 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_mod() {
8803  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
8804  if (_internal_has_int_mod()) {
8805  clear_has_constraint();
8806  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
8807  if (GetArena() != nullptr) {
8808  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8809  }
8810  constraint_.int_mod_ = nullptr;
8811  return temp;
8812  } else {
8813  return nullptr;
8814  }
8815 }
8816 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_mod() const {
8817  return _internal_has_int_mod()
8818  ? *constraint_.int_mod_
8819  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
8820 }
8821 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_mod() const {
8822  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
8823  return _internal_int_mod();
8824 }
8825 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_mod() {
8826  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
8827  if (_internal_has_int_mod()) {
8828  clear_has_constraint();
8829  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
8830  constraint_.int_mod_ = nullptr;
8831  return temp;
8832  } else {
8833  return nullptr;
8834  }
8835 }
8836 inline void ConstraintProto::unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod) {
8837  clear_constraint();
8838  if (int_mod) {
8839  set_has_int_mod();
8840  constraint_.int_mod_ = int_mod;
8841  }
8842  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
8843 }
8844 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_mod() {
8845  if (!_internal_has_int_mod()) {
8846  clear_constraint();
8847  set_has_int_mod();
8848  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8849  }
8850  return constraint_.int_mod_;
8851 }
8852 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_mod() {
8853  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
8854  return _internal_mutable_int_mod();
8855 }
8856 
8857 // .operations_research.sat.IntegerArgumentProto int_max = 9;
8858 inline bool ConstraintProto::_internal_has_int_max() const {
8859  return constraint_case() == kIntMax;
8860 }
8861 inline bool ConstraintProto::has_int_max() const {
8862  return _internal_has_int_max();
8863 }
8864 inline void ConstraintProto::set_has_int_max() {
8865  _oneof_case_[0] = kIntMax;
8866 }
8867 inline void ConstraintProto::clear_int_max() {
8868  if (_internal_has_int_max()) {
8869  if (GetArena() == nullptr) {
8870  delete constraint_.int_max_;
8871  }
8872  clear_has_constraint();
8873  }
8874 }
8875 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_max() {
8876  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_max)
8877  if (_internal_has_int_max()) {
8878  clear_has_constraint();
8879  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
8880  if (GetArena() != nullptr) {
8881  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8882  }
8883  constraint_.int_max_ = nullptr;
8884  return temp;
8885  } else {
8886  return nullptr;
8887  }
8888 }
8889 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_max() const {
8890  return _internal_has_int_max()
8891  ? *constraint_.int_max_
8892  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
8893 }
8894 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_max() const {
8895  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_max)
8896  return _internal_int_max();
8897 }
8898 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_max() {
8899  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_max)
8900  if (_internal_has_int_max()) {
8901  clear_has_constraint();
8902  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
8903  constraint_.int_max_ = nullptr;
8904  return temp;
8905  } else {
8906  return nullptr;
8907  }
8908 }
8909 inline void ConstraintProto::unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max) {
8910  clear_constraint();
8911  if (int_max) {
8912  set_has_int_max();
8913  constraint_.int_max_ = int_max;
8914  }
8915  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_max)
8916 }
8917 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_max() {
8918  if (!_internal_has_int_max()) {
8919  clear_constraint();
8920  set_has_int_max();
8921  constraint_.int_max_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8922  }
8923  return constraint_.int_max_;
8924 }
8925 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_max() {
8926  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_max)
8927  return _internal_mutable_int_max();
8928 }
8929 
8930 // .operations_research.sat.LinearArgumentProto lin_max = 27;
8931 inline bool ConstraintProto::_internal_has_lin_max() const {
8932  return constraint_case() == kLinMax;
8933 }
8934 inline bool ConstraintProto::has_lin_max() const {
8935  return _internal_has_lin_max();
8936 }
8937 inline void ConstraintProto::set_has_lin_max() {
8938  _oneof_case_[0] = kLinMax;
8939 }
8940 inline void ConstraintProto::clear_lin_max() {
8941  if (_internal_has_lin_max()) {
8942  if (GetArena() == nullptr) {
8943  delete constraint_.lin_max_;
8944  }
8945  clear_has_constraint();
8946  }
8947 }
8948 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_max() {
8949  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
8950  if (_internal_has_lin_max()) {
8951  clear_has_constraint();
8952  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
8953  if (GetArena() != nullptr) {
8954  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8955  }
8956  constraint_.lin_max_ = nullptr;
8957  return temp;
8958  } else {
8959  return nullptr;
8960  }
8961 }
8962 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
8963  return _internal_has_lin_max()
8964  ? *constraint_.lin_max_
8965  : *reinterpret_cast< ::operations_research::sat::LinearArgumentProto*>(&::operations_research::sat::_LinearArgumentProto_default_instance_);
8966 }
8967 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const {
8968  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
8969  return _internal_lin_max();
8970 }
8971 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_max() {
8972  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
8973  if (_internal_has_lin_max()) {
8974  clear_has_constraint();
8975  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
8976  constraint_.lin_max_ = nullptr;
8977  return temp;
8978  } else {
8979  return nullptr;
8980  }
8981 }
8982 inline void ConstraintProto::unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max) {
8983  clear_constraint();
8984  if (lin_max) {
8985  set_has_lin_max();
8986  constraint_.lin_max_ = lin_max;
8987  }
8988  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
8989 }
8990 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_max() {
8991  if (!_internal_has_lin_max()) {
8992  clear_constraint();
8993  set_has_lin_max();
8994  constraint_.lin_max_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
8995  }
8996  return constraint_.lin_max_;
8997 }
8998 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_max() {
8999  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
9000  return _internal_mutable_lin_max();
9001 }
9002 
9003 // .operations_research.sat.IntegerArgumentProto int_min = 10;
9004 inline bool ConstraintProto::_internal_has_int_min() const {
9005  return constraint_case() == kIntMin;
9006 }
9007 inline bool ConstraintProto::has_int_min() const {
9008  return _internal_has_int_min();
9009 }
9010 inline void ConstraintProto::set_has_int_min() {
9011  _oneof_case_[0] = kIntMin;
9012 }
9013 inline void ConstraintProto::clear_int_min() {
9014  if (_internal_has_int_min()) {
9015  if (GetArena() == nullptr) {
9016  delete constraint_.int_min_;
9017  }
9018  clear_has_constraint();
9019  }
9020 }
9021 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_min() {
9022  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_min)
9023  if (_internal_has_int_min()) {
9024  clear_has_constraint();
9025  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9026  if (GetArena() != nullptr) {
9027  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9028  }
9029  constraint_.int_min_ = nullptr;
9030  return temp;
9031  } else {
9032  return nullptr;
9033  }
9034 }
9035 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_min() const {
9036  return _internal_has_int_min()
9037  ? *constraint_.int_min_
9038  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
9039 }
9040 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_min() const {
9041  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_min)
9042  return _internal_int_min();
9043 }
9044 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_min() {
9045  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_min)
9046  if (_internal_has_int_min()) {
9047  clear_has_constraint();
9048  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9049  constraint_.int_min_ = nullptr;
9050  return temp;
9051  } else {
9052  return nullptr;
9053  }
9054 }
9055 inline void ConstraintProto::unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min) {
9056  clear_constraint();
9057  if (int_min) {
9058  set_has_int_min();
9059  constraint_.int_min_ = int_min;
9060  }
9061  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_min)
9062 }
9063 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_min() {
9064  if (!_internal_has_int_min()) {
9065  clear_constraint();
9066  set_has_int_min();
9067  constraint_.int_min_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9068  }
9069  return constraint_.int_min_;
9070 }
9071 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_min() {
9072  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_min)
9073  return _internal_mutable_int_min();
9074 }
9075 
9076 // .operations_research.sat.LinearArgumentProto lin_min = 28;
9077 inline bool ConstraintProto::_internal_has_lin_min() const {
9078  return constraint_case() == kLinMin;
9079 }
9080 inline bool ConstraintProto::has_lin_min() const {
9081  return _internal_has_lin_min();
9082 }
9083 inline void ConstraintProto::set_has_lin_min() {
9084  _oneof_case_[0] = kLinMin;
9085 }
9086 inline void ConstraintProto::clear_lin_min() {
9087  if (_internal_has_lin_min()) {
9088  if (GetArena() == nullptr) {
9089  delete constraint_.lin_min_;
9090  }
9091  clear_has_constraint();
9092  }
9093 }
9094 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_min() {
9095  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_min)
9096  if (_internal_has_lin_min()) {
9097  clear_has_constraint();
9098  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9099  if (GetArena() != nullptr) {
9100  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9101  }
9102  constraint_.lin_min_ = nullptr;
9103  return temp;
9104  } else {
9105  return nullptr;
9106  }
9107 }
9108 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_min() const {
9109  return _internal_has_lin_min()
9110  ? *constraint_.lin_min_
9111  : *reinterpret_cast< ::operations_research::sat::LinearArgumentProto*>(&::operations_research::sat::_LinearArgumentProto_default_instance_);
9112 }
9113 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_min() const {
9114  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_min)
9115  return _internal_lin_min();
9116 }
9117 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_min() {
9118  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_min)
9119  if (_internal_has_lin_min()) {
9120  clear_has_constraint();
9121  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9122  constraint_.lin_min_ = nullptr;
9123  return temp;
9124  } else {
9125  return nullptr;
9126  }
9127 }
9128 inline void ConstraintProto::unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min) {
9129  clear_constraint();
9130  if (lin_min) {
9131  set_has_lin_min();
9132  constraint_.lin_min_ = lin_min;
9133  }
9134  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_min)
9135 }
9136 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_min() {
9137  if (!_internal_has_lin_min()) {
9138  clear_constraint();
9139  set_has_lin_min();
9140  constraint_.lin_min_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9141  }
9142  return constraint_.lin_min_;
9143 }
9144 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_min() {
9145  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_min)
9146  return _internal_mutable_lin_min();
9147 }
9148 
9149 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
9150 inline bool ConstraintProto::_internal_has_int_prod() const {
9151  return constraint_case() == kIntProd;
9152 }
9153 inline bool ConstraintProto::has_int_prod() const {
9154  return _internal_has_int_prod();
9155 }
9156 inline void ConstraintProto::set_has_int_prod() {
9157  _oneof_case_[0] = kIntProd;
9158 }
9159 inline void ConstraintProto::clear_int_prod() {
9160  if (_internal_has_int_prod()) {
9161  if (GetArena() == nullptr) {
9162  delete constraint_.int_prod_;
9163  }
9164  clear_has_constraint();
9165  }
9166 }
9167 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_prod() {
9168  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
9169  if (_internal_has_int_prod()) {
9170  clear_has_constraint();
9171  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9172  if (GetArena() != nullptr) {
9173  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9174  }
9175  constraint_.int_prod_ = nullptr;
9176  return temp;
9177  } else {
9178  return nullptr;
9179  }
9180 }
9181 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_prod() const {
9182  return _internal_has_int_prod()
9183  ? *constraint_.int_prod_
9184  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
9185 }
9186 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_prod() const {
9187  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
9188  return _internal_int_prod();
9189 }
9190 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_prod() {
9191  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
9192  if (_internal_has_int_prod()) {
9193  clear_has_constraint();
9194  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9195  constraint_.int_prod_ = nullptr;
9196  return temp;
9197  } else {
9198  return nullptr;
9199  }
9200 }
9201 inline void ConstraintProto::unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod) {
9202  clear_constraint();
9203  if (int_prod) {
9204  set_has_int_prod();
9205  constraint_.int_prod_ = int_prod;
9206  }
9207  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
9208 }
9209 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_prod() {
9210  if (!_internal_has_int_prod()) {
9211  clear_constraint();
9212  set_has_int_prod();
9213  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9214  }
9215  return constraint_.int_prod_;
9216 }
9217 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_prod() {
9218  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
9219  return _internal_mutable_int_prod();
9220 }
9221 
9222 // .operations_research.sat.LinearConstraintProto linear = 12;
9223 inline bool ConstraintProto::_internal_has_linear() const {
9224  return constraint_case() == kLinear;
9225 }
9226 inline bool ConstraintProto::has_linear() const {
9227  return _internal_has_linear();
9228 }
9229 inline void ConstraintProto::set_has_linear() {
9230  _oneof_case_[0] = kLinear;
9231 }
9232 inline void ConstraintProto::clear_linear() {
9233  if (_internal_has_linear()) {
9234  if (GetArena() == nullptr) {
9235  delete constraint_.linear_;
9236  }
9237  clear_has_constraint();
9238  }
9239 }
9240 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
9241  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
9242  if (_internal_has_linear()) {
9243  clear_has_constraint();
9244  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9245  if (GetArena() != nullptr) {
9246  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9247  }
9248  constraint_.linear_ = nullptr;
9249  return temp;
9250  } else {
9251  return nullptr;
9252  }
9253 }
9254 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
9255  return _internal_has_linear()
9256  ? *constraint_.linear_
9257  : *reinterpret_cast< ::operations_research::sat::LinearConstraintProto*>(&::operations_research::sat::_LinearConstraintProto_default_instance_);
9258 }
9259 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
9260  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
9261  return _internal_linear();
9262 }
9263 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::unsafe_arena_release_linear() {
9264  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
9265  if (_internal_has_linear()) {
9266  clear_has_constraint();
9267  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9268  constraint_.linear_ = nullptr;
9269  return temp;
9270  } else {
9271  return nullptr;
9272  }
9273 }
9274 inline void ConstraintProto::unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear) {
9275  clear_constraint();
9276  if (linear) {
9277  set_has_linear();
9278  constraint_.linear_ = linear;
9279  }
9280  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
9281 }
9282 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::_internal_mutable_linear() {
9283  if (!_internal_has_linear()) {
9284  clear_constraint();
9285  set_has_linear();
9286  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(GetArena());
9287  }
9288  return constraint_.linear_;
9289 }
9290 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
9291  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
9292  return _internal_mutable_linear();
9293 }
9294 
9295 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
9296 inline bool ConstraintProto::_internal_has_all_diff() const {
9297  return constraint_case() == kAllDiff;
9298 }
9299 inline bool ConstraintProto::has_all_diff() const {
9300  return _internal_has_all_diff();
9301 }
9302 inline void ConstraintProto::set_has_all_diff() {
9303  _oneof_case_[0] = kAllDiff;
9304 }
9305 inline void ConstraintProto::clear_all_diff() {
9306  if (_internal_has_all_diff()) {
9307  if (GetArena() == nullptr) {
9308  delete constraint_.all_diff_;
9309  }
9310  clear_has_constraint();
9311  }
9312 }
9313 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
9314  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
9315  if (_internal_has_all_diff()) {
9316  clear_has_constraint();
9317  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9318  if (GetArena() != nullptr) {
9319  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9320  }
9321  constraint_.all_diff_ = nullptr;
9322  return temp;
9323  } else {
9324  return nullptr;
9325  }
9326 }
9327 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
9328  return _internal_has_all_diff()
9329  ? *constraint_.all_diff_
9330  : *reinterpret_cast< ::operations_research::sat::AllDifferentConstraintProto*>(&::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
9331 }
9332 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
9333  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
9334  return _internal_all_diff();
9335 }
9336 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::unsafe_arena_release_all_diff() {
9337  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
9338  if (_internal_has_all_diff()) {
9339  clear_has_constraint();
9340  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9341  constraint_.all_diff_ = nullptr;
9342  return temp;
9343  } else {
9344  return nullptr;
9345  }
9346 }
9347 inline void ConstraintProto::unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff) {
9348  clear_constraint();
9349  if (all_diff) {
9350  set_has_all_diff();
9351  constraint_.all_diff_ = all_diff;
9352  }
9353  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
9354 }
9355 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::_internal_mutable_all_diff() {
9356  if (!_internal_has_all_diff()) {
9357  clear_constraint();
9358  set_has_all_diff();
9359  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(GetArena());
9360  }
9361  return constraint_.all_diff_;
9362 }
9363 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
9364  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
9365  return _internal_mutable_all_diff();
9366 }
9367 
9368 // .operations_research.sat.ElementConstraintProto element = 14;
9369 inline bool ConstraintProto::_internal_has_element() const {
9370  return constraint_case() == kElement;
9371 }
9372 inline bool ConstraintProto::has_element() const {
9373  return _internal_has_element();
9374 }
9375 inline void ConstraintProto::set_has_element() {
9376  _oneof_case_[0] = kElement;
9377 }
9378 inline void ConstraintProto::clear_element() {
9379  if (_internal_has_element()) {
9380  if (GetArena() == nullptr) {
9381  delete constraint_.element_;
9382  }
9383  clear_has_constraint();
9384  }
9385 }
9386 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
9387  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
9388  if (_internal_has_element()) {
9389  clear_has_constraint();
9390  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
9391  if (GetArena() != nullptr) {
9392  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9393  }
9394  constraint_.element_ = nullptr;
9395  return temp;
9396  } else {
9397  return nullptr;
9398  }
9399 }
9400 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
9401  return _internal_has_element()
9402  ? *constraint_.element_
9403  : *reinterpret_cast< ::operations_research::sat::ElementConstraintProto*>(&::operations_research::sat::_ElementConstraintProto_default_instance_);
9404 }
9405 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
9406  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
9407  return _internal_element();
9408 }
9409 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::unsafe_arena_release_element() {
9410  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
9411  if (_internal_has_element()) {
9412  clear_has_constraint();
9413  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
9414  constraint_.element_ = nullptr;
9415  return temp;
9416  } else {
9417  return nullptr;
9418  }
9419 }
9420 inline void ConstraintProto::unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto* element) {
9421  clear_constraint();
9422  if (element) {
9423  set_has_element();
9424  constraint_.element_ = element;
9425  }
9426  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
9427 }
9428 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::_internal_mutable_element() {
9429  if (!_internal_has_element()) {
9430  clear_constraint();
9431  set_has_element();
9432  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(GetArena());
9433  }
9434  return constraint_.element_;
9435 }
9436 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
9437  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
9438  return _internal_mutable_element();
9439 }
9440 
9441 // .operations_research.sat.CircuitConstraintProto circuit = 15;
9442 inline bool ConstraintProto::_internal_has_circuit() const {
9443  return constraint_case() == kCircuit;
9444 }
9445 inline bool ConstraintProto::has_circuit() const {
9446  return _internal_has_circuit();
9447 }
9448 inline void ConstraintProto::set_has_circuit() {
9449  _oneof_case_[0] = kCircuit;
9450 }
9451 inline void ConstraintProto::clear_circuit() {
9452  if (_internal_has_circuit()) {
9453  if (GetArena() == nullptr) {
9454  delete constraint_.circuit_;
9455  }
9456  clear_has_constraint();
9457  }
9458 }
9459 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
9460  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
9461  if (_internal_has_circuit()) {
9462  clear_has_constraint();
9463  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
9464  if (GetArena() != nullptr) {
9465  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9466  }
9467  constraint_.circuit_ = nullptr;
9468  return temp;
9469  } else {
9470  return nullptr;
9471  }
9472 }
9473 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
9474  return _internal_has_circuit()
9475  ? *constraint_.circuit_
9476  : *reinterpret_cast< ::operations_research::sat::CircuitConstraintProto*>(&::operations_research::sat::_CircuitConstraintProto_default_instance_);
9477 }
9478 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
9479  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
9480  return _internal_circuit();
9481 }
9482 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::unsafe_arena_release_circuit() {
9483  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
9484  if (_internal_has_circuit()) {
9485  clear_has_constraint();
9486  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
9487  constraint_.circuit_ = nullptr;
9488  return temp;
9489  } else {
9490  return nullptr;
9491  }
9492 }
9493 inline void ConstraintProto::unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit) {
9494  clear_constraint();
9495  if (circuit) {
9496  set_has_circuit();
9497  constraint_.circuit_ = circuit;
9498  }
9499  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
9500 }
9501 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::_internal_mutable_circuit() {
9502  if (!_internal_has_circuit()) {
9503  clear_constraint();
9504  set_has_circuit();
9505  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(GetArena());
9506  }
9507  return constraint_.circuit_;
9508 }
9509 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
9510  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
9511  return _internal_mutable_circuit();
9512 }
9513 
9514 // .operations_research.sat.RoutesConstraintProto routes = 23;
9515 inline bool ConstraintProto::_internal_has_routes() const {
9516  return constraint_case() == kRoutes;
9517 }
9518 inline bool ConstraintProto::has_routes() const {
9519  return _internal_has_routes();
9520 }
9521 inline void ConstraintProto::set_has_routes() {
9522  _oneof_case_[0] = kRoutes;
9523 }
9524 inline void ConstraintProto::clear_routes() {
9525  if (_internal_has_routes()) {
9526  if (GetArena() == nullptr) {
9527  delete constraint_.routes_;
9528  }
9529  clear_has_constraint();
9530  }
9531 }
9532 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
9533  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
9534  if (_internal_has_routes()) {
9535  clear_has_constraint();
9536  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
9537  if (GetArena() != nullptr) {
9538  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9539  }
9540  constraint_.routes_ = nullptr;
9541  return temp;
9542  } else {
9543  return nullptr;
9544  }
9545 }
9546 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
9547  return _internal_has_routes()
9548  ? *constraint_.routes_
9549  : *reinterpret_cast< ::operations_research::sat::RoutesConstraintProto*>(&::operations_research::sat::_RoutesConstraintProto_default_instance_);
9550 }
9551 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
9552  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
9553  return _internal_routes();
9554 }
9555 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::unsafe_arena_release_routes() {
9556  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
9557  if (_internal_has_routes()) {
9558  clear_has_constraint();
9559  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
9560  constraint_.routes_ = nullptr;
9561  return temp;
9562  } else {
9563  return nullptr;
9564  }
9565 }
9566 inline void ConstraintProto::unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes) {
9567  clear_constraint();
9568  if (routes) {
9569  set_has_routes();
9570  constraint_.routes_ = routes;
9571  }
9572  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
9573 }
9574 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::_internal_mutable_routes() {
9575  if (!_internal_has_routes()) {
9576  clear_constraint();
9577  set_has_routes();
9578  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(GetArena());
9579  }
9580  return constraint_.routes_;
9581 }
9582 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
9583  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
9584  return _internal_mutable_routes();
9585 }
9586 
9587 // .operations_research.sat.CircuitCoveringConstraintProto circuit_covering = 25;
9588 inline bool ConstraintProto::_internal_has_circuit_covering() const {
9589  return constraint_case() == kCircuitCovering;
9590 }
9591 inline bool ConstraintProto::has_circuit_covering() const {
9592  return _internal_has_circuit_covering();
9593 }
9594 inline void ConstraintProto::set_has_circuit_covering() {
9595  _oneof_case_[0] = kCircuitCovering;
9596 }
9597 inline void ConstraintProto::clear_circuit_covering() {
9598  if (_internal_has_circuit_covering()) {
9599  if (GetArena() == nullptr) {
9600  delete constraint_.circuit_covering_;
9601  }
9602  clear_has_constraint();
9603  }
9604 }
9605 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::release_circuit_covering() {
9606  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit_covering)
9607  if (_internal_has_circuit_covering()) {
9608  clear_has_constraint();
9609  ::operations_research::sat::CircuitCoveringConstraintProto* temp = constraint_.circuit_covering_;
9610  if (GetArena() != nullptr) {
9611  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9612  }
9613  constraint_.circuit_covering_ = nullptr;
9614  return temp;
9615  } else {
9616  return nullptr;
9617  }
9618 }
9619 inline const ::operations_research::sat::CircuitCoveringConstraintProto& ConstraintProto::_internal_circuit_covering() const {
9620  return _internal_has_circuit_covering()
9621  ? *constraint_.circuit_covering_
9622  : *reinterpret_cast< ::operations_research::sat::CircuitCoveringConstraintProto*>(&::operations_research::sat::_CircuitCoveringConstraintProto_default_instance_);
9623 }
9624 inline const ::operations_research::sat::CircuitCoveringConstraintProto& ConstraintProto::circuit_covering() const {
9625  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit_covering)
9626  return _internal_circuit_covering();
9627 }
9628 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::unsafe_arena_release_circuit_covering() {
9629  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit_covering)
9630  if (_internal_has_circuit_covering()) {
9631  clear_has_constraint();
9632  ::operations_research::sat::CircuitCoveringConstraintProto* temp = constraint_.circuit_covering_;
9633  constraint_.circuit_covering_ = nullptr;
9634  return temp;
9635  } else {
9636  return nullptr;
9637  }
9638 }
9639 inline void ConstraintProto::unsafe_arena_set_allocated_circuit_covering(::operations_research::sat::CircuitCoveringConstraintProto* circuit_covering) {
9640  clear_constraint();
9641  if (circuit_covering) {
9642  set_has_circuit_covering();
9643  constraint_.circuit_covering_ = circuit_covering;
9644  }
9645  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit_covering)
9646 }
9647 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::_internal_mutable_circuit_covering() {
9648  if (!_internal_has_circuit_covering()) {
9649  clear_constraint();
9650  set_has_circuit_covering();
9651  constraint_.circuit_covering_ = CreateMaybeMessage< ::operations_research::sat::CircuitCoveringConstraintProto >(GetArena());
9652  }
9653  return constraint_.circuit_covering_;
9654 }
9655 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::mutable_circuit_covering() {
9656  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit_covering)
9657  return _internal_mutable_circuit_covering();
9658 }
9659 
9660 // .operations_research.sat.TableConstraintProto table = 16;
9661 inline bool ConstraintProto::_internal_has_table() const {
9662  return constraint_case() == kTable;
9663 }
9664 inline bool ConstraintProto::has_table() const {
9665  return _internal_has_table();
9666 }
9667 inline void ConstraintProto::set_has_table() {
9668  _oneof_case_[0] = kTable;
9669 }
9670 inline void ConstraintProto::clear_table() {
9671  if (_internal_has_table()) {
9672  if (GetArena() == nullptr) {
9673  delete constraint_.table_;
9674  }
9675  clear_has_constraint();
9676  }
9677 }
9678 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
9679  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
9680  if (_internal_has_table()) {
9681  clear_has_constraint();
9682  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
9683  if (GetArena() != nullptr) {
9684  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9685  }
9686  constraint_.table_ = nullptr;
9687  return temp;
9688  } else {
9689  return nullptr;
9690  }
9691 }
9692 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
9693  return _internal_has_table()
9694  ? *constraint_.table_
9695  : *reinterpret_cast< ::operations_research::sat::TableConstraintProto*>(&::operations_research::sat::_TableConstraintProto_default_instance_);
9696 }
9697 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
9698  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
9699  return _internal_table();
9700 }
9701 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::unsafe_arena_release_table() {
9702  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
9703  if (_internal_has_table()) {
9704  clear_has_constraint();
9705  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
9706  constraint_.table_ = nullptr;
9707  return temp;
9708  } else {
9709  return nullptr;
9710  }
9711 }
9712 inline void ConstraintProto::unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto* table) {
9713  clear_constraint();
9714  if (table) {
9715  set_has_table();
9716  constraint_.table_ = table;
9717  }
9718  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
9719 }
9720 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::_internal_mutable_table() {
9721  if (!_internal_has_table()) {
9722  clear_constraint();
9723  set_has_table();
9724  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(GetArena());
9725  }
9726  return constraint_.table_;
9727 }
9728 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
9729  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
9730  return _internal_mutable_table();
9731 }
9732 
9733 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
9734 inline bool ConstraintProto::_internal_has_automaton() const {
9735  return constraint_case() == kAutomaton;
9736 }
9737 inline bool ConstraintProto::has_automaton() const {
9738  return _internal_has_automaton();
9739 }
9740 inline void ConstraintProto::set_has_automaton() {
9741  _oneof_case_[0] = kAutomaton;
9742 }
9743 inline void ConstraintProto::clear_automaton() {
9744  if (_internal_has_automaton()) {
9745  if (GetArena() == nullptr) {
9746  delete constraint_.automaton_;
9747  }
9748  clear_has_constraint();
9749  }
9750 }
9751 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
9752  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
9753  if (_internal_has_automaton()) {
9754  clear_has_constraint();
9755  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
9756  if (GetArena() != nullptr) {
9757  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9758  }
9759  constraint_.automaton_ = nullptr;
9760  return temp;
9761  } else {
9762  return nullptr;
9763  }
9764 }
9765 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
9766  return _internal_has_automaton()
9767  ? *constraint_.automaton_
9768  : *reinterpret_cast< ::operations_research::sat::AutomatonConstraintProto*>(&::operations_research::sat::_AutomatonConstraintProto_default_instance_);
9769 }
9770 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
9771  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
9772  return _internal_automaton();
9773 }
9774 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::unsafe_arena_release_automaton() {
9775  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
9776  if (_internal_has_automaton()) {
9777  clear_has_constraint();
9778  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
9779  constraint_.automaton_ = nullptr;
9780  return temp;
9781  } else {
9782  return nullptr;
9783  }
9784 }
9785 inline void ConstraintProto::unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton) {
9786  clear_constraint();
9787  if (automaton) {
9788  set_has_automaton();
9789  constraint_.automaton_ = automaton;
9790  }
9791  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
9792 }
9793 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::_internal_mutable_automaton() {
9794  if (!_internal_has_automaton()) {
9795  clear_constraint();
9796  set_has_automaton();
9797  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(GetArena());
9798  }
9799  return constraint_.automaton_;
9800 }
9801 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
9802  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
9803  return _internal_mutable_automaton();
9804 }
9805 
9806 // .operations_research.sat.InverseConstraintProto inverse = 18;
9807 inline bool ConstraintProto::_internal_has_inverse() const {
9808  return constraint_case() == kInverse;
9809 }
9810 inline bool ConstraintProto::has_inverse() const {
9811  return _internal_has_inverse();
9812 }
9813 inline void ConstraintProto::set_has_inverse() {
9814  _oneof_case_[0] = kInverse;
9815 }
9816 inline void ConstraintProto::clear_inverse() {
9817  if (_internal_has_inverse()) {
9818  if (GetArena() == nullptr) {
9819  delete constraint_.inverse_;
9820  }
9821  clear_has_constraint();
9822  }
9823 }
9824 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
9825  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
9826  if (_internal_has_inverse()) {
9827  clear_has_constraint();
9828  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
9829  if (GetArena() != nullptr) {
9830  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9831  }
9832  constraint_.inverse_ = nullptr;
9833  return temp;
9834  } else {
9835  return nullptr;
9836  }
9837 }
9838 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
9839  return _internal_has_inverse()
9840  ? *constraint_.inverse_
9841  : *reinterpret_cast< ::operations_research::sat::InverseConstraintProto*>(&::operations_research::sat::_InverseConstraintProto_default_instance_);
9842 }
9843 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
9844  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
9845  return _internal_inverse();
9846 }
9847 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::unsafe_arena_release_inverse() {
9848  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
9849  if (_internal_has_inverse()) {
9850  clear_has_constraint();
9851  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
9852  constraint_.inverse_ = nullptr;
9853  return temp;
9854  } else {
9855  return nullptr;
9856  }
9857 }
9858 inline void ConstraintProto::unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse) {
9859  clear_constraint();
9860  if (inverse) {
9861  set_has_inverse();
9862  constraint_.inverse_ = inverse;
9863  }
9864  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
9865 }
9866 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::_internal_mutable_inverse() {
9867  if (!_internal_has_inverse()) {
9868  clear_constraint();
9869  set_has_inverse();
9870  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(GetArena());
9871  }
9872  return constraint_.inverse_;
9873 }
9874 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
9875  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
9876  return _internal_mutable_inverse();
9877 }
9878 
9879 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
9880 inline bool ConstraintProto::_internal_has_reservoir() const {
9881  return constraint_case() == kReservoir;
9882 }
9883 inline bool ConstraintProto::has_reservoir() const {
9884  return _internal_has_reservoir();
9885 }
9886 inline void ConstraintProto::set_has_reservoir() {
9887  _oneof_case_[0] = kReservoir;
9888 }
9889 inline void ConstraintProto::clear_reservoir() {
9890  if (_internal_has_reservoir()) {
9891  if (GetArena() == nullptr) {
9892  delete constraint_.reservoir_;
9893  }
9894  clear_has_constraint();
9895  }
9896 }
9897 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
9898  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
9899  if (_internal_has_reservoir()) {
9900  clear_has_constraint();
9901  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
9902  if (GetArena() != nullptr) {
9903  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9904  }
9905  constraint_.reservoir_ = nullptr;
9906  return temp;
9907  } else {
9908  return nullptr;
9909  }
9910 }
9911 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
9912  return _internal_has_reservoir()
9913  ? *constraint_.reservoir_
9914  : *reinterpret_cast< ::operations_research::sat::ReservoirConstraintProto*>(&::operations_research::sat::_ReservoirConstraintProto_default_instance_);
9915 }
9916 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
9917  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
9918  return _internal_reservoir();
9919 }
9920 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::unsafe_arena_release_reservoir() {
9921  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
9922  if (_internal_has_reservoir()) {
9923  clear_has_constraint();
9924  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
9925  constraint_.reservoir_ = nullptr;
9926  return temp;
9927  } else {
9928  return nullptr;
9929  }
9930 }
9931 inline void ConstraintProto::unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir) {
9932  clear_constraint();
9933  if (reservoir) {
9934  set_has_reservoir();
9935  constraint_.reservoir_ = reservoir;
9936  }
9937  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
9938 }
9939 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::_internal_mutable_reservoir() {
9940  if (!_internal_has_reservoir()) {
9941  clear_constraint();
9942  set_has_reservoir();
9943  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(GetArena());
9944  }
9945  return constraint_.reservoir_;
9946 }
9947 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
9948  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
9949  return _internal_mutable_reservoir();
9950 }
9951 
9952 // .operations_research.sat.IntervalConstraintProto interval = 19;
9953 inline bool ConstraintProto::_internal_has_interval() const {
9954  return constraint_case() == kInterval;
9955 }
9956 inline bool ConstraintProto::has_interval() const {
9957  return _internal_has_interval();
9958 }
9959 inline void ConstraintProto::set_has_interval() {
9960  _oneof_case_[0] = kInterval;
9961 }
9962 inline void ConstraintProto::clear_interval() {
9963  if (_internal_has_interval()) {
9964  if (GetArena() == nullptr) {
9965  delete constraint_.interval_;
9966  }
9967  clear_has_constraint();
9968  }
9969 }
9970 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
9971  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
9972  if (_internal_has_interval()) {
9973  clear_has_constraint();
9974  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
9975  if (GetArena() != nullptr) {
9976  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9977  }
9978  constraint_.interval_ = nullptr;
9979  return temp;
9980  } else {
9981  return nullptr;
9982  }
9983 }
9984 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
9985  return _internal_has_interval()
9986  ? *constraint_.interval_
9987  : *reinterpret_cast< ::operations_research::sat::IntervalConstraintProto*>(&::operations_research::sat::_IntervalConstraintProto_default_instance_);
9988 }
9989 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
9990  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
9991  return _internal_interval();
9992 }
9993 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::unsafe_arena_release_interval() {
9994  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
9995  if (_internal_has_interval()) {
9996  clear_has_constraint();
9997  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
9998  constraint_.interval_ = nullptr;
9999  return temp;
10000  } else {
10001  return nullptr;
10002  }
10003 }
10004 inline void ConstraintProto::unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval) {
10005  clear_constraint();
10006  if (interval) {
10007  set_has_interval();
10008  constraint_.interval_ = interval;
10009  }
10010  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
10011 }
10012 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::_internal_mutable_interval() {
10013  if (!_internal_has_interval()) {
10014  clear_constraint();
10015  set_has_interval();
10016  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(GetArena());
10017  }
10018  return constraint_.interval_;
10019 }
10020 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
10021  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
10022  return _internal_mutable_interval();
10023 }
10024 
10025 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
10026 inline bool ConstraintProto::_internal_has_no_overlap() const {
10027  return constraint_case() == kNoOverlap;
10028 }
10029 inline bool ConstraintProto::has_no_overlap() const {
10030  return _internal_has_no_overlap();
10031 }
10032 inline void ConstraintProto::set_has_no_overlap() {
10033  _oneof_case_[0] = kNoOverlap;
10034 }
10035 inline void ConstraintProto::clear_no_overlap() {
10036  if (_internal_has_no_overlap()) {
10037  if (GetArena() == nullptr) {
10038  delete constraint_.no_overlap_;
10039  }
10040  clear_has_constraint();
10041  }
10042 }
10043 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
10044  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
10045  if (_internal_has_no_overlap()) {
10046  clear_has_constraint();
10047  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10048  if (GetArena() != nullptr) {
10049  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10050  }
10051  constraint_.no_overlap_ = nullptr;
10052  return temp;
10053  } else {
10054  return nullptr;
10055  }
10056 }
10057 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
10058  return _internal_has_no_overlap()
10059  ? *constraint_.no_overlap_
10060  : *reinterpret_cast< ::operations_research::sat::NoOverlapConstraintProto*>(&::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
10061 }
10062 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
10063  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
10064  return _internal_no_overlap();
10065 }
10066 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap() {
10067  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
10068  if (_internal_has_no_overlap()) {
10069  clear_has_constraint();
10070  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10071  constraint_.no_overlap_ = nullptr;
10072  return temp;
10073  } else {
10074  return nullptr;
10075  }
10076 }
10077 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap) {
10078  clear_constraint();
10079  if (no_overlap) {
10080  set_has_no_overlap();
10081  constraint_.no_overlap_ = no_overlap;
10082  }
10083  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
10084 }
10085 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::_internal_mutable_no_overlap() {
10086  if (!_internal_has_no_overlap()) {
10087  clear_constraint();
10088  set_has_no_overlap();
10089  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(GetArena());
10090  }
10091  return constraint_.no_overlap_;
10092 }
10093 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
10094  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
10095  return _internal_mutable_no_overlap();
10096 }
10097 
10098 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
10099 inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
10100  return constraint_case() == kNoOverlap2D;
10101 }
10102 inline bool ConstraintProto::has_no_overlap_2d() const {
10103  return _internal_has_no_overlap_2d();
10104 }
10105 inline void ConstraintProto::set_has_no_overlap_2d() {
10106  _oneof_case_[0] = kNoOverlap2D;
10107 }
10108 inline void ConstraintProto::clear_no_overlap_2d() {
10109  if (_internal_has_no_overlap_2d()) {
10110  if (GetArena() == nullptr) {
10111  delete constraint_.no_overlap_2d_;
10112  }
10113  clear_has_constraint();
10114  }
10115 }
10116 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
10117  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10118  if (_internal_has_no_overlap_2d()) {
10119  clear_has_constraint();
10120  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10121  if (GetArena() != nullptr) {
10122  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10123  }
10124  constraint_.no_overlap_2d_ = nullptr;
10125  return temp;
10126  } else {
10127  return nullptr;
10128  }
10129 }
10130 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
10131  return _internal_has_no_overlap_2d()
10132  ? *constraint_.no_overlap_2d_
10133  : *reinterpret_cast< ::operations_research::sat::NoOverlap2DConstraintProto*>(&::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
10134 }
10135 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
10136  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
10137  return _internal_no_overlap_2d();
10138 }
10139 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap_2d() {
10140  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10141  if (_internal_has_no_overlap_2d()) {
10142  clear_has_constraint();
10143  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10144  constraint_.no_overlap_2d_ = nullptr;
10145  return temp;
10146  } else {
10147  return nullptr;
10148  }
10149 }
10150 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d) {
10151  clear_constraint();
10152  if (no_overlap_2d) {
10153  set_has_no_overlap_2d();
10154  constraint_.no_overlap_2d_ = no_overlap_2d;
10155  }
10156  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
10157 }
10158 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::_internal_mutable_no_overlap_2d() {
10159  if (!_internal_has_no_overlap_2d()) {
10160  clear_constraint();
10161  set_has_no_overlap_2d();
10162  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(GetArena());
10163  }
10164  return constraint_.no_overlap_2d_;
10165 }
10166 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
10167  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
10168  return _internal_mutable_no_overlap_2d();
10169 }
10170 
10171 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
10172 inline bool ConstraintProto::_internal_has_cumulative() const {
10173  return constraint_case() == kCumulative;
10174 }
10175 inline bool ConstraintProto::has_cumulative() const {
10176  return _internal_has_cumulative();
10177 }
10178 inline void ConstraintProto::set_has_cumulative() {
10179  _oneof_case_[0] = kCumulative;
10180 }
10181 inline void ConstraintProto::clear_cumulative() {
10182  if (_internal_has_cumulative()) {
10183  if (GetArena() == nullptr) {
10184  delete constraint_.cumulative_;
10185  }
10186  clear_has_constraint();
10187  }
10188 }
10189 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
10190  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
10191  if (_internal_has_cumulative()) {
10192  clear_has_constraint();
10193  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10194  if (GetArena() != nullptr) {
10195  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10196  }
10197  constraint_.cumulative_ = nullptr;
10198  return temp;
10199  } else {
10200  return nullptr;
10201  }
10202 }
10203 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
10204  return _internal_has_cumulative()
10205  ? *constraint_.cumulative_
10206  : *reinterpret_cast< ::operations_research::sat::CumulativeConstraintProto*>(&::operations_research::sat::_CumulativeConstraintProto_default_instance_);
10207 }
10208 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
10209  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
10210  return _internal_cumulative();
10211 }
10212 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::unsafe_arena_release_cumulative() {
10213  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
10214  if (_internal_has_cumulative()) {
10215  clear_has_constraint();
10216  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10217  constraint_.cumulative_ = nullptr;
10218  return temp;
10219  } else {
10220  return nullptr;
10221  }
10222 }
10223 inline void ConstraintProto::unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative) {
10224  clear_constraint();
10225  if (cumulative) {
10226  set_has_cumulative();
10227  constraint_.cumulative_ = cumulative;
10228  }
10229  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
10230 }
10231 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::_internal_mutable_cumulative() {
10232  if (!_internal_has_cumulative()) {
10233  clear_constraint();
10234  set_has_cumulative();
10235  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(GetArena());
10236  }
10237  return constraint_.cumulative_;
10238 }
10239 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
10240  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
10241  return _internal_mutable_cumulative();
10242 }
10243 
10244 inline bool ConstraintProto::has_constraint() const {
10245  return constraint_case() != CONSTRAINT_NOT_SET;
10246 }
10247 inline void ConstraintProto::clear_has_constraint() {
10248  _oneof_case_[0] = CONSTRAINT_NOT_SET;
10249 }
10250 inline ConstraintProto::ConstraintCase ConstraintProto::constraint_case() const {
10251  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
10252 }
10253 // -------------------------------------------------------------------
10254 
10255 // CpObjectiveProto
10256 
10257 // repeated int32 vars = 1;
10258 inline int CpObjectiveProto::_internal_vars_size() const {
10259  return vars_.size();
10260 }
10261 inline int CpObjectiveProto::vars_size() const {
10262  return _internal_vars_size();
10263 }
10264 inline void CpObjectiveProto::clear_vars() {
10265  vars_.Clear();
10266 }
10267 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::_internal_vars(int index) const {
10268  return vars_.Get(index);
10269 }
10270 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::vars(int index) const {
10271  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
10272  return _internal_vars(index);
10273 }
10274 inline void CpObjectiveProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10275  vars_.Set(index, value);
10276  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
10277 }
10278 inline void CpObjectiveProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10279  vars_.Add(value);
10280 }
10281 inline void CpObjectiveProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10282  _internal_add_vars(value);
10283  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
10284 }
10285 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10286 CpObjectiveProto::_internal_vars() const {
10287  return vars_;
10288 }
10289 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10290 CpObjectiveProto::vars() const {
10291  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
10292  return _internal_vars();
10293 }
10294 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10295 CpObjectiveProto::_internal_mutable_vars() {
10296  return &vars_;
10297 }
10298 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10299 CpObjectiveProto::mutable_vars() {
10300  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
10301  return _internal_mutable_vars();
10302 }
10303 
10304 // repeated int64 coeffs = 4;
10305 inline int CpObjectiveProto::_internal_coeffs_size() const {
10306  return coeffs_.size();
10307 }
10308 inline int CpObjectiveProto::coeffs_size() const {
10309  return _internal_coeffs_size();
10310 }
10311 inline void CpObjectiveProto::clear_coeffs() {
10312  coeffs_.Clear();
10313 }
10314 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_coeffs(int index) const {
10315  return coeffs_.Get(index);
10316 }
10317 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::coeffs(int index) const {
10318  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
10319  return _internal_coeffs(index);
10320 }
10321 inline void CpObjectiveProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10322  coeffs_.Set(index, value);
10323  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
10324 }
10325 inline void CpObjectiveProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10326  coeffs_.Add(value);
10327 }
10328 inline void CpObjectiveProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10329  _internal_add_coeffs(value);
10330  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
10331 }
10332 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10333 CpObjectiveProto::_internal_coeffs() const {
10334  return coeffs_;
10335 }
10336 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10337 CpObjectiveProto::coeffs() const {
10338  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
10339  return _internal_coeffs();
10340 }
10341 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10342 CpObjectiveProto::_internal_mutable_coeffs() {
10343  return &coeffs_;
10344 }
10345 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10346 CpObjectiveProto::mutable_coeffs() {
10347  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
10348  return _internal_mutable_coeffs();
10349 }
10350 
10351 // double offset = 2;
10352 inline void CpObjectiveProto::clear_offset() {
10353  offset_ = 0;
10354 }
10355 inline double CpObjectiveProto::_internal_offset() const {
10356  return offset_;
10357 }
10358 inline double CpObjectiveProto::offset() const {
10359  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
10360  return _internal_offset();
10361 }
10362 inline void CpObjectiveProto::_internal_set_offset(double value) {
10363 
10364  offset_ = value;
10365 }
10366 inline void CpObjectiveProto::set_offset(double value) {
10367  _internal_set_offset(value);
10368  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
10369 }
10370 
10371 // double scaling_factor = 3;
10372 inline void CpObjectiveProto::clear_scaling_factor() {
10373  scaling_factor_ = 0;
10374 }
10375 inline double CpObjectiveProto::_internal_scaling_factor() const {
10376  return scaling_factor_;
10377 }
10378 inline double CpObjectiveProto::scaling_factor() const {
10379  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
10380  return _internal_scaling_factor();
10381 }
10382 inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
10383 
10384  scaling_factor_ = value;
10385 }
10386 inline void CpObjectiveProto::set_scaling_factor(double value) {
10387  _internal_set_scaling_factor(value);
10388  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
10389 }
10390 
10391 // repeated int64 domain = 5;
10392 inline int CpObjectiveProto::_internal_domain_size() const {
10393  return domain_.size();
10394 }
10395 inline int CpObjectiveProto::domain_size() const {
10396  return _internal_domain_size();
10397 }
10398 inline void CpObjectiveProto::clear_domain() {
10399  domain_.Clear();
10400 }
10401 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_domain(int index) const {
10402  return domain_.Get(index);
10403 }
10404 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::domain(int index) const {
10405  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
10406  return _internal_domain(index);
10407 }
10408 inline void CpObjectiveProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10409  domain_.Set(index, value);
10410  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
10411 }
10412 inline void CpObjectiveProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10413  domain_.Add(value);
10414 }
10415 inline void CpObjectiveProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10416  _internal_add_domain(value);
10417  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
10418 }
10419 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10420 CpObjectiveProto::_internal_domain() const {
10421  return domain_;
10422 }
10423 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10424 CpObjectiveProto::domain() const {
10425  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
10426  return _internal_domain();
10427 }
10428 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10429 CpObjectiveProto::_internal_mutable_domain() {
10430  return &domain_;
10431 }
10432 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10433 CpObjectiveProto::mutable_domain() {
10434  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
10435  return _internal_mutable_domain();
10436 }
10437 
10438 // -------------------------------------------------------------------
10439 
10440 // DecisionStrategyProto_AffineTransformation
10441 
10442 // int32 var = 1;
10443 inline void DecisionStrategyProto_AffineTransformation::clear_var() {
10444  var_ = 0;
10445 }
10446 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::_internal_var() const {
10447  return var_;
10448 }
10449 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::var() const {
10450  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10451  return _internal_var();
10452 }
10453 inline void DecisionStrategyProto_AffineTransformation::_internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10454 
10455  var_ = value;
10456 }
10457 inline void DecisionStrategyProto_AffineTransformation::set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10458  _internal_set_var(value);
10459  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10460 }
10461 
10462 // int64 offset = 2;
10463 inline void DecisionStrategyProto_AffineTransformation::clear_offset() {
10464  offset_ = PROTOBUF_LONGLONG(0);
10465 }
10466 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_offset() const {
10467  return offset_;
10468 }
10469 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::offset() const {
10470  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10471  return _internal_offset();
10472 }
10473 inline void DecisionStrategyProto_AffineTransformation::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10474 
10475  offset_ = value;
10476 }
10477 inline void DecisionStrategyProto_AffineTransformation::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10478  _internal_set_offset(value);
10479  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10480 }
10481 
10482 // int64 positive_coeff = 3;
10483 inline void DecisionStrategyProto_AffineTransformation::clear_positive_coeff() {
10484  positive_coeff_ = PROTOBUF_LONGLONG(0);
10485 }
10486 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_positive_coeff() const {
10487  return positive_coeff_;
10488 }
10489 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::positive_coeff() const {
10490  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
10491  return _internal_positive_coeff();
10492 }
10493 inline void DecisionStrategyProto_AffineTransformation::_internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
10494 
10495  positive_coeff_ = value;
10496 }
10497 inline void DecisionStrategyProto_AffineTransformation::set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
10498  _internal_set_positive_coeff(value);
10499  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
10500 }
10501 
10502 // -------------------------------------------------------------------
10503 
10504 // DecisionStrategyProto
10505 
10506 // repeated int32 variables = 1;
10507 inline int DecisionStrategyProto::_internal_variables_size() const {
10508  return variables_.size();
10509 }
10510 inline int DecisionStrategyProto::variables_size() const {
10511  return _internal_variables_size();
10512 }
10513 inline void DecisionStrategyProto::clear_variables() {
10514  variables_.Clear();
10515 }
10516 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::_internal_variables(int index) const {
10517  return variables_.Get(index);
10518 }
10519 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::variables(int index) const {
10520  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
10521  return _internal_variables(index);
10522 }
10523 inline void DecisionStrategyProto::set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10524  variables_.Set(index, value);
10525  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
10526 }
10527 inline void DecisionStrategyProto::_internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
10528  variables_.Add(value);
10529 }
10530 inline void DecisionStrategyProto::add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
10531  _internal_add_variables(value);
10532  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
10533 }
10534 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10535 DecisionStrategyProto::_internal_variables() const {
10536  return variables_;
10537 }
10538 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10539 DecisionStrategyProto::variables() const {
10540  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
10541  return _internal_variables();
10542 }
10543 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10544 DecisionStrategyProto::_internal_mutable_variables() {
10545  return &variables_;
10546 }
10547 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10548 DecisionStrategyProto::mutable_variables() {
10549  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
10550  return _internal_mutable_variables();
10551 }
10552 
10553 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
10554 inline void DecisionStrategyProto::clear_variable_selection_strategy() {
10555  variable_selection_strategy_ = 0;
10556 }
10557 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
10558  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
10559 }
10560 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::variable_selection_strategy() const {
10561  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
10562  return _internal_variable_selection_strategy();
10563 }
10564 inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
10565 
10566  variable_selection_strategy_ = value;
10567 }
10568 inline void DecisionStrategyProto::set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
10569  _internal_set_variable_selection_strategy(value);
10570  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
10571 }
10572 
10573 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
10574 inline void DecisionStrategyProto::clear_domain_reduction_strategy() {
10575  domain_reduction_strategy_ = 0;
10576 }
10577 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
10578  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
10579 }
10580 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::domain_reduction_strategy() const {
10581  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
10582  return _internal_domain_reduction_strategy();
10583 }
10584 inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
10585 
10586  domain_reduction_strategy_ = value;
10587 }
10588 inline void DecisionStrategyProto::set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
10589  _internal_set_domain_reduction_strategy(value);
10590  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
10591 }
10592 
10593 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
10594 inline int DecisionStrategyProto::_internal_transformations_size() const {
10595  return transformations_.size();
10596 }
10597 inline int DecisionStrategyProto::transformations_size() const {
10598  return _internal_transformations_size();
10599 }
10600 inline void DecisionStrategyProto::clear_transformations() {
10601  transformations_.Clear();
10602 }
10603 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
10604  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
10605  return transformations_.Mutable(index);
10606 }
10607 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
10608 DecisionStrategyProto::mutable_transformations() {
10609  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
10610  return &transformations_;
10611 }
10612 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::_internal_transformations(int index) const {
10613  return transformations_.Get(index);
10614 }
10615 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
10616  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
10617  return _internal_transformations(index);
10618 }
10619 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::_internal_add_transformations() {
10620  return transformations_.Add();
10621 }
10622 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
10623  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
10624  return _internal_add_transformations();
10625 }
10626 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
10627 DecisionStrategyProto::transformations() const {
10628  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
10629  return transformations_;
10630 }
10631 
10632 // -------------------------------------------------------------------
10633 
10634 // PartialVariableAssignment
10635 
10636 // repeated int32 vars = 1;
10637 inline int PartialVariableAssignment::_internal_vars_size() const {
10638  return vars_.size();
10639 }
10640 inline int PartialVariableAssignment::vars_size() const {
10641  return _internal_vars_size();
10642 }
10643 inline void PartialVariableAssignment::clear_vars() {
10644  vars_.Clear();
10645 }
10646 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::_internal_vars(int index) const {
10647  return vars_.Get(index);
10648 }
10649 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::vars(int index) const {
10650  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
10651  return _internal_vars(index);
10652 }
10653 inline void PartialVariableAssignment::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10654  vars_.Set(index, value);
10655  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
10656 }
10657 inline void PartialVariableAssignment::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10658  vars_.Add(value);
10659 }
10660 inline void PartialVariableAssignment::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10661  _internal_add_vars(value);
10662  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
10663 }
10664 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10665 PartialVariableAssignment::_internal_vars() const {
10666  return vars_;
10667 }
10668 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10669 PartialVariableAssignment::vars() const {
10670  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
10671  return _internal_vars();
10672 }
10673 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10674 PartialVariableAssignment::_internal_mutable_vars() {
10675  return &vars_;
10676 }
10677 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10678 PartialVariableAssignment::mutable_vars() {
10679  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
10680  return _internal_mutable_vars();
10681 }
10682 
10683 // repeated int64 values = 2;
10684 inline int PartialVariableAssignment::_internal_values_size() const {
10685  return values_.size();
10686 }
10687 inline int PartialVariableAssignment::values_size() const {
10688  return _internal_values_size();
10689 }
10690 inline void PartialVariableAssignment::clear_values() {
10691  values_.Clear();
10692 }
10693 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::_internal_values(int index) const {
10694  return values_.Get(index);
10695 }
10696 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::values(int index) const {
10697  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
10698  return _internal_values(index);
10699 }
10700 inline void PartialVariableAssignment::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10701  values_.Set(index, value);
10702  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
10703 }
10704 inline void PartialVariableAssignment::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
10705  values_.Add(value);
10706 }
10707 inline void PartialVariableAssignment::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
10708  _internal_add_values(value);
10709  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
10710 }
10711 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10712 PartialVariableAssignment::_internal_values() const {
10713  return values_;
10714 }
10715 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10716 PartialVariableAssignment::values() const {
10717  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
10718  return _internal_values();
10719 }
10720 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10721 PartialVariableAssignment::_internal_mutable_values() {
10722  return &values_;
10723 }
10724 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10725 PartialVariableAssignment::mutable_values() {
10726  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
10727  return _internal_mutable_values();
10728 }
10729 
10730 // -------------------------------------------------------------------
10731 
10732 // CpModelProto
10733 
10734 // string name = 1;
10735 inline void CpModelProto::clear_name() {
10736  name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
10737 }
10738 inline const std::string& CpModelProto::name() const {
10739  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
10740  return _internal_name();
10741 }
10742 inline void CpModelProto::set_name(const std::string& value) {
10743  _internal_set_name(value);
10744  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
10745 }
10746 inline std::string* CpModelProto::mutable_name() {
10747  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
10748  return _internal_mutable_name();
10749 }
10750 inline const std::string& CpModelProto::_internal_name() const {
10751  return name_.Get();
10752 }
10753 inline void CpModelProto::_internal_set_name(const std::string& value) {
10754 
10755  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
10756 }
10757 inline void CpModelProto::set_name(std::string&& value) {
10758 
10759  name_.Set(
10760  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
10761  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpModelProto.name)
10762 }
10763 inline void CpModelProto::set_name(const char* value) {
10764  GOOGLE_DCHECK(value != nullptr);
10765 
10766  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
10767  GetArena());
10768  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpModelProto.name)
10769 }
10770 inline void CpModelProto::set_name(const char* value,
10771  size_t size) {
10772 
10773  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
10774  reinterpret_cast<const char*>(value), size), GetArena());
10775  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpModelProto.name)
10776 }
10777 inline std::string* CpModelProto::_internal_mutable_name() {
10778 
10779  return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
10780 }
10781 inline std::string* CpModelProto::release_name() {
10782  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
10783  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
10784 }
10785 inline void CpModelProto::set_allocated_name(std::string* name) {
10786  if (name != nullptr) {
10787 
10788  } else {
10789 
10790  }
10791  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
10792  GetArena());
10793  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
10794 }
10795 inline std::string* CpModelProto::unsafe_arena_release_name() {
10796  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.CpModelProto.name)
10797  GOOGLE_DCHECK(GetArena() != nullptr);
10798 
10799  return name_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
10800  GetArena());
10801 }
10802 inline void CpModelProto::unsafe_arena_set_allocated_name(
10803  std::string* name) {
10804  GOOGLE_DCHECK(GetArena() != nullptr);
10805  if (name != nullptr) {
10806 
10807  } else {
10808 
10809  }
10810  name_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
10811  name, GetArena());
10812  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.name)
10813 }
10814 
10815 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
10816 inline int CpModelProto::_internal_variables_size() const {
10817  return variables_.size();
10818 }
10819 inline int CpModelProto::variables_size() const {
10820  return _internal_variables_size();
10821 }
10822 inline void CpModelProto::clear_variables() {
10823  variables_.Clear();
10824 }
10825 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
10826  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
10827  return variables_.Mutable(index);
10828 }
10829 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
10830 CpModelProto::mutable_variables() {
10831  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
10832  return &variables_;
10833 }
10834 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::_internal_variables(int index) const {
10835  return variables_.Get(index);
10836 }
10837 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
10838  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
10839  return _internal_variables(index);
10840 }
10841 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::_internal_add_variables() {
10842  return variables_.Add();
10843 }
10844 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
10845  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
10846  return _internal_add_variables();
10847 }
10848 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
10849 CpModelProto::variables() const {
10850  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
10851  return variables_;
10852 }
10853 
10854 // repeated .operations_research.sat.ConstraintProto constraints = 3;
10855 inline int CpModelProto::_internal_constraints_size() const {
10856  return constraints_.size();
10857 }
10858 inline int CpModelProto::constraints_size() const {
10859  return _internal_constraints_size();
10860 }
10861 inline void CpModelProto::clear_constraints() {
10862  constraints_.Clear();
10863 }
10864 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
10865  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
10866  return constraints_.Mutable(index);
10867 }
10868 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
10869 CpModelProto::mutable_constraints() {
10870  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
10871  return &constraints_;
10872 }
10873 inline const ::operations_research::sat::ConstraintProto& CpModelProto::_internal_constraints(int index) const {
10874  return constraints_.Get(index);
10875 }
10876 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
10877  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
10878  return _internal_constraints(index);
10879 }
10880 inline ::operations_research::sat::ConstraintProto* CpModelProto::_internal_add_constraints() {
10881  return constraints_.Add();
10882 }
10883 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
10884  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
10885  return _internal_add_constraints();
10886 }
10887 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
10888 CpModelProto::constraints() const {
10889  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
10890  return constraints_;
10891 }
10892 
10893 // .operations_research.sat.CpObjectiveProto objective = 4;
10894 inline bool CpModelProto::_internal_has_objective() const {
10895  return this != internal_default_instance() && objective_ != nullptr;
10896 }
10897 inline bool CpModelProto::has_objective() const {
10898  return _internal_has_objective();
10899 }
10900 inline void CpModelProto::clear_objective() {
10901  if (GetArena() == nullptr && objective_ != nullptr) {
10902  delete objective_;
10903  }
10904  objective_ = nullptr;
10905 }
10906 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
10907  const ::operations_research::sat::CpObjectiveProto* p = objective_;
10908  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::CpObjectiveProto*>(
10910 }
10911 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
10912  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
10913  return _internal_objective();
10914 }
10915 inline void CpModelProto::unsafe_arena_set_allocated_objective(
10916  ::operations_research::sat::CpObjectiveProto* objective) {
10917  if (GetArena() == nullptr) {
10918  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
10919  }
10920  objective_ = objective;
10921  if (objective) {
10922 
10923  } else {
10924 
10925  }
10926  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
10927 }
10928 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
10929  auto temp = unsafe_arena_release_objective();
10930  if (GetArena() != nullptr) {
10931  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10932  }
10933  return temp;
10934 }
10935 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::unsafe_arena_release_objective() {
10936  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
10937 
10938  ::operations_research::sat::CpObjectiveProto* temp = objective_;
10939  objective_ = nullptr;
10940  return temp;
10941 }
10942 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::_internal_mutable_objective() {
10943 
10944  if (objective_ == nullptr) {
10945  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArena());
10946  objective_ = p;
10947  }
10948  return objective_;
10949 }
10950 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
10951  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
10952  return _internal_mutable_objective();
10953 }
10954 inline void CpModelProto::set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective) {
10955  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
10956  if (message_arena == nullptr) {
10957  delete objective_;
10958  }
10959  if (objective) {
10960  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
10961  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(objective);
10962  if (message_arena != submessage_arena) {
10963  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
10964  message_arena, objective, submessage_arena);
10965  }
10966 
10967  } else {
10968 
10969  }
10970  objective_ = objective;
10971  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
10972 }
10973 
10974 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
10975 inline int CpModelProto::_internal_search_strategy_size() const {
10976  return search_strategy_.size();
10977 }
10978 inline int CpModelProto::search_strategy_size() const {
10979  return _internal_search_strategy_size();
10980 }
10981 inline void CpModelProto::clear_search_strategy() {
10982  search_strategy_.Clear();
10983 }
10984 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
10985  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
10986  return search_strategy_.Mutable(index);
10987 }
10988 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
10989 CpModelProto::mutable_search_strategy() {
10990  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
10991  return &search_strategy_;
10992 }
10993 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::_internal_search_strategy(int index) const {
10994  return search_strategy_.Get(index);
10995 }
10996 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
10997  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
10998  return _internal_search_strategy(index);
10999 }
11000 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::_internal_add_search_strategy() {
11001  return search_strategy_.Add();
11002 }
11003 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
11004  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
11005  return _internal_add_search_strategy();
11006 }
11007 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
11008 CpModelProto::search_strategy() const {
11009  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
11010  return search_strategy_;
11011 }
11012 
11013 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
11014 inline bool CpModelProto::_internal_has_solution_hint() const {
11015  return this != internal_default_instance() && solution_hint_ != nullptr;
11016 }
11017 inline bool CpModelProto::has_solution_hint() const {
11018  return _internal_has_solution_hint();
11019 }
11020 inline void CpModelProto::clear_solution_hint() {
11021  if (GetArena() == nullptr && solution_hint_ != nullptr) {
11022  delete solution_hint_;
11023  }
11024  solution_hint_ = nullptr;
11025 }
11026 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
11027  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
11028  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment*>(
11030 }
11031 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
11032  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
11033  return _internal_solution_hint();
11034 }
11035 inline void CpModelProto::unsafe_arena_set_allocated_solution_hint(
11036  ::operations_research::sat::PartialVariableAssignment* solution_hint) {
11037  if (GetArena() == nullptr) {
11038  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
11039  }
11040  solution_hint_ = solution_hint;
11041  if (solution_hint) {
11042 
11043  } else {
11044 
11045  }
11046  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11047 }
11048 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
11049  auto temp = unsafe_arena_release_solution_hint();
11050  if (GetArena() != nullptr) {
11051  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11052  }
11053  return temp;
11054 }
11055 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::unsafe_arena_release_solution_hint() {
11056  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
11057 
11058  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
11059  solution_hint_ = nullptr;
11060  return temp;
11061 }
11062 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::_internal_mutable_solution_hint() {
11063 
11064  if (solution_hint_ == nullptr) {
11065  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArena());
11066  solution_hint_ = p;
11067  }
11068  return solution_hint_;
11069 }
11070 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
11071  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
11072  return _internal_mutable_solution_hint();
11073 }
11074 inline void CpModelProto::set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint) {
11075  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
11076  if (message_arena == nullptr) {
11077  delete solution_hint_;
11078  }
11079  if (solution_hint) {
11080  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
11081  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(solution_hint);
11082  if (message_arena != submessage_arena) {
11083  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
11084  message_arena, solution_hint, submessage_arena);
11085  }
11086 
11087  } else {
11088 
11089  }
11090  solution_hint_ = solution_hint;
11091  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11092 }
11093 
11094 // repeated int32 assumptions = 7;
11095 inline int CpModelProto::_internal_assumptions_size() const {
11096  return assumptions_.size();
11097 }
11098 inline int CpModelProto::assumptions_size() const {
11099  return _internal_assumptions_size();
11100 }
11101 inline void CpModelProto::clear_assumptions() {
11102  assumptions_.Clear();
11103 }
11104 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::_internal_assumptions(int index) const {
11105  return assumptions_.Get(index);
11106 }
11107 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::assumptions(int index) const {
11108  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
11109  return _internal_assumptions(index);
11110 }
11111 inline void CpModelProto::set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11112  assumptions_.Set(index, value);
11113  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
11114 }
11115 inline void CpModelProto::_internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11116  assumptions_.Add(value);
11117 }
11118 inline void CpModelProto::add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11119  _internal_add_assumptions(value);
11120  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
11121 }
11122 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11123 CpModelProto::_internal_assumptions() const {
11124  return assumptions_;
11125 }
11126 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11127 CpModelProto::assumptions() const {
11128  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
11129  return _internal_assumptions();
11130 }
11131 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11132 CpModelProto::_internal_mutable_assumptions() {
11133  return &assumptions_;
11134 }
11135 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11136 CpModelProto::mutable_assumptions() {
11137  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
11138  return _internal_mutable_assumptions();
11139 }
11140 
11141 // -------------------------------------------------------------------
11142 
11143 // CpSolverResponse
11144 
11145 // .operations_research.sat.CpSolverStatus status = 1;
11146 inline void CpSolverResponse::clear_status() {
11147  status_ = 0;
11148 }
11149 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
11150  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
11151 }
11152 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::status() const {
11153  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
11154  return _internal_status();
11155 }
11156 inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
11157 
11158  status_ = value;
11159 }
11160 inline void CpSolverResponse::set_status(::operations_research::sat::CpSolverStatus value) {
11161  _internal_set_status(value);
11162  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
11163 }
11164 
11165 // repeated int64 solution = 2;
11166 inline int CpSolverResponse::_internal_solution_size() const {
11167  return solution_.size();
11168 }
11169 inline int CpSolverResponse::solution_size() const {
11170  return _internal_solution_size();
11171 }
11172 inline void CpSolverResponse::clear_solution() {
11173  solution_.Clear();
11174 }
11175 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution(int index) const {
11176  return solution_.Get(index);
11177 }
11178 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution(int index) const {
11179  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
11180  return _internal_solution(index);
11181 }
11182 inline void CpSolverResponse::set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11183  solution_.Set(index, value);
11184  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
11185 }
11186 inline void CpSolverResponse::_internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
11187  solution_.Add(value);
11188 }
11189 inline void CpSolverResponse::add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
11190  _internal_add_solution(value);
11191  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
11192 }
11193 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11194 CpSolverResponse::_internal_solution() const {
11195  return solution_;
11196 }
11197 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11198 CpSolverResponse::solution() const {
11199  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
11200  return _internal_solution();
11201 }
11202 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11203 CpSolverResponse::_internal_mutable_solution() {
11204  return &solution_;
11205 }
11206 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11207 CpSolverResponse::mutable_solution() {
11208  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
11209  return _internal_mutable_solution();
11210 }
11211 
11212 // double objective_value = 3;
11213 inline void CpSolverResponse::clear_objective_value() {
11214  objective_value_ = 0;
11215 }
11216 inline double CpSolverResponse::_internal_objective_value() const {
11217  return objective_value_;
11218 }
11219 inline double CpSolverResponse::objective_value() const {
11220  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
11221  return _internal_objective_value();
11222 }
11223 inline void CpSolverResponse::_internal_set_objective_value(double value) {
11224 
11225  objective_value_ = value;
11226 }
11227 inline void CpSolverResponse::set_objective_value(double value) {
11228  _internal_set_objective_value(value);
11229  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
11230 }
11231 
11232 // double best_objective_bound = 4;
11233 inline void CpSolverResponse::clear_best_objective_bound() {
11234  best_objective_bound_ = 0;
11235 }
11236 inline double CpSolverResponse::_internal_best_objective_bound() const {
11237  return best_objective_bound_;
11238 }
11239 inline double CpSolverResponse::best_objective_bound() const {
11240  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
11241  return _internal_best_objective_bound();
11242 }
11243 inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
11244 
11245  best_objective_bound_ = value;
11246 }
11247 inline void CpSolverResponse::set_best_objective_bound(double value) {
11248  _internal_set_best_objective_bound(value);
11249  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
11250 }
11251 
11252 // repeated int64 solution_lower_bounds = 18;
11253 inline int CpSolverResponse::_internal_solution_lower_bounds_size() const {
11254  return solution_lower_bounds_.size();
11255 }
11256 inline int CpSolverResponse::solution_lower_bounds_size() const {
11257  return _internal_solution_lower_bounds_size();
11258 }
11259 inline void CpSolverResponse::clear_solution_lower_bounds() {
11260  solution_lower_bounds_.Clear();
11261 }
11262 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_lower_bounds(int index) const {
11263  return solution_lower_bounds_.Get(index);
11264 }
11265 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_lower_bounds(int index) const {
11266  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11267  return _internal_solution_lower_bounds(index);
11268 }
11269 inline void CpSolverResponse::set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11270  solution_lower_bounds_.Set(index, value);
11271  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11272 }
11273 inline void CpSolverResponse::_internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11274  solution_lower_bounds_.Add(value);
11275 }
11276 inline void CpSolverResponse::add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11277  _internal_add_solution_lower_bounds(value);
11278  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11279 }
11280 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11281 CpSolverResponse::_internal_solution_lower_bounds() const {
11282  return solution_lower_bounds_;
11283 }
11284 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11285 CpSolverResponse::solution_lower_bounds() const {
11286  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11287  return _internal_solution_lower_bounds();
11288 }
11289 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11290 CpSolverResponse::_internal_mutable_solution_lower_bounds() {
11291  return &solution_lower_bounds_;
11292 }
11293 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11294 CpSolverResponse::mutable_solution_lower_bounds() {
11295  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11296  return _internal_mutable_solution_lower_bounds();
11297 }
11298 
11299 // repeated int64 solution_upper_bounds = 19;
11300 inline int CpSolverResponse::_internal_solution_upper_bounds_size() const {
11301  return solution_upper_bounds_.size();
11302 }
11303 inline int CpSolverResponse::solution_upper_bounds_size() const {
11304  return _internal_solution_upper_bounds_size();
11305 }
11306 inline void CpSolverResponse::clear_solution_upper_bounds() {
11307  solution_upper_bounds_.Clear();
11308 }
11309 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_upper_bounds(int index) const {
11310  return solution_upper_bounds_.Get(index);
11311 }
11312 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_upper_bounds(int index) const {
11313  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11314  return _internal_solution_upper_bounds(index);
11315 }
11316 inline void CpSolverResponse::set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11317  solution_upper_bounds_.Set(index, value);
11318  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11319 }
11320 inline void CpSolverResponse::_internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11321  solution_upper_bounds_.Add(value);
11322 }
11323 inline void CpSolverResponse::add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11324  _internal_add_solution_upper_bounds(value);
11325  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11326 }
11327 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11328 CpSolverResponse::_internal_solution_upper_bounds() const {
11329  return solution_upper_bounds_;
11330 }
11331 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11332 CpSolverResponse::solution_upper_bounds() const {
11333  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11334  return _internal_solution_upper_bounds();
11335 }
11336 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11337 CpSolverResponse::_internal_mutable_solution_upper_bounds() {
11338  return &solution_upper_bounds_;
11339 }
11340 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11341 CpSolverResponse::mutable_solution_upper_bounds() {
11342  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11343  return _internal_mutable_solution_upper_bounds();
11344 }
11345 
11346 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
11347 inline int CpSolverResponse::_internal_tightened_variables_size() const {
11348  return tightened_variables_.size();
11349 }
11350 inline int CpSolverResponse::tightened_variables_size() const {
11351  return _internal_tightened_variables_size();
11352 }
11353 inline void CpSolverResponse::clear_tightened_variables() {
11354  tightened_variables_.Clear();
11355 }
11356 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
11357  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
11358  return tightened_variables_.Mutable(index);
11359 }
11360 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
11361 CpSolverResponse::mutable_tightened_variables() {
11362  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
11363  return &tightened_variables_;
11364 }
11365 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::_internal_tightened_variables(int index) const {
11366  return tightened_variables_.Get(index);
11367 }
11368 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
11369  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
11370  return _internal_tightened_variables(index);
11371 }
11372 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::_internal_add_tightened_variables() {
11373  return tightened_variables_.Add();
11374 }
11375 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
11376  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
11377  return _internal_add_tightened_variables();
11378 }
11379 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
11380 CpSolverResponse::tightened_variables() const {
11381  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
11382  return tightened_variables_;
11383 }
11384 
11385 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
11386 inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
11387  return sufficient_assumptions_for_infeasibility_.size();
11388 }
11389 inline int CpSolverResponse::sufficient_assumptions_for_infeasibility_size() const {
11390  return _internal_sufficient_assumptions_for_infeasibility_size();
11391 }
11392 inline void CpSolverResponse::clear_sufficient_assumptions_for_infeasibility() {
11393  sufficient_assumptions_for_infeasibility_.Clear();
11394 }
11395 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility(int index) const {
11396  return sufficient_assumptions_for_infeasibility_.Get(index);
11397 }
11398 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
11399  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11400  return _internal_sufficient_assumptions_for_infeasibility(index);
11401 }
11402 inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11403  sufficient_assumptions_for_infeasibility_.Set(index, value);
11404  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11405 }
11406 inline void CpSolverResponse::_internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
11407  sufficient_assumptions_for_infeasibility_.Add(value);
11408 }
11409 inline void CpSolverResponse::add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
11410  _internal_add_sufficient_assumptions_for_infeasibility(value);
11411  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11412 }
11413 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11414 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
11415  return sufficient_assumptions_for_infeasibility_;
11416 }
11417 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11418 CpSolverResponse::sufficient_assumptions_for_infeasibility() const {
11419  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11420  return _internal_sufficient_assumptions_for_infeasibility();
11421 }
11422 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11423 CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
11424  return &sufficient_assumptions_for_infeasibility_;
11425 }
11426 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11427 CpSolverResponse::mutable_sufficient_assumptions_for_infeasibility() {
11428  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11429  return _internal_mutable_sufficient_assumptions_for_infeasibility();
11430 }
11431 
11432 // bool all_solutions_were_found = 5;
11433 inline void CpSolverResponse::clear_all_solutions_were_found() {
11434  all_solutions_were_found_ = false;
11435 }
11436 inline bool CpSolverResponse::_internal_all_solutions_were_found() const {
11437  return all_solutions_were_found_;
11438 }
11439 inline bool CpSolverResponse::all_solutions_were_found() const {
11440  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.all_solutions_were_found)
11441  return _internal_all_solutions_were_found();
11442 }
11443 inline void CpSolverResponse::_internal_set_all_solutions_were_found(bool value) {
11444 
11445  all_solutions_were_found_ = value;
11446 }
11447 inline void CpSolverResponse::set_all_solutions_were_found(bool value) {
11448  _internal_set_all_solutions_were_found(value);
11449  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.all_solutions_were_found)
11450 }
11451 
11452 // int64 num_booleans = 10;
11453 inline void CpSolverResponse::clear_num_booleans() {
11454  num_booleans_ = PROTOBUF_LONGLONG(0);
11455 }
11456 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_booleans() const {
11457  return num_booleans_;
11458 }
11459 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_booleans() const {
11460  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
11461  return _internal_num_booleans();
11462 }
11463 inline void CpSolverResponse::_internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
11464 
11465  num_booleans_ = value;
11466 }
11467 inline void CpSolverResponse::set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
11468  _internal_set_num_booleans(value);
11469  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
11470 }
11471 
11472 // int64 num_conflicts = 11;
11473 inline void CpSolverResponse::clear_num_conflicts() {
11474  num_conflicts_ = PROTOBUF_LONGLONG(0);
11475 }
11476 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_conflicts() const {
11477  return num_conflicts_;
11478 }
11479 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_conflicts() const {
11480  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
11481  return _internal_num_conflicts();
11482 }
11483 inline void CpSolverResponse::_internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11484 
11485  num_conflicts_ = value;
11486 }
11487 inline void CpSolverResponse::set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11488  _internal_set_num_conflicts(value);
11489  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
11490 }
11491 
11492 // int64 num_branches = 12;
11493 inline void CpSolverResponse::clear_num_branches() {
11494  num_branches_ = PROTOBUF_LONGLONG(0);
11495 }
11496 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_branches() const {
11497  return num_branches_;
11498 }
11499 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_branches() const {
11500  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
11501  return _internal_num_branches();
11502 }
11503 inline void CpSolverResponse::_internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
11504 
11505  num_branches_ = value;
11506 }
11507 inline void CpSolverResponse::set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
11508  _internal_set_num_branches(value);
11509  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
11510 }
11511 
11512 // int64 num_binary_propagations = 13;
11513 inline void CpSolverResponse::clear_num_binary_propagations() {
11514  num_binary_propagations_ = PROTOBUF_LONGLONG(0);
11515 }
11516 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_binary_propagations() const {
11517  return num_binary_propagations_;
11518 }
11519 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_binary_propagations() const {
11520  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
11521  return _internal_num_binary_propagations();
11522 }
11523 inline void CpSolverResponse::_internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11524 
11525  num_binary_propagations_ = value;
11526 }
11527 inline void CpSolverResponse::set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11528  _internal_set_num_binary_propagations(value);
11529  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
11530 }
11531 
11532 // int64 num_integer_propagations = 14;
11533 inline void CpSolverResponse::clear_num_integer_propagations() {
11534  num_integer_propagations_ = PROTOBUF_LONGLONG(0);
11535 }
11536 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_integer_propagations() const {
11537  return num_integer_propagations_;
11538 }
11539 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_integer_propagations() const {
11540  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
11541  return _internal_num_integer_propagations();
11542 }
11543 inline void CpSolverResponse::_internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11544 
11545  num_integer_propagations_ = value;
11546 }
11547 inline void CpSolverResponse::set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11548  _internal_set_num_integer_propagations(value);
11549  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
11550 }
11551 
11552 // double wall_time = 15;
11553 inline void CpSolverResponse::clear_wall_time() {
11554  wall_time_ = 0;
11555 }
11556 inline double CpSolverResponse::_internal_wall_time() const {
11557  return wall_time_;
11558 }
11559 inline double CpSolverResponse::wall_time() const {
11560  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
11561  return _internal_wall_time();
11562 }
11563 inline void CpSolverResponse::_internal_set_wall_time(double value) {
11564 
11565  wall_time_ = value;
11566 }
11567 inline void CpSolverResponse::set_wall_time(double value) {
11568  _internal_set_wall_time(value);
11569  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
11570 }
11571 
11572 // double user_time = 16;
11573 inline void CpSolverResponse::clear_user_time() {
11574  user_time_ = 0;
11575 }
11576 inline double CpSolverResponse::_internal_user_time() const {
11577  return user_time_;
11578 }
11579 inline double CpSolverResponse::user_time() const {
11580  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
11581  return _internal_user_time();
11582 }
11583 inline void CpSolverResponse::_internal_set_user_time(double value) {
11584 
11585  user_time_ = value;
11586 }
11587 inline void CpSolverResponse::set_user_time(double value) {
11588  _internal_set_user_time(value);
11589  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
11590 }
11591 
11592 // double deterministic_time = 17;
11593 inline void CpSolverResponse::clear_deterministic_time() {
11594  deterministic_time_ = 0;
11595 }
11596 inline double CpSolverResponse::_internal_deterministic_time() const {
11597  return deterministic_time_;
11598 }
11599 inline double CpSolverResponse::deterministic_time() const {
11600  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
11601  return _internal_deterministic_time();
11602 }
11603 inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
11604 
11605  deterministic_time_ = value;
11606 }
11607 inline void CpSolverResponse::set_deterministic_time(double value) {
11608  _internal_set_deterministic_time(value);
11609  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
11610 }
11611 
11612 // double primal_integral = 22;
11613 inline void CpSolverResponse::clear_primal_integral() {
11614  primal_integral_ = 0;
11615 }
11616 inline double CpSolverResponse::_internal_primal_integral() const {
11617  return primal_integral_;
11618 }
11619 inline double CpSolverResponse::primal_integral() const {
11620  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.primal_integral)
11621  return _internal_primal_integral();
11622 }
11623 inline void CpSolverResponse::_internal_set_primal_integral(double value) {
11624 
11625  primal_integral_ = value;
11626 }
11627 inline void CpSolverResponse::set_primal_integral(double value) {
11628  _internal_set_primal_integral(value);
11629  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.primal_integral)
11630 }
11631 
11632 // string solution_info = 20;
11633 inline void CpSolverResponse::clear_solution_info() {
11634  solution_info_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11635 }
11636 inline const std::string& CpSolverResponse::solution_info() const {
11637  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
11638  return _internal_solution_info();
11639 }
11640 inline void CpSolverResponse::set_solution_info(const std::string& value) {
11641  _internal_set_solution_info(value);
11642  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
11643 }
11644 inline std::string* CpSolverResponse::mutable_solution_info() {
11645  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
11646  return _internal_mutable_solution_info();
11647 }
11648 inline const std::string& CpSolverResponse::_internal_solution_info() const {
11649  return solution_info_.Get();
11650 }
11651 inline void CpSolverResponse::_internal_set_solution_info(const std::string& value) {
11652 
11653  solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
11654 }
11655 inline void CpSolverResponse::set_solution_info(std::string&& value) {
11656 
11657  solution_info_.Set(
11658  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
11659  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.solution_info)
11660 }
11661 inline void CpSolverResponse::set_solution_info(const char* value) {
11662  GOOGLE_DCHECK(value != nullptr);
11663 
11664  solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
11665  GetArena());
11666  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.solution_info)
11667 }
11668 inline void CpSolverResponse::set_solution_info(const char* value,
11669  size_t size) {
11670 
11671  solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
11672  reinterpret_cast<const char*>(value), size), GetArena());
11673  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.solution_info)
11674 }
11675 inline std::string* CpSolverResponse::_internal_mutable_solution_info() {
11676 
11677  return solution_info_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11678 }
11679 inline std::string* CpSolverResponse::release_solution_info() {
11680  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
11681  return solution_info_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11682 }
11683 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
11684  if (solution_info != nullptr) {
11685 
11686  } else {
11687 
11688  }
11689  solution_info_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info,
11690  GetArena());
11691  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
11692 }
11693 inline std::string* CpSolverResponse::unsafe_arena_release_solution_info() {
11694  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.CpSolverResponse.solution_info)
11695  GOOGLE_DCHECK(GetArena() != nullptr);
11696 
11697  return solution_info_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
11698  GetArena());
11699 }
11700 inline void CpSolverResponse::unsafe_arena_set_allocated_solution_info(
11701  std::string* solution_info) {
11702  GOOGLE_DCHECK(GetArena() != nullptr);
11703  if (solution_info != nullptr) {
11704 
11705  } else {
11706 
11707  }
11708  solution_info_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
11709  solution_info, GetArena());
11710  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
11711 }
11712 
11713 #ifdef __GNUC__
11714  #pragma GCC diagnostic pop
11715 #endif // __GNUC__
11716 // -------------------------------------------------------------------
11717 
11718 // -------------------------------------------------------------------
11719 
11720 // -------------------------------------------------------------------
11721 
11722 // -------------------------------------------------------------------
11723 
11724 // -------------------------------------------------------------------
11725 
11726 // -------------------------------------------------------------------
11727 
11728 // -------------------------------------------------------------------
11729 
11730 // -------------------------------------------------------------------
11731 
11732 // -------------------------------------------------------------------
11733 
11734 // -------------------------------------------------------------------
11735 
11736 // -------------------------------------------------------------------
11737 
11738 // -------------------------------------------------------------------
11739 
11740 // -------------------------------------------------------------------
11741 
11742 // -------------------------------------------------------------------
11743 
11744 // -------------------------------------------------------------------
11745 
11746 // -------------------------------------------------------------------
11747 
11748 // -------------------------------------------------------------------
11749 
11750 // -------------------------------------------------------------------
11751 
11752 // -------------------------------------------------------------------
11753 
11754 // -------------------------------------------------------------------
11755 
11756 // -------------------------------------------------------------------
11757 
11758 // -------------------------------------------------------------------
11759 
11760 // -------------------------------------------------------------------
11761 
11762 // -------------------------------------------------------------------
11763 
11764 // -------------------------------------------------------------------
11765 
11766 
11767 // @@protoc_insertion_point(namespace_scope)
11768 
11769 } // namespace sat
11770 } // namespace operations_research
11771 
11772 PROTOBUF_NAMESPACE_OPEN
11773 
11774 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
11775 template <>
11776 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
11778 }
11779 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
11780 template <>
11781 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
11783 }
11784 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
11785 template <>
11786 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
11788 }
11789 
11790 PROTOBUF_NAMESPACE_CLOSE
11791 
11792 // @@protoc_insertion_point(global_scope)
11793 
11794 #include <google/protobuf/port_undef.inc>
11795 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
LinearExpressionProto(const LinearExpressionProto &from)
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:243
IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
RoutesConstraintProto(const RoutesConstraintProto &from)
IntervalConstraintProto * New() const final
Definition: cp_model.pb.h:1689
void Swap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1832
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
Definition: cp_model.pb.h:301
void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2778
AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
int variables_size() const
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:178
::PROTOBUF_NAMESPACE_ID::int32 var() const
CpObjectiveProto(const CpObjectiveProto &from)
::PROTOBUF_NAMESPACE_ID::int32 coeffs(int index) const
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:4933
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:5661
int transition_head_size() const
void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void set_allocated_name(std::string *name)
const std::string & name() const
static const TableConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3184
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:972
virtual ~CircuitCoveringConstraintProto()
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:1264
::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:472
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_variables()
void MergeFrom(const IntervalConstraintProto &from)
static const RoutesConstraintProto & default_instance()
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:630
void UnsafeArenaSwap(LinearExpressionProto *other)
Definition: cp_model.pb.h:803
int values_size() const
int f_inverse_size() const
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(const std::string &name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:194
static const IntegerArgumentProto & default_instance()
void clear_y_intervals()
void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value)
DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
@ FEASIBLE
Definition: cp_model.pb.h:230
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
void Swap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2170
CircuitConstraintProto()
Definition: cp_model.pb.h:2536
static const AutomatonConstraintProto & default_instance()
void clear_starting_state()
::operations_research::sat::DecisionStrategyProto * mutable_search_strategy(int index)
InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
ElementConstraintProto(const ElementConstraintProto &from)
void set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const LinearArgumentProto & default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & variables() const
IntervalConstraintProto & operator=(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1642
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_distinguished_nodes()
ConstraintProto(const ConstraintProto &from)
PartialVariableAssignment(const PartialVariableAssignment &from)
void MergeFrom(const CircuitCoveringConstraintProto &from)
IntegerVariableProto()
Definition: cp_model.pb.h:260
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
static const DecisionStrategyProto_AffineTransformation * internal_default_instance()
Definition: cp_model.pb.h:4774
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1638
::PROTOBUF_NAMESPACE_ID::int32 end() const
NoOverlap2DConstraintProto()
Definition: cp_model.pb.h:1939
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST
Definition: cp_model.pb.h:172
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
static const IntegerArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:623
void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value)
PartialVariableAssignment()
Definition: cp_model.pb.h:5166
CircuitCoveringConstraintProto * New() const final
Definition: cp_model.pb.h:3034
void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
IntegerArgumentProto & operator=(const IntegerArgumentProto &from)
Definition: cp_model.pb.h:598
void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value)
void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
TableConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3214
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_tightened_variables()
CircuitCoveringConstraintProto()
Definition: cp_model.pb.h:2974
InverseConstraintProto(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3341
void clear_domain()
LinearExpressionProto & operator=(const LinearExpressionProto &from)
Definition: cp_model.pb.h:760
void set_offset(double value)
friend void swap(CircuitCoveringConstraintProto &a, CircuitCoveringConstraintProto &b)
Definition: cp_model.pb.h:3015
CpModelProto()
Definition: cp_model.pb.h:5342
void clear_offset()
static const InverseConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3371
void CopyFrom(const BoolArgumentProto &from)
void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
int literals_size() const
void set_start(::PROTOBUF_NAMESPACE_ID::int32 value)
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:5654
static const ReservoirConstraintProto & default_instance()
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:3378
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > * mutable_search_strategy()
void MergeFrom(const BoolArgumentProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
Definition: cp_model.pb.h:1829
friend void swap(AllDifferentConstraintProto &a, AllDifferentConstraintProto &b)
Definition: cp_model.pb.h:1145
static const DecisionStrategyProto_AffineTransformation & default_instance()
ConstraintProto(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3779
LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const
void Swap(IntegerVariableProto *other)
Definition: cp_model.pb.h:304
IntegerArgumentProto(const IntegerArgumentProto &from)
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:3159
static const AllDifferentConstraintProto & default_instance()
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
Definition: cp_model.pb.h:1948
CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
ReservoirConstraintProto(const ReservoirConstraintProto &from)
void clear_min_level()
NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto &from)
void unsafe_arena_set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
void set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
DecisionStrategyProto_DomainReductionStrategy
Definition: cp_model.pb.h:199
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:285
void Swap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:1983
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:447
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
LinearConstraintProto()
Definition: cp_model.pb.h:1255
CumulativeConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2190
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
InverseConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3401
void MergeFrom(const ConstraintProto &from)
void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value)
@ MODEL_INVALID
Definition: cp_model.pb.h:229
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_variables()
void add_times(::PROTOBUF_NAMESPACE_ID::int32 value)
virtual ~NoOverlap2DConstraintProto()
DecisionStrategyProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4963
void UnsafeArenaSwap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3565
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_inverse() const
LinearArgumentProto & operator=(const LinearArgumentProto &from)
Definition: cp_model.pb.h:947
IntegerVariableProto(const IntegerVariableProto &from)
DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation &from)
DecisionStrategyProto & operator=(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4912
::PROTOBUF_NAMESPACE_ID::int32 capacity() const
void UnsafeArenaSwap(ConstraintProto *other)
Definition: cp_model.pb.h:3856
void MergeFrom(const AllDifferentConstraintProto &from)
ReservoirConstraintProto & operator=(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2326
NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CumulativeConstraintProto * New() const final
Definition: cp_model.pb.h:2186
int demands_size() const
void MergeFrom(const RoutesConstraintProto &from)
void CopyFrom(const ReservoirConstraintProto &from)
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:792
void CopyFrom(const CpObjectiveProto &from)
void clear_search_strategy()
void Swap(BoolArgumentProto *other)
Definition: cp_model.pb.h:482
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
int assumptions_size() const
::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
void MergeFrom(const CircuitConstraintProto &from)
void clear_solution_lower_bounds()
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_target()
NoOverlapConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1852
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:264
const ::operations_research::sat::IntegerVariableProto & variables(int index) const
void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
DecisionStrategyProto_AffineTransformation * New() const final
Definition: cp_model.pb.h:4800
PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena *arena)
std::string * release_name()
static const BoolArgumentProto & default_instance()
void Swap(CpModelProto *other)
Definition: cp_model.pb.h:5386
bool CpSolverStatus_IsValid(int value)
CpModelProto & operator=(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5355
virtual ~IntegerVariableProto()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
Definition: cp_model.pb.h:5175
virtual ~LinearConstraintProto()
void clear_index()
LinearArgumentProto()
Definition: cp_model.pb.h:938
void Swap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2781
int domain_size() const
DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void UnsafeArenaSwap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2588
int tails_size() const
void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value)
static const PartialVariableAssignment & default_instance()
AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_enforcement_literal()
ElementConstraintProto()
Definition: cp_model.pb.h:1456
NoOverlap2DConstraintProto(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1943
void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:4940
LinearConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1319
void clear_domain_reduction_strategy()
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:479
virtual ~TableConstraintProto()
void UnsafeArenaSwap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2178
void clear_transformations()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & final_states() const
DecisionStrategyProto(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4903
ReservoirConstraintProto(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2317
void clear_tails()
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:5200
::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() const
ConstraintCase
Definition: cp_model.pb.h:3808
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2167
NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void UnsafeArenaSwap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4951
ElementConstraintProto * New() const final
Definition: cp_model.pb.h:1516
NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
BoolArgumentProto(const BoolArgumentProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
void Swap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3381
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:3522
Definition: cp_model.h:52
int heads_size() const
::operations_research::sat::DecisionStrategyProto_AffineTransformation * mutable_transformations(int index)
::operations_research::sat::LinearExpressionProto * add_exprs()
NoOverlapConstraintProto()
Definition: cp_model.pb.h:1788
void CopyFrom(const IntegerArgumentProto &from)
RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
ElementConstraintProto & operator=(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1469
static const AutomatonConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3547
int distinguished_nodes_size() const
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
BoolArgumentProto & operator=(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:451
void CopyFrom(const AllDifferentConstraintProto &from)
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1822
BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void UnsafeArenaSwap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3389
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:979
void CopyFrom(const TableConstraintProto &from)
LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const
ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
::PROTOBUF_NAMESPACE_ID::int32 assumptions(int index) const
LinearConstraintProto * New() const final
Definition: cp_model.pb.h:1315
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:205
void UnsafeArenaSwap(CpSolverResponse *other)
Definition: cp_model.pb.h:5672
@ CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:233
void clear_nexts()
@ UNKNOWN
Definition: cp_model.pb.h:228
void CopyFrom(const LinearExpressionProto &from)
DecisionStrategyProto * New() const final
Definition: cp_model.pb.h:4959
void set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
void UnsafeArenaSwap(CpModelProto *other)
Definition: cp_model.pb.h:5394
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
bool CpSolverStatus_Parse(const std::string &name, CpSolverStatus *value)
Definition: cp_model.pb.h:250
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
virtual ~AllDifferentConstraintProto()
ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
AllDifferentConstraintProto()
Definition: cp_model.pb.h:1104
void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
static const NoOverlap2DConstraintProto & default_instance()
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1663
void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
int transformations_size() const
void clear_variable_selection_strategy()
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1289
void clear_negated()
DecisionStrategyProto_AffineTransformation & operator=(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4753
ConstraintProto * New() const final
Definition: cp_model.pb.h:3864
void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::ConstraintProto & constraints(int index) const
int search_strategy_size() const
void clear_solution_upper_bounds()
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:269
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
const std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:215
RoutesConstraintProto(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2741
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void clear_demands()
void set_allocated_solution_info(std::string *solution_info)
static const LinearExpressionProto & default_instance()
void clear_x_intervals()
IntegerArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:653
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_assumptions()
LinearArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1002
void Swap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1299
void clear_intervals()
void clear_target()
::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const
CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void clear_literals()
AutomatonConstraintProto(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3517
void CopyFrom(const LinearArgumentProto &from)
CircuitConstraintProto(const CircuitConstraintProto &from)
virtual ~CpSolverResponse()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
void UnsafeArenaSwap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4569
void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
AllDifferentConstraintProto(const AllDifferentConstraintProto &from)
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5179
::operations_research::sat::IntegerVariableProto * mutable_tightened_variables(int index)
void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_name(const char *value, size_t size)
CpSolverResponse & operator=(const CpSolverResponse &from)
Definition: cp_model.pb.h:5629
InverseConstraintProto * New() const final
Definition: cp_model.pb.h:3397
void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value)
LinearExpressionProto(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:755
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const LinearConstraintProto &from)
int solution_upper_bounds_size() const
LinearArgumentProto * New() const final
Definition: cp_model.pb.h:998
void clear_actives()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:282
void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
static const CpObjectiveProto & default_instance()
CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1490
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:209
void Swap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4943
::PROTOBUF_NAMESPACE_ID::int32 target() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:3191
IntegerArgumentProto()
Definition: cp_model.pb.h:589
void CopyFrom(const NoOverlap2DConstraintProto &from)
static const std::string & VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:5033
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:1296
ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
ConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3868
::operations_research::sat::IntegerVariableProto * add_tightened_variables()
static const CpModelProto & default_instance()
void CopyFrom(const CpModelProto &from)
void clear_transition_head()
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
Definition: cp_model.pb.h:1797
void MergeFrom(const IntegerVariableProto &from)
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:176
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:4526
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE
Definition: cp_model.pb.h:201
IntervalConstraintProto(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1633
static const std::string & DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:5069
static const IntegerVariableProto & default_instance()
virtual ~CpModelProto()
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:5376
::operations_research::sat::LinearExpressionProto * mutable_exprs(int index)
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(LinearArgumentProto *other)
Definition: cp_model.pb.h:982
int actives_size() const
IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
void CopyFrom(const CircuitCoveringConstraintProto &from)
DecisionStrategyProto & operator=(const DecisionStrategyProto &from)
Definition: cp_model.pb.h:4908
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_upper_bounds() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution()
BoolArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:502
DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
NoOverlapConstraintProto * New() const final
Definition: cp_model.pb.h:1848
CircuitCoveringConstraintProto & operator=(CircuitCoveringConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2987
::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const
void clear_times()
void CopyFrom(const CumulativeConstraintProto &from)
void CopyFrom(const CircuitConstraintProto &from)
int enforcement_literal_size() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & tightened_variables() const
BoolArgumentProto()
Definition: cp_model.pb.h:438
void UnsafeArenaSwap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5218
void clear_capacity()
@ INFEASIBLE
Definition: cp_model.pb.h:231
virtual ~DecisionStrategyProto()
DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_sufficient_assumptions_for_infeasibility()
::operations_research::sat::LinearExpressionProto * mutable_target()
::PROTOBUF_NAMESPACE_ID::int32 sufficient_assumptions_for_infeasibility(int index) const
IntervalConstraintProto(const IntervalConstraintProto &from)
RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:210
TableConstraintProto & operator=(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3163
void UnsafeArenaSwap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1508
::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const
CpSolverResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5684
static const CircuitConstraintProto & default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & enforcement_literal() const
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:4558
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & x_intervals() const
NoOverlap2DConstraintProto * New() const final
Definition: cp_model.pb.h:1999
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_actives()
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:211
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
virtual ~CumulativeConstraintProto()
static bool DomainReductionStrategy_Parse(const std::string &name, DomainReductionStrategy *value)
Definition: cp_model.pb.h:5075
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
double scaling_factor() const
const ::operations_research::sat::IntegerVariableProto & tightened_variables(int index) const
TableConstraintProto()
Definition: cp_model.pb.h:3150
IntegerVariableProto * New() const final
Definition: cp_model.pb.h:320
CpSolverResponse & operator=(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:5633
DecisionStrategyProto_VariableSelectionStrategy
Definition: cp_model.pb.h:171
void clear_size()
void clear_vars()
::PROTOBUF_NAMESPACE_ID::int32 times(int index) const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
RoutesConstraintProto()
Definition: cp_model.pb.h:2737
void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
double offset() const
void MergeFrom(const IntegerArgumentProto &from)
IntegerArgumentProto & operator=(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:602
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_y_intervals()
void Swap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1500
void Swap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5210
virtual ~InverseConstraintProto()
static const IntervalConstraintProto & default_instance()
void MergeFrom(const PartialVariableAssignment &from)
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
CpObjectiveProto & operator=(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4530
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_x_intervals()
int tightened_variables_size() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
virtual ~IntegerArgumentProto()
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:3784
IntervalConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1693
void MergeFrom(const LinearExpressionProto &from)
DecisionStrategyProto_AffineTransformation()
Definition: cp_model.pb.h:4740
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & nexts() const
::operations_research::sat::ConstraintProto * add_constraints()
void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_direct()
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:294
void CopyFrom(const IntervalConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & y_intervals() const
CumulativeConstraintProto & operator=(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2139
AutomatonConstraintProto()
Definition: cp_model.pb.h:3513
::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const
::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const
::PROTOBUF_NAMESPACE_ID::int64 max_level() const
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:206
AutomatonConstraintProto(const AutomatonConstraintProto &from)
AllDifferentConstraintProto & operator=(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1117
CumulativeConstraintProto(const CumulativeConstraintProto &from)
::operations_research::sat::IntegerVariableProto * mutable_variables(int index)
InverseConstraintProto()
Definition: cp_model.pb.h:3337
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_times()
IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void clear_name()
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:55
void UnsafeArenaSwap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1840
void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
static void InitAsDefaultInstance()
static const LinearExpressionProto * internal_default_instance()
Definition: cp_model.pb.h:785
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1973
void set_name(const char *value)
::PROTOBUF_NAMESPACE_ID::int64 capacity() const
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:177
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
CircuitConstraintProto(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2540
AllDifferentConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1168
int final_states_size() const
void MergeFrom(const ElementConstraintProto &from)
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:3346
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_tail()
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:2135
std::string * mutable_solution_info()
AutomatonConstraintProto & operator=(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3526
::PROTOBUF_NAMESPACE_ID::int64 min_level() const
const ::operations_research::sat::DecisionStrategyProto_AffineTransformation & transformations(int index) const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_direct() const
void MergeFrom(const CpObjectiveProto &from)
void clear_end()
void set_solution_info(const char *value, size_t size)
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:2545
void set_index(::PROTOBUF_NAMESPACE_ID::int32 value)
LinearArgumentProto(const LinearArgumentProto &from)
void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value)
bool boxes_with_null_area_can_overlap() const
LinearConstraintProto(const LinearConstraintProto &from)
CpModelProto & operator=(const CpModelProto &from)
Definition: cp_model.pb.h:5351
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
int transition_label_size() const
CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_scaling_factor(double value)
int exprs_size() const
void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2570
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_lower_bounds()
int f_direct_size() const
DecisionStrategyProto_VariableSelectionStrategy VariableSelectionStrategy
Definition: cp_model.pb.h:5008
ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_final_states()
static const TableConstraintProto & default_instance()
@ OPTIMAL
Definition: cp_model.pb.h:232
int transition_tail_size() const
bool has_target() const
CircuitCoveringConstraintProto(const CircuitCoveringConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int32 nexts(int index) const
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: cp_model.pb.h:53
void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value)
void CopyFrom(const InverseConstraintProto &from)
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:1113
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:3845
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF
Definition: cp_model.pb.h:202
const ::operations_research::sat::DecisionStrategyProto & search_strategy(int index) const
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE
Definition: cp_model.pb.h:200
void clear_start()
void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value)
AllDifferentConstraintProto(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1108
void Swap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1673
void clear_exprs()
void clear_constraints()
static const LinearConstraintProto & default_instance()
virtual ~LinearExpressionProto()
InverseConstraintProto & operator=(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3350
::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const
CpObjectiveProto(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4521
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > & transformations() const
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[26] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
void set_name(std::string &&value)
void MergeFrom(const AutomatonConstraintProto &from)
int nexts_size() const
void clear_boxes_with_null_area_can_overlap()
static const CircuitCoveringConstraintProto & default_instance()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_coeffs()
Definition: cp_model.pb.h:46
virtual ~IntervalConstraintProto()
CpSolverStatus
Definition: cp_model.pb.h:227
virtual ~CpObjectiveProto()
static bool VariableSelectionStrategy_Parse(const std::string &name, VariableSelectionStrategy *value)
Definition: cp_model.pb.h:5039
ElementConstraintProto(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1460
CumulativeConstraintProto(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2130
void Swap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:633
int solution_size() const
void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
DecisionStrategyProto(const DecisionStrategyProto &from)
CpObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4581
::operations_research::sat::LinearExpressionProto * release_target()
CpModelProto(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5346
void clear_heads()
static const ConstraintProto & default_instance()
::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const
::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const
void clear_solution()
void Swap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1148
int x_intervals_size() const
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5170
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:4749
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:187
IntegerArgumentProto * New() const final
Definition: cp_model.pb.h:649
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:174
::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const
void CopyFrom(const PartialVariableAssignment &from)
void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value)
virtual ~DecisionStrategyProto_AffineTransformation()
int intervals_size() const
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4551
void clear_coeffs()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
void clear_solution_info()
void set_size(::PROTOBUF_NAMESPACE_ID::int32 value)
LinearExpressionProto()
Definition: cp_model.pb.h:751
IntegerVariableProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:324
void CopyFrom(const RoutesConstraintProto &from)
void UnsafeArenaSwap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1681
CircuitConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2600
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:1980
static const CircuitCoveringConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3008
virtual ~CircuitConstraintProto()
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:2577
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
Definition: cp_model.pb.h:5044
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
void Swap(CircuitCoveringConstraintProto *other)
Definition: cp_model.pb.h:3018
LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void MergeFrom(const InverseConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
CircuitConstraintProto & operator=(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2549
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:5055
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
static const RoutesConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2771
AutomatonConstraintProto * New() const final
Definition: cp_model.pb.h:3573
DecisionStrategyProto()
Definition: cp_model.pb.h:4899
::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const
static const NoOverlapConstraintProto & default_instance()
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:173
::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:238
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:175
ReservoirConstraintProto * New() const final
Definition: cp_model.pb.h:2373
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & assumptions() const
IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3554
ReservoirConstraintProto()
Definition: cp_model.pb.h:2313
CpSolverResponse(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:5624
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
virtual ~PartialVariableAssignment()
AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
void clear_var()
::PROTOBUF_NAMESPACE_ID::int32 index() const
void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4792
void set_end(::PROTOBUF_NAMESPACE_ID::int32 value)
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2746
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_demands()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.h:5029
::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const
DecisionStrategyProto_AffineTransformation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4804
void Swap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2357
DecisionStrategyProto_AffineTransformation AffineTransformation
Definition: cp_model.pb.h:5006
void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::LinearExpressionProto & target() const
CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CpSolverResponse * New() const final
Definition: cp_model.pb.h:5680
void clear_f_direct()
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_solution_info(const char *value)
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:237
void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void clear_enforcement_literal()
void UnsafeArenaSwap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2789
void set_solution_info(const std::string &value)
void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
int solution_lower_bounds_size() const
LinearConstraintProto & operator=(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1268
std::string * release_solution_info()
void add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value)
void CopyFrom(const AutomatonConstraintProto &from)
void MergeFrom(const LinearConstraintProto &from)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: cp_model.pb.h:54
LinearConstraintProto(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1259
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & sufficient_assumptions_for_infeasibility() const
NoOverlap2DConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2003
InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2160
void MergeFrom(const DecisionStrategyProto_AffineTransformation &from)
DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4744
CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
IntegerVariableProto & operator=(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:273
IntegerArgumentProto(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:593
static const CumulativeConstraintProto & default_instance()
NoOverlapConstraintProto(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1792
void set_boxes_with_null_area_can_overlap(bool value)
int times_size() const
RoutesConstraintProto * New() const final
Definition: cp_model.pb.h:2797
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_inverse()
void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(TableConstraintProto *other)
Definition: cp_model.pb.h:3202
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
void set_var(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_solution_info(std::string &&value)
AutomatonConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3577
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
LinearExpressionProto * New() const final
Definition: cp_model.pb.h:811
@ CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:234
TableConstraintProto(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3154
int sufficient_assumptions_for_infeasibility_size() const
void clear_transition_label()
RoutesConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2801
virtual ~AutomatonConstraintProto()
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:181
void Swap(CpSolverResponse *other)
Definition: cp_model.pb.h:5664
CpObjectiveProto * New() const final
Definition: cp_model.pb.h:4577
TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
::operations_research::sat::DecisionStrategyProto_AffineTransformation * add_transformations()
void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value)
bool negated() const
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:182
BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
friend void swap(DecisionStrategyProto_AffineTransformation &a, DecisionStrategyProto_AffineTransformation &b)
Definition: cp_model.pb.h:4781
::PROTOBUF_NAMESPACE_ID::int32 start() const
void UnsafeArenaSwap(LinearArgumentProto *other)
Definition: cp_model.pb.h:990
void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value)
CircuitCoveringConstraintProto(CircuitCoveringConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2978
void set_name(const std::string &value)
void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value)
void CopyFrom(const DecisionStrategyProto &from)
CpSolverResponse(const CpSolverResponse &from)
AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void Swap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4784
void clear_variables()
void clear_positive_coeff()
CircuitConstraintProto * New() const final
Definition: cp_model.pb.h:2596
::PROTOBUF_NAMESPACE_ID::int32 size() const
ConstraintProto()
Definition: cp_model.pb.h:3775
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
ElementConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1520
int coeffs_size() const
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:183
::operations_research::sat::IntegerVariableProto * add_variables()
void MergeFrom(const NoOverlapConstraintProto &from)
CpObjectiveProto()
Definition: cp_model.pb.h:4517
::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
void CopyFrom(const CpSolverResponse &from)
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_head()
IntervalConstraintProto()
Definition: cp_model.pb.h:1629
int constraints_size() const
CpModelProto(const CpModelProto &from)
virtual ~ConstraintProto()
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:1465
NoOverlapConstraintProto & operator=(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1801
void set_negated(bool value)
virtual ~ElementConstraintProto()
IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
::PROTOBUF_NAMESPACE_ID::int64 offset() const
LinearArgumentProto(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:942
std::string * mutable_name()
void UnsafeArenaSwap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2365
void Swap(TableConstraintProto *other)
Definition: cp_model.pb.h:3194
LinearExpressionProto & operator=(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:764
CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const NoOverlapConstraintProto &from)
PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_head() const
void clear_values()
void UnsafeArenaSwap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:1991
void clear_f_inverse()
LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
const std::string & solution_info() const
LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void MergeFrom(const CpModelProto &from)
void UnsafeArenaSwap(CircuitCoveringConstraintProto *other)
Definition: cp_model.pb.h:3026
void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > & constraints() const
static const CpSolverResponse & default_instance()
void UnsafeArenaSwap(IntegerVariableProto *other)
Definition: cp_model.pb.h:312
void UnsafeArenaSwap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:641
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_nexts()
void UnsafeArenaSwap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1156
ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
int vars_size() const
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & coeffs() const
InverseConstraintProto(const InverseConstraintProto &from)
static bool VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.h:5019
void Swap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4561
void CopyFrom(const ElementConstraintProto &from)
virtual ~BoolArgumentProto()
CircuitCoveringConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1497
bool DecisionStrategyProto_DomainReductionStrategy_Parse(const std::string &name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:222
CpModelProto * New() const final
Definition: cp_model.pb.h:5402
CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
Definition: cp_model.pb.h:2354
virtual ~RoutesConstraintProto()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & variables() const
void clear_max_level()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
::PROTOBUF_NAMESPACE_ID::int64 values(int index) const
void MergeFrom(const CpSolverResponse &from)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DomainReductionStrategy_descriptor()
Definition: cp_model.pb.h:5065
LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void MergeFrom(const NoOverlap2DConstraintProto &from)
NoOverlapConstraintProto(const NoOverlapConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:204
void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const TableConstraintProto &from)
void Swap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2580
void CopyFrom(const IntegerVariableProto &from)
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3838
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & actives() const
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1670
::operations_research::sat::ConstraintProto * mutable_constraints(int index)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_lower_bounds() const
void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void clear_scaling_factor()
::PROTOBUF_NAMESPACE_ID::int64 starting_state() const
void CopyFrom(const DecisionStrategyProto_AffineTransformation &from)
BoolArgumentProto * New() const final
Definition: cp_model.pb.h:498
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF
Definition: cp_model.pb.h:203
TableConstraintProto(const TableConstraintProto &from)
static const ElementConstraintProto & default_instance()
::PROTOBUF_NAMESPACE_ID::int64 distinguished_nodes(int index) const
void MergeFrom(const DecisionStrategyProto &from)
LinearExpressionProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:815
AllDifferentConstraintProto * New() const final
Definition: cp_model.pb.h:1164
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > * mutable_transformations()
CircuitCoveringConstraintProtoDefaultTypeInternal _CircuitCoveringConstraintProto_default_instance_
LinearArgumentProto & operator=(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:951
virtual ~LinearArgumentProto()
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1138
BoolArgumentProto(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:442
void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
Definition: cp_model.pb.h:2322
CircuitCoveringConstraintProto & operator=(const CircuitCoveringConstraintProto &from)
Definition: cp_model.pb.h:2983
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & times() const
TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_label()
CumulativeConstraintProto()
Definition: cp_model.pb.h:2126
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & demands() const
void clear_assumptions()
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5230
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & distinguished_nodes() const
void clear_tightened_variables()
static const DecisionStrategyProto & default_instance()
CircuitCoveringConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3038
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:288
void clear_sufficient_assumptions_for_infeasibility()
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
void Swap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3557
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_tail() const
void clear_final_states()
ReservoirConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2377
CpSolverResponse()
Definition: cp_model.pb.h:5620
TableConstraintProto * New() const final
Definition: cp_model.pb.h:3210
virtual ~NoOverlapConstraintProto()
void UnsafeArenaSwap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1307
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
void MergeFrom(const ReservoirConstraintProto &from)
friend void swap(CpModelProto &a, CpModelProto &b)
Definition: cp_model.pb.h:5383
void Swap(LinearExpressionProto *other)
Definition: cp_model.pb.h:795
void MergeFrom(const LinearArgumentProto &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_upper_bounds()
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:5207
void Swap(ConstraintProto *other)
Definition: cp_model.pb.h:3848
void MergeFrom(const CumulativeConstraintProto &from)
PartialVariableAssignment * New() const final
Definition: cp_model.pb.h:5226
void clear_transition_tail()
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2347
void clear_distinguished_nodes()
void UnsafeArenaSwap(BoolArgumentProto *other)
Definition: cp_model.pb.h:490
void add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const
static const InverseConstraintProto & default_instance()
virtual ~ReservoirConstraintProto()
CpModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5406
NoOverlap2DConstraintProto & operator=(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1952
CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:239
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_label() const
::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const
void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value)
int y_intervals_size() const
RoutesConstraintProto & operator=(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2750
NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
ConstraintProto & operator=(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3788
void CopyFrom(const ConstraintProto &from)