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 < 3008000
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 3008000 < 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.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[24]
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 LinearConstraintProto;
112 class LinearConstraintProtoDefaultTypeInternal;
113 extern LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_;
114 class NoOverlap2DConstraintProto;
115 class NoOverlap2DConstraintProtoDefaultTypeInternal;
116 extern NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_;
117 class NoOverlapConstraintProto;
118 class NoOverlapConstraintProtoDefaultTypeInternal;
119 extern NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_;
120 class PartialVariableAssignment;
121 class PartialVariableAssignmentDefaultTypeInternal;
122 extern PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_;
123 class ReservoirConstraintProto;
124 class ReservoirConstraintProtoDefaultTypeInternal;
125 extern ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_;
126 class RoutesConstraintProto;
127 class RoutesConstraintProtoDefaultTypeInternal;
128 extern RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_;
129 class TableConstraintProto;
130 class TableConstraintProtoDefaultTypeInternal;
131 extern TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_;
132 } // namespace sat
133 } // namespace operations_research
134 PROTOBUF_NAMESPACE_OPEN
135 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
136 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
137 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
138 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
139 template<> ::operations_research::sat::CircuitCoveringConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitCoveringConstraintProto>(Arena*);
140 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
141 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
142 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
143 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
144 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
145 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
146 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
147 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
148 template<> ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerArgumentProto>(Arena*);
149 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
150 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
151 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
152 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
153 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
154 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
155 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
156 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
157 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
158 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
159 PROTOBUF_NAMESPACE_CLOSE
160 namespace operations_research {
161 namespace sat {
162 
171 };
176 
177 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
178 template<typename T>
179 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
180  static_assert(::std::is_same<T, DecisionStrategyProto_VariableSelectionStrategy>::value ||
181  ::std::is_integral<T>::value,
182  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
183  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
185 }
187  const std::string& name, DecisionStrategyProto_VariableSelectionStrategy* value) {
188  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
190 }
198 };
203 
204 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
205 template<typename T>
206 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
207  static_assert(::std::is_same<T, DecisionStrategyProto_DomainReductionStrategy>::value ||
208  ::std::is_integral<T>::value,
209  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
210  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
212 }
214  const std::string& name, DecisionStrategyProto_DomainReductionStrategy* value) {
215  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
217 }
218 enum CpSolverStatus : int {
219  UNKNOWN = 0,
221  FEASIBLE = 2,
223  OPTIMAL = 4,
224  CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
225  CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
226 };
227 bool CpSolverStatus_IsValid(int value);
231 
232 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
233 template<typename T>
234 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
235  static_assert(::std::is_same<T, CpSolverStatus>::value ||
236  ::std::is_integral<T>::value,
237  "Incorrect type passed to function CpSolverStatus_Name.");
238  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
239  CpSolverStatus_descriptor(), enum_t_value);
240 }
242  const std::string& name, CpSolverStatus* value) {
243  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
244  CpSolverStatus_descriptor(), name, value);
245 }
246 // ===================================================================
247 
248 class IntegerVariableProto :
249  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
250  public:
252  virtual ~IntegerVariableProto();
253 
257  *this = ::std::move(from);
258  }
259 
261  CopyFrom(from);
262  return *this;
263  }
264  inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
265  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
266  if (this != &from) InternalSwap(&from);
267  } else {
268  CopyFrom(from);
269  }
270  return *this;
271  }
272 
273  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
274  return GetDescriptor();
275  }
276  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
277  return GetMetadataStatic().descriptor;
278  }
279  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
280  return GetMetadataStatic().reflection;
281  }
282  static const IntegerVariableProto& default_instance();
283 
284  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
285  static inline const IntegerVariableProto* internal_default_instance() {
286  return reinterpret_cast<const IntegerVariableProto*>(
288  }
289  static constexpr int kIndexInFileMessages =
290  0;
291 
292  void Swap(IntegerVariableProto* other);
293  friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) {
294  a.Swap(&b);
295  }
296 
297  // implements Message ----------------------------------------------
298 
299  inline IntegerVariableProto* New() const final {
300  return CreateMaybeMessage<IntegerVariableProto>(nullptr);
301  }
302 
303  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
304  return CreateMaybeMessage<IntegerVariableProto>(arena);
305  }
306  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
307  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
308  void CopyFrom(const IntegerVariableProto& from);
309  void MergeFrom(const IntegerVariableProto& from);
310  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
311  bool IsInitialized() const final;
312 
313  size_t ByteSizeLong() const final;
314  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
315  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
316  #else
318  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
319  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
321  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
322  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
323  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
324  int GetCachedSize() const final { return _cached_size_.Get(); }
326  private:
327  inline void SharedCtor();
328  inline void SharedDtor();
329  void SetCachedSize(int size) const final;
330  void InternalSwap(IntegerVariableProto* other);
331  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
332  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
333  return "operations_research.sat.IntegerVariableProto";
334  }
335  private:
336  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
337  return nullptr;
338  }
339  inline void* MaybeArenaPtr() const {
340  return nullptr;
341  }
342  public:
343 
344  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
345  private:
346  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
347  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
349  }
350 
351  public:
352 
353  // nested types ----------------------------------------------------
354 
355  // accessors -------------------------------------------------------
356 
357  // repeated int64 domain = 2;
358  int domain_size() const;
359  void clear_domain();
360  static const int kDomainFieldNumber = 2;
361  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
362  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
363  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
364  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
365  domain() const;
366  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
367  mutable_domain();
368 
369  // string name = 1;
370  void clear_name();
371  static const int kNameFieldNumber = 1;
372  const std::string& name() const;
373  void set_name(const std::string& value);
374  void set_name(std::string&& value);
375  void set_name(const char* value);
376  void set_name(const char* value, size_t size);
377  std::string* mutable_name();
378  std::string* release_name();
379  void set_allocated_name(std::string* name);
380 
381  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
382  private:
383  class HasBitSetters;
384 
385  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
386  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
387  mutable std::atomic<int> _domain_cached_byte_size_;
388  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
389  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
390  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
391 };
392 // -------------------------------------------------------------------
393 
394 class BoolArgumentProto :
395  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
396  public:
398  virtual ~BoolArgumentProto();
399 
401  BoolArgumentProto(BoolArgumentProto&& from) noexcept
402  : BoolArgumentProto() {
403  *this = ::std::move(from);
404  }
405 
406  inline BoolArgumentProto& operator=(const BoolArgumentProto& from) {
407  CopyFrom(from);
408  return *this;
409  }
410  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
411  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
412  if (this != &from) InternalSwap(&from);
413  } else {
414  CopyFrom(from);
415  }
416  return *this;
417  }
418 
419  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
420  return GetDescriptor();
421  }
422  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
423  return GetMetadataStatic().descriptor;
424  }
425  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
426  return GetMetadataStatic().reflection;
427  }
428  static const BoolArgumentProto& default_instance();
429 
430  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
431  static inline const BoolArgumentProto* internal_default_instance() {
432  return reinterpret_cast<const BoolArgumentProto*>(
434  }
435  static constexpr int kIndexInFileMessages =
436  1;
438  void Swap(BoolArgumentProto* other);
439  friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) {
440  a.Swap(&b);
441  }
442 
443  // implements Message ----------------------------------------------
444 
445  inline BoolArgumentProto* New() const final {
446  return CreateMaybeMessage<BoolArgumentProto>(nullptr);
447  }
448 
449  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
450  return CreateMaybeMessage<BoolArgumentProto>(arena);
451  }
452  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
453  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
454  void CopyFrom(const BoolArgumentProto& from);
455  void MergeFrom(const BoolArgumentProto& from);
456  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
457  bool IsInitialized() const final;
458 
459  size_t ByteSizeLong() const final;
460  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
461  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
462  #else
464  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
465  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
467  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
468  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
469  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
470  int GetCachedSize() const final { return _cached_size_.Get(); }
471 
472  private:
473  inline void SharedCtor();
474  inline void SharedDtor();
475  void SetCachedSize(int size) const final;
476  void InternalSwap(BoolArgumentProto* other);
477  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
478  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
479  return "operations_research.sat.BoolArgumentProto";
480  }
481  private:
482  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
483  return nullptr;
484  }
485  inline void* MaybeArenaPtr() const {
486  return nullptr;
487  }
488  public:
489 
490  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
491  private:
492  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
493  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
495  }
496 
497  public:
498 
499  // nested types ----------------------------------------------------
500 
501  // accessors -------------------------------------------------------
502 
503  // repeated int32 literals = 1;
504  int literals_size() const;
505  void clear_literals();
506  static const int kLiteralsFieldNumber = 1;
507  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
508  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
509  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
510  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
511  literals() const;
512  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
514 
515  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
516  private:
517  class HasBitSetters;
518 
519  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
520  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
521  mutable std::atomic<int> _literals_cached_byte_size_;
522  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
523  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
524 };
525 // -------------------------------------------------------------------
526 
527 class IntegerArgumentProto :
528  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerArgumentProto) */ {
529  public:
531  virtual ~IntegerArgumentProto();
532 
536  *this = ::std::move(from);
537  }
538 
540  CopyFrom(from);
541  return *this;
542  }
543  inline IntegerArgumentProto& operator=(IntegerArgumentProto&& from) noexcept {
544  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
545  if (this != &from) InternalSwap(&from);
546  } else {
547  CopyFrom(from);
548  }
549  return *this;
550  }
551 
552  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
553  return GetDescriptor();
554  }
555  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
556  return GetMetadataStatic().descriptor;
557  }
558  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
559  return GetMetadataStatic().reflection;
560  }
562 
563  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
564  static inline const IntegerArgumentProto* internal_default_instance() {
565  return reinterpret_cast<const IntegerArgumentProto*>(
567  }
568  static constexpr int kIndexInFileMessages =
569  2;
570 
572  friend void swap(IntegerArgumentProto& a, IntegerArgumentProto& b) {
573  a.Swap(&b);
574  }
576  // implements Message ----------------------------------------------
577 
578  inline IntegerArgumentProto* New() const final {
579  return CreateMaybeMessage<IntegerArgumentProto>(nullptr);
580  }
582  IntegerArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
583  return CreateMaybeMessage<IntegerArgumentProto>(arena);
584  }
585  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
586  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
587  void CopyFrom(const IntegerArgumentProto& from);
588  void MergeFrom(const IntegerArgumentProto& from);
589  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
590  bool IsInitialized() const final;
591 
592  size_t ByteSizeLong() const final;
593  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
594  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
595  #else
597  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
598  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
600  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
601  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
602  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
603  int GetCachedSize() const final { return _cached_size_.Get(); }
604 
605  private:
606  inline void SharedCtor();
607  inline void SharedDtor();
608  void SetCachedSize(int size) const final;
609  void InternalSwap(IntegerArgumentProto* other);
610  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
611  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
612  return "operations_research.sat.IntegerArgumentProto";
613  }
614  private:
615  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
616  return nullptr;
617  }
618  inline void* MaybeArenaPtr() const {
619  return nullptr;
620  }
621  public:
622 
623  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
624  private:
625  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
626  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
628  }
629 
630  public:
631 
632  // nested types ----------------------------------------------------
633 
634  // accessors -------------------------------------------------------
635 
636  // repeated int32 vars = 2;
637  int vars_size() const;
638  void clear_vars();
639  static const int kVarsFieldNumber = 2;
640  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
641  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
642  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
643  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
644  vars() const;
645  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
646  mutable_vars();
647 
648  // int32 target = 1;
649  void clear_target();
650  static const int kTargetFieldNumber = 1;
651  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
652  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
654  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerArgumentProto)
655  private:
656  class HasBitSetters;
657 
658  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
659  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
660  mutable std::atomic<int> _vars_cached_byte_size_;
661  ::PROTOBUF_NAMESPACE_ID::int32 target_;
662  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
663  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
664 };
665 // -------------------------------------------------------------------
668  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
669  public:
672 
676  *this = ::std::move(from);
677  }
680  CopyFrom(from);
681  return *this;
682  }
684  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
685  if (this != &from) InternalSwap(&from);
686  } else {
687  CopyFrom(from);
688  }
689  return *this;
690  }
691 
692  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
693  return GetDescriptor();
694  }
695  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
696  return GetMetadataStatic().descriptor;
697  }
698  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
699  return GetMetadataStatic().reflection;
700  }
703  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
705  return reinterpret_cast<const AllDifferentConstraintProto*>(
707  }
708  static constexpr int kIndexInFileMessages =
709  3;
710 
711  void Swap(AllDifferentConstraintProto* other);
713  a.Swap(&b);
714  }
715 
716  // implements Message ----------------------------------------------
717 
718  inline AllDifferentConstraintProto* New() const final {
719  return CreateMaybeMessage<AllDifferentConstraintProto>(nullptr);
720  }
721 
722  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
723  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
724  }
725  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
726  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
727  void CopyFrom(const AllDifferentConstraintProto& from);
728  void MergeFrom(const AllDifferentConstraintProto& from);
729  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
730  bool IsInitialized() const final;
731 
732  size_t ByteSizeLong() const final;
733  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
734  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
735  #else
737  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
738  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
740  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
741  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
742  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
743  int GetCachedSize() const final { return _cached_size_.Get(); }
744 
745  private:
746  inline void SharedCtor();
747  inline void SharedDtor();
748  void SetCachedSize(int size) const final;
749  void InternalSwap(AllDifferentConstraintProto* other);
750  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
751  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
752  return "operations_research.sat.AllDifferentConstraintProto";
753  }
754  private:
755  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
756  return nullptr;
757  }
758  inline void* MaybeArenaPtr() const {
759  return nullptr;
760  }
761  public:
762 
763  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
764  private:
765  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
766  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
768  }
769 
770  public:
771 
772  // nested types ----------------------------------------------------
773 
774  // accessors -------------------------------------------------------
775 
776  // repeated int32 vars = 1;
777  int vars_size() const;
778  void clear_vars();
779  static const int kVarsFieldNumber = 1;
780  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
781  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
782  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
783  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
784  vars() const;
785  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
786  mutable_vars();
787 
788  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
789  private:
790  class HasBitSetters;
791 
792  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
793  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
794  mutable std::atomic<int> _vars_cached_byte_size_;
795  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
796  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
797 };
798 // -------------------------------------------------------------------
799 
801  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
802  public:
804  virtual ~LinearConstraintProto();
809  *this = ::std::move(from);
810  }
811 
813  CopyFrom(from);
814  return *this;
815  }
816  inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
817  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
818  if (this != &from) InternalSwap(&from);
819  } else {
820  CopyFrom(from);
821  }
822  return *this;
823  }
824 
825  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
826  return GetDescriptor();
827  }
828  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
829  return GetMetadataStatic().descriptor;
830  }
831  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
832  return GetMetadataStatic().reflection;
833  }
834  static const LinearConstraintProto& default_instance();
835 
836  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
837  static inline const LinearConstraintProto* internal_default_instance() {
838  return reinterpret_cast<const LinearConstraintProto*>(
840  }
841  static constexpr int kIndexInFileMessages =
842  4;
843 
844  void Swap(LinearConstraintProto* other);
845  friend void swap(LinearConstraintProto& a, LinearConstraintProto& b) {
846  a.Swap(&b);
847  }
848 
849  // implements Message ----------------------------------------------
851  inline LinearConstraintProto* New() const final {
852  return CreateMaybeMessage<LinearConstraintProto>(nullptr);
853  }
854 
855  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
856  return CreateMaybeMessage<LinearConstraintProto>(arena);
857  }
858  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
859  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
860  void CopyFrom(const LinearConstraintProto& from);
861  void MergeFrom(const LinearConstraintProto& from);
862  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
863  bool IsInitialized() const final;
864 
865  size_t ByteSizeLong() const final;
866  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
867  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
868  #else
870  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
871  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
873  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
874  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
875  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
876  int GetCachedSize() const final { return _cached_size_.Get(); }
877 
878  private:
879  inline void SharedCtor();
880  inline void SharedDtor();
881  void SetCachedSize(int size) const final;
882  void InternalSwap(LinearConstraintProto* other);
883  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
884  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
885  return "operations_research.sat.LinearConstraintProto";
886  }
887  private:
888  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
889  return nullptr;
890  }
891  inline void* MaybeArenaPtr() const {
892  return nullptr;
893  }
894  public:
895 
896  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
897  private:
898  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
899  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
901  }
902 
903  public:
904 
905  // nested types ----------------------------------------------------
906 
907  // accessors -------------------------------------------------------
908 
909  // repeated int32 vars = 1;
910  int vars_size() const;
911  void clear_vars();
912  static const int kVarsFieldNumber = 1;
913  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
914  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
915  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
916  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
917  vars() const;
918  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
919  mutable_vars();
920 
921  // repeated int64 coeffs = 2;
922  int coeffs_size() const;
923  void clear_coeffs();
924  static const int kCoeffsFieldNumber = 2;
925  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
926  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
927  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
928  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
929  coeffs() const;
930  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
931  mutable_coeffs();
932 
933  // repeated int64 domain = 3;
934  int domain_size() const;
935  void clear_domain();
936  static const int kDomainFieldNumber = 3;
937  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
938  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
939  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
940  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
941  domain() const;
942  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
943  mutable_domain();
944 
945  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
946  private:
947  class HasBitSetters;
948 
949  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
950  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
951  mutable std::atomic<int> _vars_cached_byte_size_;
952  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
953  mutable std::atomic<int> _coeffs_cached_byte_size_;
954  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
955  mutable std::atomic<int> _domain_cached_byte_size_;
956  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
957  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
958 };
959 // -------------------------------------------------------------------
960 
962  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
963  public:
965  virtual ~ElementConstraintProto();
966 
970  *this = ::std::move(from);
971  }
972 
974  CopyFrom(from);
975  return *this;
976  }
977  inline ElementConstraintProto& operator=(ElementConstraintProto&& from) noexcept {
978  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
979  if (this != &from) InternalSwap(&from);
980  } else {
981  CopyFrom(from);
982  }
983  return *this;
984  }
985 
986  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
987  return GetDescriptor();
988  }
989  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
990  return GetMetadataStatic().descriptor;
991  }
992  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
993  return GetMetadataStatic().reflection;
994  }
996 
997  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
999  return reinterpret_cast<const ElementConstraintProto*>(
1001  }
1002  static constexpr int kIndexInFileMessages =
1003  5;
1005  void Swap(ElementConstraintProto* other);
1006  friend void swap(ElementConstraintProto& a, ElementConstraintProto& b) {
1007  a.Swap(&b);
1008  }
1009 
1010  // implements Message ----------------------------------------------
1011 
1012  inline ElementConstraintProto* New() const final {
1013  return CreateMaybeMessage<ElementConstraintProto>(nullptr);
1014  }
1015 
1016  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1017  return CreateMaybeMessage<ElementConstraintProto>(arena);
1018  }
1019  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1020  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1021  void CopyFrom(const ElementConstraintProto& from);
1023  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1024  bool IsInitialized() const final;
1025 
1026  size_t ByteSizeLong() const final;
1027  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1028  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1029  #else
1031  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
1032  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1034  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
1035  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
1036  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
1037  int GetCachedSize() const final { return _cached_size_.Get(); }
1038 
1039  private:
1040  inline void SharedCtor();
1041  inline void SharedDtor();
1042  void SetCachedSize(int size) const final;
1043  void InternalSwap(ElementConstraintProto* other);
1044  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1045  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1046  return "operations_research.sat.ElementConstraintProto";
1047  }
1048  private:
1049  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1050  return nullptr;
1051  }
1052  inline void* MaybeArenaPtr() const {
1053  return nullptr;
1054  }
1055  public:
1056 
1057  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1058  private:
1059  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1060  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1062  }
1063 
1064  public:
1065 
1066  // nested types ----------------------------------------------------
1067 
1068  // accessors -------------------------------------------------------
1069 
1070  // repeated int32 vars = 3;
1071  int vars_size() const;
1072  void clear_vars();
1073  static const int kVarsFieldNumber = 3;
1074  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1075  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1076  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1077  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1078  vars() const;
1079  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1080  mutable_vars();
1081 
1082  // int32 index = 1;
1083  void clear_index();
1084  static const int kIndexFieldNumber = 1;
1085  ::PROTOBUF_NAMESPACE_ID::int32 index() const;
1086  void set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1087 
1088  // int32 target = 2;
1089  void clear_target();
1090  static const int kTargetFieldNumber = 2;
1091  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
1092  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1093 
1094  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1095  private:
1096  class HasBitSetters;
1097 
1098  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1099  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1100  mutable std::atomic<int> _vars_cached_byte_size_;
1101  ::PROTOBUF_NAMESPACE_ID::int32 index_;
1102  ::PROTOBUF_NAMESPACE_ID::int32 target_;
1103  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1104  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1105 };
1106 // -------------------------------------------------------------------
1107 
1109  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1110  public:
1112  virtual ~IntervalConstraintProto();
1113 
1117  *this = ::std::move(from);
1118  }
1119 
1121  CopyFrom(from);
1122  return *this;
1123  }
1124  inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
1125  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1126  if (this != &from) InternalSwap(&from);
1127  } else {
1128  CopyFrom(from);
1129  }
1130  return *this;
1131  }
1132 
1133  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1134  return GetDescriptor();
1135  }
1136  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1137  return GetMetadataStatic().descriptor;
1138  }
1139  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1140  return GetMetadataStatic().reflection;
1141  }
1142  static const IntervalConstraintProto& default_instance();
1144  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1145  static inline const IntervalConstraintProto* internal_default_instance() {
1146  return reinterpret_cast<const IntervalConstraintProto*>(
1148  }
1149  static constexpr int kIndexInFileMessages =
1150  6;
1151 
1154  a.Swap(&b);
1155  }
1157  // implements Message ----------------------------------------------
1158 
1159  inline IntervalConstraintProto* New() const final {
1160  return CreateMaybeMessage<IntervalConstraintProto>(nullptr);
1161  }
1162 
1163  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1164  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1165  }
1166  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1167  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1168  void CopyFrom(const IntervalConstraintProto& from);
1169  void MergeFrom(const IntervalConstraintProto& from);
1170  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1171  bool IsInitialized() const final;
1172 
1173  size_t ByteSizeLong() const final;
1174  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1175  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1176  #else
1178  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
1179  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1181  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
1182  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
1183  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
1184  int GetCachedSize() const final { return _cached_size_.Get(); }
1185 
1186  private:
1187  inline void SharedCtor();
1188  inline void SharedDtor();
1189  void SetCachedSize(int size) const final;
1190  void InternalSwap(IntervalConstraintProto* other);
1191  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1192  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1193  return "operations_research.sat.IntervalConstraintProto";
1194  }
1195  private:
1196  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1197  return nullptr;
1198  }
1199  inline void* MaybeArenaPtr() const {
1200  return nullptr;
1201  }
1202  public:
1203 
1204  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1205  private:
1206  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1207  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1209  }
1210 
1211  public:
1212 
1213  // nested types ----------------------------------------------------
1214 
1215  // accessors -------------------------------------------------------
1216 
1217  // int32 start = 1;
1218  void clear_start();
1219  static const int kStartFieldNumber = 1;
1220  ::PROTOBUF_NAMESPACE_ID::int32 start() const;
1221  void set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1222 
1223  // int32 end = 2;
1224  void clear_end();
1225  static const int kEndFieldNumber = 2;
1226  ::PROTOBUF_NAMESPACE_ID::int32 end() const;
1227  void set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1228 
1229  // int32 size = 3;
1230  void clear_size();
1231  static const int kSizeFieldNumber = 3;
1232  ::PROTOBUF_NAMESPACE_ID::int32 size() const;
1233  void set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1234 
1235  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1236  private:
1237  class HasBitSetters;
1239  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1240  ::PROTOBUF_NAMESPACE_ID::int32 start_;
1241  ::PROTOBUF_NAMESPACE_ID::int32 end_;
1242  ::PROTOBUF_NAMESPACE_ID::int32 size_;
1243  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1244  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1245 };
1246 // -------------------------------------------------------------------
1247 
1249  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1250  public:
1252  virtual ~NoOverlapConstraintProto();
1253 
1257  *this = ::std::move(from);
1258  }
1259 
1261  CopyFrom(from);
1262  return *this;
1263  }
1265  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1266  if (this != &from) InternalSwap(&from);
1267  } else {
1268  CopyFrom(from);
1269  }
1270  return *this;
1271  }
1273  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1274  return GetDescriptor();
1275  }
1276  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1277  return GetMetadataStatic().descriptor;
1278  }
1279  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1280  return GetMetadataStatic().reflection;
1281  }
1283 
1284  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1285  static inline const NoOverlapConstraintProto* internal_default_instance() {
1286  return reinterpret_cast<const NoOverlapConstraintProto*>(
1288  }
1289  static constexpr int kIndexInFileMessages =
1290  7;
1291 
1292  void Swap(NoOverlapConstraintProto* other);
1294  a.Swap(&b);
1295  }
1296 
1297  // implements Message ----------------------------------------------
1298 
1299  inline NoOverlapConstraintProto* New() const final {
1300  return CreateMaybeMessage<NoOverlapConstraintProto>(nullptr);
1301  }
1302 
1303  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1304  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1305  }
1306  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1307  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1308  void CopyFrom(const NoOverlapConstraintProto& from);
1309  void MergeFrom(const NoOverlapConstraintProto& from);
1310  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1311  bool IsInitialized() const final;
1312 
1313  size_t ByteSizeLong() const final;
1314  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1315  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1316  #else
1318  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
1319  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1321  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
1322  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
1323  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
1324  int GetCachedSize() const final { return _cached_size_.Get(); }
1325 
1326  private:
1327  inline void SharedCtor();
1328  inline void SharedDtor();
1329  void SetCachedSize(int size) const final;
1330  void InternalSwap(NoOverlapConstraintProto* other);
1331  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1332  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1333  return "operations_research.sat.NoOverlapConstraintProto";
1334  }
1335  private:
1336  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1337  return nullptr;
1338  }
1339  inline void* MaybeArenaPtr() const {
1340  return nullptr;
1341  }
1342  public:
1343 
1344  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1345  private:
1346  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1347  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1349  }
1350 
1351  public:
1352 
1353  // nested types ----------------------------------------------------
1354 
1355  // accessors -------------------------------------------------------
1356 
1357  // repeated int32 intervals = 1;
1358  int intervals_size() const;
1359  void clear_intervals();
1360  static const int kIntervalsFieldNumber = 1;
1361  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
1362  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1363  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1364  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1365  intervals() const;
1366  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1369  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
1370  private:
1371  class HasBitSetters;
1372 
1373  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1374  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
1375  mutable std::atomic<int> _intervals_cached_byte_size_;
1376  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1377  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1378 };
1379 // -------------------------------------------------------------------
1380 
1382  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
1383  public:
1386 
1390  *this = ::std::move(from);
1391  }
1392 
1394  CopyFrom(from);
1395  return *this;
1396  }
1398  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1399  if (this != &from) InternalSwap(&from);
1400  } else {
1401  CopyFrom(from);
1402  }
1403  return *this;
1404  }
1405 
1406  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1407  return GetDescriptor();
1408  }
1409  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1410  return GetMetadataStatic().descriptor;
1411  }
1412  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1413  return GetMetadataStatic().reflection;
1414  }
1416 
1417  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1419  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
1421  }
1422  static constexpr int kIndexInFileMessages =
1423  8;
1424 
1425  void Swap(NoOverlap2DConstraintProto* other);
1427  a.Swap(&b);
1428  }
1429 
1430  // implements Message ----------------------------------------------
1432  inline NoOverlap2DConstraintProto* New() const final {
1433  return CreateMaybeMessage<NoOverlap2DConstraintProto>(nullptr);
1434  }
1436  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1437  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
1438  }
1439  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1440  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1442  void MergeFrom(const NoOverlap2DConstraintProto& from);
1443  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1444  bool IsInitialized() const final;
1446  size_t ByteSizeLong() const final;
1447  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1448  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1449  #else
1451  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
1452  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1454  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
1455  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
1456  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
1457  int GetCachedSize() const final { return _cached_size_.Get(); }
1458 
1459  private:
1460  inline void SharedCtor();
1461  inline void SharedDtor();
1462  void SetCachedSize(int size) const final;
1463  void InternalSwap(NoOverlap2DConstraintProto* other);
1464  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1465  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1466  return "operations_research.sat.NoOverlap2DConstraintProto";
1467  }
1468  private:
1469  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1470  return nullptr;
1471  }
1472  inline void* MaybeArenaPtr() const {
1473  return nullptr;
1474  }
1475  public:
1476 
1477  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1478  private:
1479  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1480  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1482  }
1483 
1484  public:
1485 
1486  // nested types ----------------------------------------------------
1487 
1488  // accessors -------------------------------------------------------
1489 
1490  // repeated int32 x_intervals = 1;
1491  int x_intervals_size() const;
1492  void clear_x_intervals();
1493  static const int kXIntervalsFieldNumber = 1;
1494  ::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const;
1495  void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1496  void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1497  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1498  x_intervals() const;
1499  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1501 
1502  // repeated int32 y_intervals = 2;
1503  int y_intervals_size() const;
1504  void clear_y_intervals();
1505  static const int kYIntervalsFieldNumber = 2;
1506  ::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const;
1507  void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1508  void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1509  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1510  y_intervals() const;
1511  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1513 
1514  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
1515  private:
1516  class HasBitSetters;
1517 
1518  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1519  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > x_intervals_;
1520  mutable std::atomic<int> _x_intervals_cached_byte_size_;
1521  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > y_intervals_;
1522  mutable std::atomic<int> _y_intervals_cached_byte_size_;
1523  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1524  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1525 };
1526 // -------------------------------------------------------------------
1527 
1529  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
1530  public:
1532  virtual ~CumulativeConstraintProto();
1537  *this = ::std::move(from);
1538  }
1539 
1541  CopyFrom(from);
1542  return *this;
1543  }
1545  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1546  if (this != &from) InternalSwap(&from);
1547  } else {
1548  CopyFrom(from);
1549  }
1550  return *this;
1551  }
1552 
1553  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1554  return GetDescriptor();
1555  }
1556  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1557  return GetMetadataStatic().descriptor;
1558  }
1559  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1560  return GetMetadataStatic().reflection;
1561  }
1564  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1565  static inline const CumulativeConstraintProto* internal_default_instance() {
1566  return reinterpret_cast<const CumulativeConstraintProto*>(
1568  }
1569  static constexpr int kIndexInFileMessages =
1570  9;
1571 
1572  void Swap(CumulativeConstraintProto* other);
1574  a.Swap(&b);
1575  }
1576 
1577  // implements Message ----------------------------------------------
1578 
1579  inline CumulativeConstraintProto* New() const final {
1580  return CreateMaybeMessage<CumulativeConstraintProto>(nullptr);
1581  }
1582 
1583  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1584  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
1585  }
1586  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1587  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1588  void CopyFrom(const CumulativeConstraintProto& from);
1590  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1591  bool IsInitialized() const final;
1592 
1593  size_t ByteSizeLong() const final;
1594  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1595  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1596  #else
1598  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
1599  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1601  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
1602  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
1603  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
1604  int GetCachedSize() const final { return _cached_size_.Get(); }
1605 
1606  private:
1607  inline void SharedCtor();
1608  inline void SharedDtor();
1609  void SetCachedSize(int size) const final;
1610  void InternalSwap(CumulativeConstraintProto* other);
1611  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1612  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1613  return "operations_research.sat.CumulativeConstraintProto";
1614  }
1615  private:
1616  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1617  return nullptr;
1618  }
1619  inline void* MaybeArenaPtr() const {
1620  return nullptr;
1621  }
1622  public:
1623 
1624  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1625  private:
1626  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1627  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1629  }
1630 
1631  public:
1632 
1633  // nested types ----------------------------------------------------
1634 
1635  // accessors -------------------------------------------------------
1636 
1637  // repeated int32 intervals = 2;
1638  int intervals_size() const;
1639  void clear_intervals();
1640  static const int kIntervalsFieldNumber = 2;
1641  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
1642  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1643  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1644  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1645  intervals() const;
1646  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1648 
1649  // repeated int32 demands = 3;
1650  int demands_size() const;
1651  void clear_demands();
1652  static const int kDemandsFieldNumber = 3;
1653  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
1654  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1655  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
1656  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1657  demands() const;
1658  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1659  mutable_demands();
1660 
1661  // int32 capacity = 1;
1663  static const int kCapacityFieldNumber = 1;
1664  ::PROTOBUF_NAMESPACE_ID::int32 capacity() const;
1665  void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
1666 
1667  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
1668  private:
1669  class HasBitSetters;
1670 
1671  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1672  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
1673  mutable std::atomic<int> _intervals_cached_byte_size_;
1674  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
1675  mutable std::atomic<int> _demands_cached_byte_size_;
1676  ::PROTOBUF_NAMESPACE_ID::int32 capacity_;
1677  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1678  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1679 };
1680 // -------------------------------------------------------------------
1681 
1683  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
1684  public:
1686  virtual ~ReservoirConstraintProto();
1687 
1691  *this = ::std::move(from);
1692  }
1695  CopyFrom(from);
1696  return *this;
1697  }
1699  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1700  if (this != &from) InternalSwap(&from);
1701  } else {
1702  CopyFrom(from);
1703  }
1704  return *this;
1705  }
1706 
1707  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1708  return GetDescriptor();
1709  }
1710  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1711  return GetMetadataStatic().descriptor;
1712  }
1713  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1714  return GetMetadataStatic().reflection;
1715  }
1717 
1718  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1719  static inline const ReservoirConstraintProto* internal_default_instance() {
1720  return reinterpret_cast<const ReservoirConstraintProto*>(
1722  }
1723  static constexpr int kIndexInFileMessages =
1724  10;
1725 
1726  void Swap(ReservoirConstraintProto* other);
1728  a.Swap(&b);
1729  }
1731  // implements Message ----------------------------------------------
1732 
1733  inline ReservoirConstraintProto* New() const final {
1734  return CreateMaybeMessage<ReservoirConstraintProto>(nullptr);
1735  }
1736 
1737  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1738  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
1739  }
1740  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1741  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1742  void CopyFrom(const ReservoirConstraintProto& from);
1743  void MergeFrom(const ReservoirConstraintProto& from);
1744  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1745  bool IsInitialized() const final;
1746 
1747  size_t ByteSizeLong() const final;
1748  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1749  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1750  #else
1752  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
1753  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1755  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
1756  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
1757  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
1758  int GetCachedSize() const final { return _cached_size_.Get(); }
1759 
1760  private:
1761  inline void SharedCtor();
1762  inline void SharedDtor();
1763  void SetCachedSize(int size) const final;
1764  void InternalSwap(ReservoirConstraintProto* other);
1765  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1766  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1767  return "operations_research.sat.ReservoirConstraintProto";
1768  }
1769  private:
1770  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1771  return nullptr;
1772  }
1773  inline void* MaybeArenaPtr() const {
1774  return nullptr;
1775  }
1776  public:
1777 
1778  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1779  private:
1780  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1781  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1783  }
1784 
1785  public:
1786 
1787  // nested types ----------------------------------------------------
1788 
1789  // accessors -------------------------------------------------------
1790 
1791  // repeated int32 times = 3;
1792  int times_size() const;
1793  void clear_times();
1794  static const int kTimesFieldNumber = 3;
1795  ::PROTOBUF_NAMESPACE_ID::int32 times(int index) const;
1796  void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1797  void add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
1798  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1799  times() const;
1800  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1801  mutable_times();
1802 
1803  // repeated int64 demands = 4;
1804  int demands_size() const;
1806  static const int kDemandsFieldNumber = 4;
1807  ::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const;
1808  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
1809  void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
1810  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1811  demands() const;
1812  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1813  mutable_demands();
1814 
1815  // repeated int32 actives = 5;
1816  int actives_size() const;
1818  static const int kActivesFieldNumber = 5;
1819  ::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const;
1820  void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1821  void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
1822  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1823  actives() const;
1824  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1825  mutable_actives();
1826 
1827  // int64 min_level = 1;
1828  void clear_min_level();
1829  static const int kMinLevelFieldNumber = 1;
1830  ::PROTOBUF_NAMESPACE_ID::int64 min_level() const;
1831  void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
1832 
1833  // int64 max_level = 2;
1834  void clear_max_level();
1835  static const int kMaxLevelFieldNumber = 2;
1836  ::PROTOBUF_NAMESPACE_ID::int64 max_level() const;
1837  void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
1838 
1839  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
1840  private:
1841  class HasBitSetters;
1842 
1843  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1844  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > times_;
1845  mutable std::atomic<int> _times_cached_byte_size_;
1846  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > demands_;
1847  mutable std::atomic<int> _demands_cached_byte_size_;
1848  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > actives_;
1849  mutable std::atomic<int> _actives_cached_byte_size_;
1850  ::PROTOBUF_NAMESPACE_ID::int64 min_level_;
1851  ::PROTOBUF_NAMESPACE_ID::int64 max_level_;
1852  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1853  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1854 };
1855 // -------------------------------------------------------------------
1856 
1857 class CircuitConstraintProto :
1858  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
1859  public:
1861  virtual ~CircuitConstraintProto();
1862 
1866  *this = ::std::move(from);
1867  }
1868 
1870  CopyFrom(from);
1871  return *this;
1872  }
1873  inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
1874  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1875  if (this != &from) InternalSwap(&from);
1876  } else {
1877  CopyFrom(from);
1878  }
1879  return *this;
1880  }
1882  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1883  return GetDescriptor();
1884  }
1885  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1886  return GetMetadataStatic().descriptor;
1887  }
1888  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1889  return GetMetadataStatic().reflection;
1890  }
1891  static const CircuitConstraintProto& default_instance();
1892 
1893  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1895  return reinterpret_cast<const CircuitConstraintProto*>(
1897  }
1898  static constexpr int kIndexInFileMessages =
1899  11;
1901  void Swap(CircuitConstraintProto* other);
1902  friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) {
1903  a.Swap(&b);
1904  }
1905 
1906  // implements Message ----------------------------------------------
1907 
1908  inline CircuitConstraintProto* New() const final {
1909  return CreateMaybeMessage<CircuitConstraintProto>(nullptr);
1910  }
1911 
1912  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1913  return CreateMaybeMessage<CircuitConstraintProto>(arena);
1914  }
1915  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1916  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1917  void CopyFrom(const CircuitConstraintProto& from);
1918  void MergeFrom(const CircuitConstraintProto& from);
1919  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1920  bool IsInitialized() const final;
1921 
1922  size_t ByteSizeLong() const final;
1923  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1924  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1925  #else
1927  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
1928  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1930  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
1931  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
1932  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
1933  int GetCachedSize() const final { return _cached_size_.Get(); }
1934 
1935  private:
1936  inline void SharedCtor();
1937  inline void SharedDtor();
1938  void SetCachedSize(int size) const final;
1939  void InternalSwap(CircuitConstraintProto* other);
1940  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1941  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1942  return "operations_research.sat.CircuitConstraintProto";
1943  }
1944  private:
1945  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1946  return nullptr;
1947  }
1948  inline void* MaybeArenaPtr() const {
1949  return nullptr;
1950  }
1951  public:
1953  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1954  private:
1955  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1956  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1958  }
1959 
1960  public:
1961 
1962  // nested types ----------------------------------------------------
1963 
1964  // accessors -------------------------------------------------------
1965 
1966  // repeated int32 tails = 3;
1967  int tails_size() const;
1968  void clear_tails();
1969  static const int kTailsFieldNumber = 3;
1970  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
1971  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1972  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
1973  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1974  tails() const;
1975  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1976  mutable_tails();
1977 
1978  // repeated int32 heads = 4;
1979  int heads_size() const;
1980  void clear_heads();
1981  static const int kHeadsFieldNumber = 4;
1982  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
1983  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1984  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
1985  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1986  heads() const;
1987  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1988  mutable_heads();
1989 
1990  // repeated int32 literals = 5;
1991  int literals_size() const;
1992  void clear_literals();
1993  static const int kLiteralsFieldNumber = 5;
1994  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
1995  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1996  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
1997  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1998  literals() const;
1999  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2000  mutable_literals();
2001 
2002  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2003  private:
2004  class HasBitSetters;
2006  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
2007  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2008  mutable std::atomic<int> _tails_cached_byte_size_;
2009  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2010  mutable std::atomic<int> _heads_cached_byte_size_;
2011  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2012  mutable std::atomic<int> _literals_cached_byte_size_;
2013  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2014  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2015 };
2016 // -------------------------------------------------------------------
2017 
2018 class RoutesConstraintProto :
2019  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2020  public:
2022  virtual ~RoutesConstraintProto();
2023 
2027  *this = ::std::move(from);
2028  }
2029 
2031  CopyFrom(from);
2032  return *this;
2033  }
2034  inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
2035  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
2036  if (this != &from) InternalSwap(&from);
2037  } else {
2038  CopyFrom(from);
2039  }
2040  return *this;
2041  }
2042 
2043  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2044  return GetDescriptor();
2045  }
2046  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2047  return GetMetadataStatic().descriptor;
2048  }
2049  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2050  return GetMetadataStatic().reflection;
2051  }
2052  static const RoutesConstraintProto& default_instance();
2053 
2054  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2055  static inline const RoutesConstraintProto* internal_default_instance() {
2056  return reinterpret_cast<const RoutesConstraintProto*>(
2058  }
2059  static constexpr int kIndexInFileMessages =
2060  12;
2061 
2063  friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) {
2064  a.Swap(&b);
2065  }
2066 
2067  // implements Message ----------------------------------------------
2069  inline RoutesConstraintProto* New() const final {
2070  return CreateMaybeMessage<RoutesConstraintProto>(nullptr);
2071  }
2073  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2074  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2075  }
2076  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2077  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2078  void CopyFrom(const RoutesConstraintProto& from);
2079  void MergeFrom(const RoutesConstraintProto& from);
2080  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2081  bool IsInitialized() const final;
2083  size_t ByteSizeLong() const final;
2084  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2085  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2086  #else
2088  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
2089  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2091  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
2092  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
2093  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
2094  int GetCachedSize() const final { return _cached_size_.Get(); }
2095 
2096  private:
2097  inline void SharedCtor();
2098  inline void SharedDtor();
2099  void SetCachedSize(int size) const final;
2100  void InternalSwap(RoutesConstraintProto* other);
2101  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2102  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2103  return "operations_research.sat.RoutesConstraintProto";
2104  }
2105  private:
2106  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
2107  return nullptr;
2108  }
2109  inline void* MaybeArenaPtr() const {
2110  return nullptr;
2111  }
2112  public:
2113 
2114  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2115  private:
2116  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2117  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2119  }
2120 
2121  public:
2122 
2123  // nested types ----------------------------------------------------
2124 
2125  // accessors -------------------------------------------------------
2126 
2127  // repeated int32 tails = 1;
2128  int tails_size() const;
2129  void clear_tails();
2130  static const int kTailsFieldNumber = 1;
2131  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
2132  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2133  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2134  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2135  tails() const;
2136  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2137  mutable_tails();
2138 
2139  // repeated int32 heads = 2;
2140  int heads_size() const;
2141  void clear_heads();
2142  static const int kHeadsFieldNumber = 2;
2143  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
2144  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2145  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2146  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2147  heads() const;
2148  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2149  mutable_heads();
2150 
2151  // repeated int32 literals = 3;
2152  int literals_size() const;
2153  void clear_literals();
2154  static const int kLiteralsFieldNumber = 3;
2155  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
2156  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2157  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2158  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2159  literals() const;
2160  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2161  mutable_literals();
2162 
2163  // repeated int32 demands = 4;
2164  int demands_size() const;
2165  void clear_demands();
2166  static const int kDemandsFieldNumber = 4;
2167  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
2168  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2169  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2170  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2171  demands() const;
2172  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2173  mutable_demands();
2174 
2175  // int64 capacity = 5;
2176  void clear_capacity();
2177  static const int kCapacityFieldNumber = 5;
2178  ::PROTOBUF_NAMESPACE_ID::int64 capacity() const;
2179  void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
2180 
2181  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
2182  private:
2183  class HasBitSetters;
2184 
2185  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
2186  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2187  mutable std::atomic<int> _tails_cached_byte_size_;
2188  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2189  mutable std::atomic<int> _heads_cached_byte_size_;
2190  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2191  mutable std::atomic<int> _literals_cached_byte_size_;
2192  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2193  mutable std::atomic<int> _demands_cached_byte_size_;
2194  ::PROTOBUF_NAMESPACE_ID::int64 capacity_;
2195  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2196  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2197 };
2198 // -------------------------------------------------------------------
2199 
2201  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitCoveringConstraintProto) */ {
2202  public:
2205 
2209  *this = ::std::move(from);
2210  }
2211 
2213  CopyFrom(from);
2214  return *this;
2215  }
2217  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
2218  if (this != &from) InternalSwap(&from);
2219  } else {
2220  CopyFrom(from);
2221  }
2222  return *this;
2223  }
2224 
2225  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2226  return GetDescriptor();
2227  }
2228  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2229  return GetMetadataStatic().descriptor;
2230  }
2231  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2232  return GetMetadataStatic().reflection;
2233  }
2235 
2236  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2238  return reinterpret_cast<const CircuitCoveringConstraintProto*>(
2240  }
2241  static constexpr int kIndexInFileMessages =
2242  13;
2243 
2244  void Swap(CircuitCoveringConstraintProto* other);
2246  a.Swap(&b);
2247  }
2248 
2249  // implements Message ----------------------------------------------
2250 
2251  inline CircuitCoveringConstraintProto* New() const final {
2252  return CreateMaybeMessage<CircuitCoveringConstraintProto>(nullptr);
2253  }
2254 
2255  CircuitCoveringConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2256  return CreateMaybeMessage<CircuitCoveringConstraintProto>(arena);
2257  }
2258  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2259  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2260  void CopyFrom(const CircuitCoveringConstraintProto& from);
2261  void MergeFrom(const CircuitCoveringConstraintProto& from);
2262  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2263  bool IsInitialized() const final;
2264 
2265  size_t ByteSizeLong() const final;
2266  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2267  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2268  #else
2270  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
2271  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2273  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
2274  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
2275  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
2276  int GetCachedSize() const final { return _cached_size_.Get(); }
2277 
2278  private:
2279  inline void SharedCtor();
2280  inline void SharedDtor();
2281  void SetCachedSize(int size) const final;
2282  void InternalSwap(CircuitCoveringConstraintProto* other);
2283  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2284  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2285  return "operations_research.sat.CircuitCoveringConstraintProto";
2286  }
2287  private:
2288  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
2289  return nullptr;
2290  }
2291  inline void* MaybeArenaPtr() const {
2292  return nullptr;
2293  }
2294  public:
2295 
2296  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2297  private:
2298  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2299  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2301  }
2302 
2303  public:
2304 
2305  // nested types ----------------------------------------------------
2306 
2307  // accessors -------------------------------------------------------
2308 
2309  // repeated int32 nexts = 1;
2310  int nexts_size() const;
2311  void clear_nexts();
2312  static const int kNextsFieldNumber = 1;
2313  ::PROTOBUF_NAMESPACE_ID::int32 nexts(int index) const;
2314  void set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2315  void add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value);
2316  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2317  nexts() const;
2318  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2319  mutable_nexts();
2320 
2321  // repeated int64 distinguished_nodes = 2;
2322  int distinguished_nodes_size() const;
2324  static const int kDistinguishedNodesFieldNumber = 2;
2325  ::PROTOBUF_NAMESPACE_ID::int64 distinguished_nodes(int index) const;
2326  void set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2327  void add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value);
2328  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2329  distinguished_nodes() const;
2330  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2332 
2333  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitCoveringConstraintProto)
2334  private:
2335  class HasBitSetters;
2336 
2337  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
2338  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > nexts_;
2339  mutable std::atomic<int> _nexts_cached_byte_size_;
2340  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > distinguished_nodes_;
2341  mutable std::atomic<int> _distinguished_nodes_cached_byte_size_;
2342  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2343  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2344 };
2345 // -------------------------------------------------------------------
2346 
2347 class TableConstraintProto :
2348  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
2349  public:
2351  virtual ~TableConstraintProto();
2352 
2355  : TableConstraintProto() {
2356  *this = ::std::move(from);
2357  }
2358 
2359  inline TableConstraintProto& operator=(const TableConstraintProto& from) {
2360  CopyFrom(from);
2361  return *this;
2362  }
2363  inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
2364  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
2365  if (this != &from) InternalSwap(&from);
2366  } else {
2367  CopyFrom(from);
2368  }
2369  return *this;
2370  }
2371 
2372  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2373  return GetDescriptor();
2374  }
2375  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2376  return GetMetadataStatic().descriptor;
2377  }
2378  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2379  return GetMetadataStatic().reflection;
2380  }
2381  static const TableConstraintProto& default_instance();
2382 
2383  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2384  static inline const TableConstraintProto* internal_default_instance() {
2385  return reinterpret_cast<const TableConstraintProto*>(
2387  }
2388  static constexpr int kIndexInFileMessages =
2389  14;
2391  void Swap(TableConstraintProto* other);
2392  friend void swap(TableConstraintProto& a, TableConstraintProto& b) {
2393  a.Swap(&b);
2394  }
2395 
2396  // implements Message ----------------------------------------------
2397 
2398  inline TableConstraintProto* New() const final {
2399  return CreateMaybeMessage<TableConstraintProto>(nullptr);
2400  }
2401 
2402  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2403  return CreateMaybeMessage<TableConstraintProto>(arena);
2404  }
2405  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2406  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2407  void CopyFrom(const TableConstraintProto& from);
2408  void MergeFrom(const TableConstraintProto& from);
2409  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2410  bool IsInitialized() const final;
2411 
2412  size_t ByteSizeLong() const final;
2413  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2414  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2415  #else
2417  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
2418  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2420  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
2421  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
2422  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
2423  int GetCachedSize() const final { return _cached_size_.Get(); }
2424 
2425  private:
2426  inline void SharedCtor();
2427  inline void SharedDtor();
2428  void SetCachedSize(int size) const final;
2429  void InternalSwap(TableConstraintProto* other);
2430  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2431  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2432  return "operations_research.sat.TableConstraintProto";
2433  }
2434  private:
2435  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
2436  return nullptr;
2437  }
2438  inline void* MaybeArenaPtr() const {
2439  return nullptr;
2440  }
2441  public:
2442 
2443  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2444  private:
2445  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2446  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2448  }
2449 
2450  public:
2451 
2452  // nested types ----------------------------------------------------
2453 
2454  // accessors -------------------------------------------------------
2455 
2456  // repeated int32 vars = 1;
2457  int vars_size() const;
2458  void clear_vars();
2459  static const int kVarsFieldNumber = 1;
2460  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
2461  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2462  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
2463  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2464  vars() const;
2465  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2466  mutable_vars();
2467 
2468  // repeated int64 values = 2;
2469  int values_size() const;
2470  void clear_values();
2471  static const int kValuesFieldNumber = 2;
2472  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
2473  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2474  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
2475  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2476  values() const;
2477  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2478  mutable_values();
2479 
2480  // bool negated = 3;
2481  void clear_negated();
2482  static const int kNegatedFieldNumber = 3;
2483  bool negated() const;
2484  void set_negated(bool value);
2485 
2486  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
2487  private:
2488  class HasBitSetters;
2489 
2490  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
2491  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
2492  mutable std::atomic<int> _vars_cached_byte_size_;
2493  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
2494  mutable std::atomic<int> _values_cached_byte_size_;
2495  bool negated_;
2496  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2497  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2498 };
2499 // -------------------------------------------------------------------
2500 
2501 class InverseConstraintProto :
2502  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
2503  public:
2505  virtual ~InverseConstraintProto();
2506 
2510  *this = ::std::move(from);
2511  }
2514  CopyFrom(from);
2515  return *this;
2516  }
2518  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
2519  if (this != &from) InternalSwap(&from);
2520  } else {
2521  CopyFrom(from);
2522  }
2523  return *this;
2524  }
2525 
2526  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2527  return GetDescriptor();
2528  }
2529  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2530  return GetMetadataStatic().descriptor;
2531  }
2532  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2533  return GetMetadataStatic().reflection;
2534  }
2535  static const InverseConstraintProto& default_instance();
2536 
2537  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2538  static inline const InverseConstraintProto* internal_default_instance() {
2539  return reinterpret_cast<const InverseConstraintProto*>(
2541  }
2542  static constexpr int kIndexInFileMessages =
2543  15;
2544 
2546  friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) {
2547  a.Swap(&b);
2548  }
2549 
2550  // implements Message ----------------------------------------------
2551 
2552  inline InverseConstraintProto* New() const final {
2553  return CreateMaybeMessage<InverseConstraintProto>(nullptr);
2554  }
2555 
2556  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2557  return CreateMaybeMessage<InverseConstraintProto>(arena);
2558  }
2559  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2560  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2561  void CopyFrom(const InverseConstraintProto& from);
2563  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2564  bool IsInitialized() const final;
2565 
2566  size_t ByteSizeLong() const final;
2567  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2568  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2569  #else
2571  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
2572  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2574  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
2575  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
2576  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
2577  int GetCachedSize() const final { return _cached_size_.Get(); }
2578 
2579  private:
2580  inline void SharedCtor();
2581  inline void SharedDtor();
2582  void SetCachedSize(int size) const final;
2583  void InternalSwap(InverseConstraintProto* other);
2584  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2585  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2586  return "operations_research.sat.InverseConstraintProto";
2587  }
2588  private:
2589  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
2590  return nullptr;
2591  }
2592  inline void* MaybeArenaPtr() const {
2593  return nullptr;
2594  }
2595  public:
2596 
2597  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2598  private:
2599  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2600  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2602  }
2603 
2604  public:
2605 
2606  // nested types ----------------------------------------------------
2607 
2608  // accessors -------------------------------------------------------
2609 
2610  // repeated int32 f_direct = 1;
2611  int f_direct_size() const;
2612  void clear_f_direct();
2613  static const int kFDirectFieldNumber = 1;
2614  ::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const;
2615  void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2616  void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
2617  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2618  f_direct() const;
2619  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2620  mutable_f_direct();
2621 
2622  // repeated int32 f_inverse = 2;
2623  int f_inverse_size() const;
2624  void clear_f_inverse();
2625  static const int kFInverseFieldNumber = 2;
2626  ::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const;
2627  void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2628  void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
2629  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2630  f_inverse() const;
2631  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2633 
2634  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
2635  private:
2636  class HasBitSetters;
2637 
2638  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
2639  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_direct_;
2640  mutable std::atomic<int> _f_direct_cached_byte_size_;
2641  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_inverse_;
2642  mutable std::atomic<int> _f_inverse_cached_byte_size_;
2643  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2644  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2645 };
2646 // -------------------------------------------------------------------
2647 
2649  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
2650  public:
2652  virtual ~AutomatonConstraintProto();
2653 
2657  *this = ::std::move(from);
2658  }
2659 
2661  CopyFrom(from);
2662  return *this;
2663  }
2665  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
2666  if (this != &from) InternalSwap(&from);
2667  } else {
2668  CopyFrom(from);
2669  }
2670  return *this;
2671  }
2673  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2674  return GetDescriptor();
2675  }
2676  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2677  return GetMetadataStatic().descriptor;
2678  }
2679  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2680  return GetMetadataStatic().reflection;
2681  }
2683 
2684  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2685  static inline const AutomatonConstraintProto* internal_default_instance() {
2686  return reinterpret_cast<const AutomatonConstraintProto*>(
2688  }
2689  static constexpr int kIndexInFileMessages =
2690  16;
2691 
2692  void Swap(AutomatonConstraintProto* other);
2694  a.Swap(&b);
2695  }
2697  // implements Message ----------------------------------------------
2698 
2699  inline AutomatonConstraintProto* New() const final {
2700  return CreateMaybeMessage<AutomatonConstraintProto>(nullptr);
2701  }
2703  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2704  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
2705  }
2706  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2707  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2708  void CopyFrom(const AutomatonConstraintProto& from);
2709  void MergeFrom(const AutomatonConstraintProto& from);
2710  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2711  bool IsInitialized() const final;
2712 
2713  size_t ByteSizeLong() const final;
2714  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2715  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2716  #else
2718  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
2719  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2721  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
2722  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
2723  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
2724  int GetCachedSize() const final { return _cached_size_.Get(); }
2725 
2726  private:
2727  inline void SharedCtor();
2728  inline void SharedDtor();
2729  void SetCachedSize(int size) const final;
2730  void InternalSwap(AutomatonConstraintProto* other);
2731  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2732  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2733  return "operations_research.sat.AutomatonConstraintProto";
2734  }
2735  private:
2736  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
2737  return nullptr;
2738  }
2739  inline void* MaybeArenaPtr() const {
2740  return nullptr;
2741  }
2742  public:
2743 
2744  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2745  private:
2746  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2747  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2749  }
2750 
2751  public:
2752 
2753  // nested types ----------------------------------------------------
2754 
2755  // accessors -------------------------------------------------------
2756 
2757  // repeated int64 final_states = 3;
2758  int final_states_size() const;
2759  void clear_final_states();
2760  static const int kFinalStatesFieldNumber = 3;
2761  ::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const;
2762  void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2763  void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
2764  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2765  final_states() const;
2766  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2768 
2769  // repeated int64 transition_tail = 4;
2770  int transition_tail_size() const;
2771  void clear_transition_tail();
2772  static const int kTransitionTailFieldNumber = 4;
2773  ::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const;
2774  void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2775  void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
2776  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2778  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2780 
2781  // repeated int64 transition_head = 5;
2782  int transition_head_size() const;
2783  void clear_transition_head();
2784  static const int kTransitionHeadFieldNumber = 5;
2785  ::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const;
2786  void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2787  void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
2788  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2790  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2792 
2793  // repeated int64 transition_label = 6;
2794  int transition_label_size() const;
2795  void clear_transition_label();
2796  static const int kTransitionLabelFieldNumber = 6;
2797  ::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const;
2798  void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2799  void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
2800  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2802  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2804 
2805  // repeated int32 vars = 7;
2806  int vars_size() const;
2807  void clear_vars();
2808  static const int kVarsFieldNumber = 7;
2809  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
2810  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2811  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
2812  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2813  vars() const;
2814  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2815  mutable_vars();
2816 
2817  // int64 starting_state = 2;
2818  void clear_starting_state();
2819  static const int kStartingStateFieldNumber = 2;
2820  ::PROTOBUF_NAMESPACE_ID::int64 starting_state() const;
2821  void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
2822 
2823  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
2824  private:
2825  class HasBitSetters;
2826 
2827  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
2828  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > final_states_;
2829  mutable std::atomic<int> _final_states_cached_byte_size_;
2830  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_tail_;
2831  mutable std::atomic<int> _transition_tail_cached_byte_size_;
2832  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_head_;
2833  mutable std::atomic<int> _transition_head_cached_byte_size_;
2834  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_label_;
2835  mutable std::atomic<int> _transition_label_cached_byte_size_;
2836  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
2837  mutable std::atomic<int> _vars_cached_byte_size_;
2838  ::PROTOBUF_NAMESPACE_ID::int64 starting_state_;
2839  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2840  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2841 };
2842 // -------------------------------------------------------------------
2843 
2844 class ConstraintProto :
2845  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
2846  public:
2847  ConstraintProto();
2848  virtual ~ConstraintProto();
2849 
2850  ConstraintProto(const ConstraintProto& from);
2851  ConstraintProto(ConstraintProto&& from) noexcept
2852  : ConstraintProto() {
2853  *this = ::std::move(from);
2854  }
2855 
2856  inline ConstraintProto& operator=(const ConstraintProto& from) {
2857  CopyFrom(from);
2858  return *this;
2859  }
2860  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
2861  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
2862  if (this != &from) InternalSwap(&from);
2863  } else {
2864  CopyFrom(from);
2865  }
2866  return *this;
2867  }
2868 
2869  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2870  return GetDescriptor();
2871  }
2872  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2873  return GetMetadataStatic().descriptor;
2874  }
2875  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2876  return GetMetadataStatic().reflection;
2877  }
2879 
2880  enum ConstraintCase {
2881  kBoolOr = 3,
2882  kBoolAnd = 4,
2883  kAtMostOne = 26,
2884  kBoolXor = 5,
2885  kIntDiv = 7,
2886  kIntMod = 8,
2887  kIntMax = 9,
2888  kIntMin = 10,
2889  kIntProd = 11,
2890  kLinear = 12,
2891  kAllDiff = 13,
2892  kElement = 14,
2893  kCircuit = 15,
2894  kRoutes = 23,
2895  kCircuitCovering = 25,
2896  kTable = 16,
2897  kAutomaton = 17,
2898  kInverse = 18,
2905  };
2907  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2909  return reinterpret_cast<const ConstraintProto*>(
2911  }
2912  static constexpr int kIndexInFileMessages =
2913  17;
2915  void Swap(ConstraintProto* other);
2916  friend void swap(ConstraintProto& a, ConstraintProto& b) {
2917  a.Swap(&b);
2918  }
2920  // implements Message ----------------------------------------------
2922  inline ConstraintProto* New() const final {
2923  return CreateMaybeMessage<ConstraintProto>(nullptr);
2924  }
2925 
2926  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2927  return CreateMaybeMessage<ConstraintProto>(arena);
2928  }
2929  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2930  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2931  void CopyFrom(const ConstraintProto& from);
2932  void MergeFrom(const ConstraintProto& from);
2933  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2934  bool IsInitialized() const final;
2935 
2936  size_t ByteSizeLong() const final;
2937  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2938  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2939  #else
2941  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
2942  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
2944  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
2945  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
2946  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
2947  int GetCachedSize() const final { return _cached_size_.Get(); }
2948 
2949  private:
2950  inline void SharedCtor();
2951  inline void SharedDtor();
2952  void SetCachedSize(int size) const final;
2953  void InternalSwap(ConstraintProto* other);
2954  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2955  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2956  return "operations_research.sat.ConstraintProto";
2957  }
2958  private:
2959  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
2960  return nullptr;
2961  }
2962  inline void* MaybeArenaPtr() const {
2963  return nullptr;
2964  }
2965  public:
2966 
2967  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2968  private:
2969  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2970  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2972  }
2973 
2974  public:
2975 
2976  // nested types ----------------------------------------------------
2977 
2978  // accessors -------------------------------------------------------
2979 
2980  // repeated int32 enforcement_literal = 2;
2981  int enforcement_literal_size() const;
2983  static const int kEnforcementLiteralFieldNumber = 2;
2984  ::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const;
2985  void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2986  void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
2987  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2988  enforcement_literal() const;
2989  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2991 
2992  // string name = 1;
2993  void clear_name();
2994  static const int kNameFieldNumber = 1;
2995  const std::string& name() const;
2996  void set_name(const std::string& value);
2997  void set_name(std::string&& value);
2998  void set_name(const char* value);
2999  void set_name(const char* value, size_t size);
3000  std::string* mutable_name();
3001  std::string* release_name();
3002  void set_allocated_name(std::string* name);
3003 
3004  // .operations_research.sat.BoolArgumentProto bool_or = 3;
3005  bool has_bool_or() const;
3006  void clear_bool_or();
3007  static const int kBoolOrFieldNumber = 3;
3008  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
3013  // .operations_research.sat.BoolArgumentProto bool_and = 4;
3014  bool has_bool_and() const;
3015  void clear_bool_and();
3016  static const int kBoolAndFieldNumber = 4;
3017  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
3021 
3022  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
3023  bool has_at_most_one() const;
3024  void clear_at_most_one();
3025  static const int kAtMostOneFieldNumber = 26;
3026  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
3030 
3031  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
3032  bool has_bool_xor() const;
3033  void clear_bool_xor();
3034  static const int kBoolXorFieldNumber = 5;
3035  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
3039 
3040  // .operations_research.sat.IntegerArgumentProto int_div = 7;
3041  bool has_int_div() const;
3042  void clear_int_div();
3043  static const int kIntDivFieldNumber = 7;
3044  const ::operations_research::sat::IntegerArgumentProto& int_div() const;
3048 
3049  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
3050  bool has_int_mod() const;
3051  void clear_int_mod();
3052  static const int kIntModFieldNumber = 8;
3053  const ::operations_research::sat::IntegerArgumentProto& int_mod() const;
3057 
3058  // .operations_research.sat.IntegerArgumentProto int_max = 9;
3059  bool has_int_max() const;
3060  void clear_int_max();
3061  static const int kIntMaxFieldNumber = 9;
3062  const ::operations_research::sat::IntegerArgumentProto& int_max() const;
3066 
3067  // .operations_research.sat.IntegerArgumentProto int_min = 10;
3068  bool has_int_min() const;
3069  void clear_int_min();
3070  static const int kIntMinFieldNumber = 10;
3071  const ::operations_research::sat::IntegerArgumentProto& int_min() const;
3075 
3076  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
3077  bool has_int_prod() const;
3078  void clear_int_prod();
3079  static const int kIntProdFieldNumber = 11;
3080  const ::operations_research::sat::IntegerArgumentProto& int_prod() const;
3084 
3085  // .operations_research.sat.LinearConstraintProto linear = 12;
3086  bool has_linear() const;
3087  void clear_linear();
3088  static const int kLinearFieldNumber = 12;
3089  const ::operations_research::sat::LinearConstraintProto& linear() const;
3093 
3094  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
3095  bool has_all_diff() const;
3096  void clear_all_diff();
3097  static const int kAllDiffFieldNumber = 13;
3098  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
3102 
3103  // .operations_research.sat.ElementConstraintProto element = 14;
3104  bool has_element() const;
3105  void clear_element();
3106  static const int kElementFieldNumber = 14;
3107  const ::operations_research::sat::ElementConstraintProto& element() const;
3111 
3112  // .operations_research.sat.CircuitConstraintProto circuit = 15;
3113  bool has_circuit() const;
3114  void clear_circuit();
3115  static const int kCircuitFieldNumber = 15;
3116  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
3120 
3121  // .operations_research.sat.RoutesConstraintProto routes = 23;
3122  bool has_routes() const;
3123  void clear_routes();
3124  static const int kRoutesFieldNumber = 23;
3125  const ::operations_research::sat::RoutesConstraintProto& routes() const;
3129 
3130  // .operations_research.sat.CircuitCoveringConstraintProto circuit_covering = 25;
3131  bool has_circuit_covering() const;
3132  void clear_circuit_covering();
3133  static const int kCircuitCoveringFieldNumber = 25;
3134  const ::operations_research::sat::CircuitCoveringConstraintProto& circuit_covering() const;
3138 
3139  // .operations_research.sat.TableConstraintProto table = 16;
3140  bool has_table() const;
3141  void clear_table();
3142  static const int kTableFieldNumber = 16;
3143  const ::operations_research::sat::TableConstraintProto& table() const;
3147 
3148  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
3149  bool has_automaton() const;
3150  void clear_automaton();
3151  static const int kAutomatonFieldNumber = 17;
3152  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
3156 
3157  // .operations_research.sat.InverseConstraintProto inverse = 18;
3158  bool has_inverse() const;
3159  void clear_inverse();
3160  static const int kInverseFieldNumber = 18;
3161  const ::operations_research::sat::InverseConstraintProto& inverse() const;
3165 
3166  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
3167  bool has_reservoir() const;
3168  void clear_reservoir();
3169  static const int kReservoirFieldNumber = 24;
3170  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
3174 
3175  // .operations_research.sat.IntervalConstraintProto interval = 19;
3176  bool has_interval() const;
3177  void clear_interval();
3178  static const int kIntervalFieldNumber = 19;
3179  const ::operations_research::sat::IntervalConstraintProto& interval() const;
3183 
3184  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
3185  bool has_no_overlap() const;
3186  void clear_no_overlap();
3187  static const int kNoOverlapFieldNumber = 20;
3188  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
3192 
3193  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
3194  bool has_no_overlap_2d() const;
3195  void clear_no_overlap_2d();
3196  static const int kNoOverlap2DFieldNumber = 21;
3197  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
3201 
3202  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
3203  bool has_cumulative() const;
3204  void clear_cumulative();
3205  static const int kCumulativeFieldNumber = 22;
3206  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
3210 
3211  void clear_constraint();
3213  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
3214  private:
3215  class HasBitSetters;
3216  void set_has_bool_or();
3217  void set_has_bool_and();
3218  void set_has_at_most_one();
3219  void set_has_bool_xor();
3220  void set_has_int_div();
3221  void set_has_int_mod();
3222  void set_has_int_max();
3223  void set_has_int_min();
3224  void set_has_int_prod();
3225  void set_has_linear();
3226  void set_has_all_diff();
3227  void set_has_element();
3228  void set_has_circuit();
3229  void set_has_routes();
3230  void set_has_circuit_covering();
3231  void set_has_table();
3232  void set_has_automaton();
3233  void set_has_inverse();
3234  void set_has_reservoir();
3235  void set_has_interval();
3236  void set_has_no_overlap();
3237  void set_has_no_overlap_2d();
3238  void set_has_cumulative();
3239 
3240  inline bool has_constraint() const;
3241  inline void clear_has_constraint();
3242 
3243  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
3244  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > enforcement_literal_;
3245  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
3246  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
3247  union ConstraintUnion {
3248  ConstraintUnion() {}
3272  } constraint_;
3273  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3274  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
3275 
3276  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3277 };
3278 // -------------------------------------------------------------------
3279 
3280 class CpObjectiveProto :
3281  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
3282  public:
3283  CpObjectiveProto();
3284  virtual ~CpObjectiveProto();
3285 
3286  CpObjectiveProto(const CpObjectiveProto& from);
3287  CpObjectiveProto(CpObjectiveProto&& from) noexcept
3288  : CpObjectiveProto() {
3289  *this = ::std::move(from);
3290  }
3291 
3292  inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
3293  CopyFrom(from);
3294  return *this;
3295  }
3296  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
3297  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
3298  if (this != &from) InternalSwap(&from);
3299  } else {
3300  CopyFrom(from);
3301  }
3302  return *this;
3303  }
3304 
3305  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3306  return GetDescriptor();
3307  }
3308  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3309  return GetMetadataStatic().descriptor;
3310  }
3311  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3312  return GetMetadataStatic().reflection;
3313  }
3314  static const CpObjectiveProto& default_instance();
3316  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3317  static inline const CpObjectiveProto* internal_default_instance() {
3318  return reinterpret_cast<const CpObjectiveProto*>(
3320  }
3321  static constexpr int kIndexInFileMessages =
3322  18;
3323 
3324  void Swap(CpObjectiveProto* other);
3325  friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) {
3326  a.Swap(&b);
3327  }
3328 
3329  // implements Message ----------------------------------------------
3331  inline CpObjectiveProto* New() const final {
3332  return CreateMaybeMessage<CpObjectiveProto>(nullptr);
3333  }
3334 
3335  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3336  return CreateMaybeMessage<CpObjectiveProto>(arena);
3337  }
3338  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3339  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3340  void CopyFrom(const CpObjectiveProto& from);
3341  void MergeFrom(const CpObjectiveProto& from);
3342  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3343  bool IsInitialized() const final;
3345  size_t ByteSizeLong() const final;
3346  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3347  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3348  #else
3350  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
3351  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3353  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
3354  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
3355  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
3356  int GetCachedSize() const final { return _cached_size_.Get(); }
3357 
3358  private:
3359  inline void SharedCtor();
3360  inline void SharedDtor();
3361  void SetCachedSize(int size) const final;
3362  void InternalSwap(CpObjectiveProto* other);
3363  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3364  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3365  return "operations_research.sat.CpObjectiveProto";
3366  }
3367  private:
3368  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
3369  return nullptr;
3370  }
3371  inline void* MaybeArenaPtr() const {
3372  return nullptr;
3373  }
3374  public:
3376  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3377  private:
3378  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3379  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3381  }
3383  public:
3384 
3385  // nested types ----------------------------------------------------
3386 
3387  // accessors -------------------------------------------------------
3388 
3389  // repeated int32 vars = 1;
3390  int vars_size() const;
3391  void clear_vars();
3392  static const int kVarsFieldNumber = 1;
3393  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3394  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3395  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3396  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3397  vars() const;
3398  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3399  mutable_vars();
3400 
3401  // repeated int64 coeffs = 4;
3402  int coeffs_size() const;
3403  void clear_coeffs();
3404  static const int kCoeffsFieldNumber = 4;
3405  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
3406  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3407  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
3408  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3409  coeffs() const;
3410  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3412 
3413  // repeated int64 domain = 5;
3414  int domain_size() const;
3415  void clear_domain();
3416  static const int kDomainFieldNumber = 5;
3417  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
3418  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3419  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
3420  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3421  domain() const;
3422  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3424 
3425  // double offset = 2;
3426  void clear_offset();
3427  static const int kOffsetFieldNumber = 2;
3428  double offset() const;
3429  void set_offset(double value);
3430 
3431  // double scaling_factor = 3;
3432  void clear_scaling_factor();
3433  static const int kScalingFactorFieldNumber = 3;
3434  double scaling_factor() const;
3435  void set_scaling_factor(double value);
3436 
3437  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
3438  private:
3439  class HasBitSetters;
3440 
3441  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
3442  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3443  mutable std::atomic<int> _vars_cached_byte_size_;
3444  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
3445  mutable std::atomic<int> _coeffs_cached_byte_size_;
3446  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
3447  mutable std::atomic<int> _domain_cached_byte_size_;
3448  double offset_;
3449  double scaling_factor_;
3450  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3451  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3452 };
3453 // -------------------------------------------------------------------
3454 
3456  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
3457  public:
3460 
3464  *this = ::std::move(from);
3465  }
3466 
3468  CopyFrom(from);
3469  return *this;
3470  }
3472  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
3473  if (this != &from) InternalSwap(&from);
3474  } else {
3475  CopyFrom(from);
3476  }
3477  return *this;
3478  }
3479 
3480  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3481  return GetDescriptor();
3482  }
3483  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3484  return GetMetadataStatic().descriptor;
3485  }
3486  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3487  return GetMetadataStatic().reflection;
3488  }
3490 
3491  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3493  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
3495  }
3496  static constexpr int kIndexInFileMessages =
3497  19;
3498 
3501  a.Swap(&b);
3502  }
3504  // implements Message ----------------------------------------------
3505 
3507  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(nullptr);
3508  }
3509 
3510  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3511  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
3512  }
3513  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3514  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3517  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3518  bool IsInitialized() const final;
3519 
3520  size_t ByteSizeLong() const final;
3521  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3522  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3523  #else
3525  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
3526  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3528  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
3529  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
3530  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
3531  int GetCachedSize() const final { return _cached_size_.Get(); }
3532 
3533  private:
3534  inline void SharedCtor();
3535  inline void SharedDtor();
3536  void SetCachedSize(int size) const final;
3537  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
3538  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3539  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3540  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
3541  }
3542  private:
3543  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
3544  return nullptr;
3545  }
3546  inline void* MaybeArenaPtr() const {
3547  return nullptr;
3548  }
3549  public:
3550 
3551  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3552  private:
3553  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3554  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3556  }
3557 
3558  public:
3559 
3560  // nested types ----------------------------------------------------
3561 
3562  // accessors -------------------------------------------------------
3563 
3564  // int64 offset = 2;
3565  void clear_offset();
3566  static const int kOffsetFieldNumber = 2;
3567  ::PROTOBUF_NAMESPACE_ID::int64 offset() const;
3568  void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
3569 
3570  // int64 positive_coeff = 3;
3571  void clear_positive_coeff();
3572  static const int kPositiveCoeffFieldNumber = 3;
3573  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const;
3574  void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
3575 
3576  // int32 var = 1;
3577  void clear_var();
3578  static const int kVarFieldNumber = 1;
3579  ::PROTOBUF_NAMESPACE_ID::int32 var() const;
3580  void set_var(::PROTOBUF_NAMESPACE_ID::int32 value);
3581 
3582  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
3583  private:
3584  class HasBitSetters;
3585 
3586  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
3587  ::PROTOBUF_NAMESPACE_ID::int64 offset_;
3588  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff_;
3589  ::PROTOBUF_NAMESPACE_ID::int32 var_;
3590  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3591  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3592 };
3593 // -------------------------------------------------------------------
3594 
3595 class DecisionStrategyProto :
3596  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
3597  public:
3599  virtual ~DecisionStrategyProto();
3600 
3603  : DecisionStrategyProto() {
3604  *this = ::std::move(from);
3605  }
3606 
3608  CopyFrom(from);
3609  return *this;
3610  }
3612  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
3613  if (this != &from) InternalSwap(&from);
3614  } else {
3615  CopyFrom(from);
3616  }
3617  return *this;
3618  }
3619 
3620  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3621  return GetDescriptor();
3622  }
3623  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3624  return GetMetadataStatic().descriptor;
3625  }
3626  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3627  return GetMetadataStatic().reflection;
3628  }
3629  static const DecisionStrategyProto& default_instance();
3630 
3631  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3633  return reinterpret_cast<const DecisionStrategyProto*>(
3635  }
3636  static constexpr int kIndexInFileMessages =
3637  20;
3638 
3639  void Swap(DecisionStrategyProto* other);
3640  friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) {
3641  a.Swap(&b);
3642  }
3643 
3644  // implements Message ----------------------------------------------
3645 
3646  inline DecisionStrategyProto* New() const final {
3647  return CreateMaybeMessage<DecisionStrategyProto>(nullptr);
3648  }
3649 
3650  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3651  return CreateMaybeMessage<DecisionStrategyProto>(arena);
3652  }
3653  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3654  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3655  void CopyFrom(const DecisionStrategyProto& from);
3656  void MergeFrom(const DecisionStrategyProto& from);
3657  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3658  bool IsInitialized() const final;
3659 
3660  size_t ByteSizeLong() const final;
3661  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3662  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3663  #else
3665  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
3666  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3668  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
3669  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
3670  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
3671  int GetCachedSize() const final { return _cached_size_.Get(); }
3672 
3673  private:
3674  inline void SharedCtor();
3675  inline void SharedDtor();
3676  void SetCachedSize(int size) const final;
3677  void InternalSwap(DecisionStrategyProto* other);
3678  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3679  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3680  return "operations_research.sat.DecisionStrategyProto";
3681  }
3682  private:
3683  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
3684  return nullptr;
3685  }
3686  inline void* MaybeArenaPtr() const {
3687  return nullptr;
3688  }
3689  public:
3690 
3691  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3692  private:
3693  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3694  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3696  }
3697 
3698  public:
3700  // nested types ----------------------------------------------------
3701 
3703 
3705  static constexpr VariableSelectionStrategy CHOOSE_FIRST =
3707  static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN =
3715  static inline bool VariableSelectionStrategy_IsValid(int value) {
3717  }
3722  static constexpr int VariableSelectionStrategy_ARRAYSIZE =
3724  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
3727  }
3728  template<typename T>
3729  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
3730  static_assert(::std::is_same<T, VariableSelectionStrategy>::value ||
3731  ::std::is_integral<T>::value,
3732  "Incorrect type passed to function VariableSelectionStrategy_Name.");
3734  }
3735  static inline bool VariableSelectionStrategy_Parse(const std::string& name,
3738  }
3745  static constexpr DomainReductionStrategy SELECT_LOWER_HALF =
3747  static constexpr DomainReductionStrategy SELECT_UPPER_HALF =
3749  static inline bool DomainReductionStrategy_IsValid(int value) {
3751  }
3756  static constexpr int DomainReductionStrategy_ARRAYSIZE =
3758  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
3761  }
3762  template<typename T>
3763  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
3764  static_assert(::std::is_same<T, DomainReductionStrategy>::value ||
3765  ::std::is_integral<T>::value,
3766  "Incorrect type passed to function DomainReductionStrategy_Name.");
3768  }
3769  static inline bool DomainReductionStrategy_Parse(const std::string& name,
3772  }
3774  // accessors -------------------------------------------------------
3776  // repeated int32 variables = 1;
3777  int variables_size() const;
3778  void clear_variables();
3779  static const int kVariablesFieldNumber = 1;
3780  ::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const;
3781  void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3782  void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
3783  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3784  variables() const;
3785  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3787 
3788  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
3789  int transformations_size() const;
3791  static const int kTransformationsFieldNumber = 4;
3793  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
3795  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
3797  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
3798  transformations() const;
3799 
3800  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
3802  static const int kVariableSelectionStrategyFieldNumber = 2;
3805 
3806  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
3808  static const int kDomainReductionStrategyFieldNumber = 3;
3811 
3812  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
3813  private:
3814  class HasBitSetters;
3815 
3816  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
3817  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > variables_;
3818  mutable std::atomic<int> _variables_cached_byte_size_;
3819  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
3820  int variable_selection_strategy_;
3821  int domain_reduction_strategy_;
3822  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3823  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3824 };
3825 // -------------------------------------------------------------------
3826 
3828  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
3829  public:
3831  virtual ~PartialVariableAssignment();
3832 
3836  *this = ::std::move(from);
3837  }
3838 
3840  CopyFrom(from);
3841  return *this;
3842  }
3844  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
3845  if (this != &from) InternalSwap(&from);
3846  } else {
3847  CopyFrom(from);
3848  }
3849  return *this;
3850  }
3851 
3852  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3853  return GetDescriptor();
3854  }
3855  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3856  return GetMetadataStatic().descriptor;
3857  }
3858  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3859  return GetMetadataStatic().reflection;
3860  }
3862 
3863  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3864  static inline const PartialVariableAssignment* internal_default_instance() {
3865  return reinterpret_cast<const PartialVariableAssignment*>(
3867  }
3868  static constexpr int kIndexInFileMessages =
3869  21;
3870 
3871  void Swap(PartialVariableAssignment* other);
3873  a.Swap(&b);
3874  }
3875 
3876  // implements Message ----------------------------------------------
3878  inline PartialVariableAssignment* New() const final {
3879  return CreateMaybeMessage<PartialVariableAssignment>(nullptr);
3880  }
3881 
3882  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3883  return CreateMaybeMessage<PartialVariableAssignment>(arena);
3884  }
3885  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3886  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3887  void CopyFrom(const PartialVariableAssignment& from);
3888  void MergeFrom(const PartialVariableAssignment& from);
3889  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3890  bool IsInitialized() const final;
3891 
3892  size_t ByteSizeLong() const final;
3893  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3894  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3895  #else
3897  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
3898  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
3900  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
3901  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
3902  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
3903  int GetCachedSize() const final { return _cached_size_.Get(); }
3905  private:
3906  inline void SharedCtor();
3907  inline void SharedDtor();
3908  void SetCachedSize(int size) const final;
3909  void InternalSwap(PartialVariableAssignment* other);
3910  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3911  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3912  return "operations_research.sat.PartialVariableAssignment";
3913  }
3914  private:
3915  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
3916  return nullptr;
3917  }
3918  inline void* MaybeArenaPtr() const {
3919  return nullptr;
3920  }
3921  public:
3922 
3923  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3924  private:
3925  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3926  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3928  }
3929 
3930  public:
3931 
3932  // nested types ----------------------------------------------------
3933 
3934  // accessors -------------------------------------------------------
3935 
3936  // repeated int32 vars = 1;
3937  int vars_size() const;
3938  void clear_vars();
3939  static const int kVarsFieldNumber = 1;
3940  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3941  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3942  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3943  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3944  vars() const;
3945  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3946  mutable_vars();
3947 
3948  // repeated int64 values = 2;
3949  int values_size() const;
3950  void clear_values();
3951  static const int kValuesFieldNumber = 2;
3952  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
3953  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3954  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3955  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3956  values() const;
3957  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3958  mutable_values();
3959 
3960  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
3961  private:
3962  class HasBitSetters;
3963 
3964  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
3965  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3966  mutable std::atomic<int> _vars_cached_byte_size_;
3967  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
3968  mutable std::atomic<int> _values_cached_byte_size_;
3969  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3970  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3971 };
3972 // -------------------------------------------------------------------
3974 class CpModelProto :
3975  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
3976  public:
3977  CpModelProto();
3978  virtual ~CpModelProto();
3979 
3980  CpModelProto(const CpModelProto& from);
3981  CpModelProto(CpModelProto&& from) noexcept
3982  : CpModelProto() {
3983  *this = ::std::move(from);
3984  }
3985 
3986  inline CpModelProto& operator=(const CpModelProto& from) {
3987  CopyFrom(from);
3988  return *this;
3989  }
3990  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
3991  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
3992  if (this != &from) InternalSwap(&from);
3993  } else {
3994  CopyFrom(from);
3995  }
3996  return *this;
3997  }
3998 
3999  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4000  return GetDescriptor();
4001  }
4002  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4003  return GetMetadataStatic().descriptor;
4004  }
4005  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4006  return GetMetadataStatic().reflection;
4007  }
4008  static const CpModelProto& default_instance();
4010  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4011  static inline const CpModelProto* internal_default_instance() {
4012  return reinterpret_cast<const CpModelProto*>(
4014  }
4015  static constexpr int kIndexInFileMessages =
4016  22;
4017 
4018  void Swap(CpModelProto* other);
4019  friend void swap(CpModelProto& a, CpModelProto& b) {
4020  a.Swap(&b);
4021  }
4023  // implements Message ----------------------------------------------
4024 
4025  inline CpModelProto* New() const final {
4026  return CreateMaybeMessage<CpModelProto>(nullptr);
4027  }
4029  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4030  return CreateMaybeMessage<CpModelProto>(arena);
4031  }
4032  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4033  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4034  void CopyFrom(const CpModelProto& from);
4035  void MergeFrom(const CpModelProto& from);
4036  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4037  bool IsInitialized() const final;
4039  size_t ByteSizeLong() const final;
4040  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
4041  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4042  #else
4044  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
4045  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
4047  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
4048  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
4049  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
4050  int GetCachedSize() const final { return _cached_size_.Get(); }
4051 
4052  private:
4053  inline void SharedCtor();
4054  inline void SharedDtor();
4055  void SetCachedSize(int size) const final;
4056  void InternalSwap(CpModelProto* other);
4057  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4058  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4059  return "operations_research.sat.CpModelProto";
4060  }
4061  private:
4062  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
4063  return nullptr;
4064  }
4065  inline void* MaybeArenaPtr() const {
4066  return nullptr;
4067  }
4068  public:
4069 
4070  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4071  private:
4072  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4073  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4075  }
4076 
4077  public:
4078 
4079  // nested types ----------------------------------------------------
4081  // accessors -------------------------------------------------------
4082 
4083  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
4084  int variables_size() const;
4085  void clear_variables();
4086  static const int kVariablesFieldNumber = 2;
4088  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
4090  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
4092  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
4093  variables() const;
4094 
4095  // repeated .operations_research.sat.ConstraintProto constraints = 3;
4096  int constraints_size() const;
4097  void clear_constraints();
4098  static const int kConstraintsFieldNumber = 3;
4100  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
4102  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
4104  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
4105  constraints() const;
4106 
4107  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
4108  int search_strategy_size() const;
4110  static const int kSearchStrategyFieldNumber = 5;
4112  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
4114  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
4116  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
4117  search_strategy() const;
4118 
4119  // string name = 1;
4120  void clear_name();
4121  static const int kNameFieldNumber = 1;
4122  const std::string& name() const;
4123  void set_name(const std::string& value);
4124  void set_name(std::string&& value);
4125  void set_name(const char* value);
4126  void set_name(const char* value, size_t size);
4127  std::string* mutable_name();
4128  std::string* release_name();
4129  void set_allocated_name(std::string* name);
4130 
4131  // .operations_research.sat.CpObjectiveProto objective = 4;
4132  bool has_objective() const;
4134  static const int kObjectiveFieldNumber = 4;
4135  const ::operations_research::sat::CpObjectiveProto& objective() const;
4139 
4140  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
4141  bool has_solution_hint() const;
4142  void clear_solution_hint();
4143  static const int kSolutionHintFieldNumber = 6;
4144  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
4148 
4149  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
4150  private:
4151  class HasBitSetters;
4152 
4153  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
4154  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
4155  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
4156  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
4157  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4160  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4161  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4162 };
4163 // -------------------------------------------------------------------
4164 
4165 class CpSolverResponse :
4166  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
4167  public:
4168  CpSolverResponse();
4169  virtual ~CpSolverResponse();
4170 
4171  CpSolverResponse(const CpSolverResponse& from);
4172  CpSolverResponse(CpSolverResponse&& from) noexcept
4173  : CpSolverResponse() {
4174  *this = ::std::move(from);
4175  }
4176 
4177  inline CpSolverResponse& operator=(const CpSolverResponse& from) {
4178  CopyFrom(from);
4179  return *this;
4180  }
4181  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
4182  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
4183  if (this != &from) InternalSwap(&from);
4184  } else {
4185  CopyFrom(from);
4186  }
4187  return *this;
4188  }
4190  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4191  return GetDescriptor();
4192  }
4193  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4194  return GetMetadataStatic().descriptor;
4195  }
4196  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4197  return GetMetadataStatic().reflection;
4198  }
4199  static const CpSolverResponse& default_instance();
4200 
4201  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4202  static inline const CpSolverResponse* internal_default_instance() {
4203  return reinterpret_cast<const CpSolverResponse*>(
4205  }
4206  static constexpr int kIndexInFileMessages =
4207  23;
4208 
4209  void Swap(CpSolverResponse* other);
4210  friend void swap(CpSolverResponse& a, CpSolverResponse& b) {
4211  a.Swap(&b);
4212  }
4213 
4214  // implements Message ----------------------------------------------
4215 
4216  inline CpSolverResponse* New() const final {
4217  return CreateMaybeMessage<CpSolverResponse>(nullptr);
4218  }
4219 
4220  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4221  return CreateMaybeMessage<CpSolverResponse>(arena);
4222  }
4223  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4224  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4225  void CopyFrom(const CpSolverResponse& from);
4226  void MergeFrom(const CpSolverResponse& from);
4227  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4228  bool IsInitialized() const final;
4229 
4230  size_t ByteSizeLong() const final;
4231  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
4232  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4233  #else
4235  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
4236  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
4238  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
4239  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
4240  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
4241  int GetCachedSize() const final { return _cached_size_.Get(); }
4242 
4243  private:
4244  inline void SharedCtor();
4245  inline void SharedDtor();
4246  void SetCachedSize(int size) const final;
4247  void InternalSwap(CpSolverResponse* other);
4248  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4249  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4250  return "operations_research.sat.CpSolverResponse";
4251  }
4252  private:
4253  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
4254  return nullptr;
4255  }
4256  inline void* MaybeArenaPtr() const {
4257  return nullptr;
4258  }
4259  public:
4260 
4261  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4262  private:
4263  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4264  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4266  }
4267 
4268  public:
4269 
4270  // nested types ----------------------------------------------------
4271 
4272  // accessors -------------------------------------------------------
4273 
4274  // repeated int64 solution = 2;
4275  int solution_size() const;
4276  void clear_solution();
4277  static const int kSolutionFieldNumber = 2;
4278  ::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const;
4279  void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4280  void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
4281  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4282  solution() const;
4283  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4284  mutable_solution();
4285 
4286  // repeated int64 solution_lower_bounds = 18;
4287  int solution_lower_bounds_size() const;
4289  static const int kSolutionLowerBoundsFieldNumber = 18;
4290  ::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const;
4291  void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4292  void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
4293  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4294  solution_lower_bounds() const;
4295  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4297 
4298  // repeated int64 solution_upper_bounds = 19;
4299  int solution_upper_bounds_size() const;
4301  static const int kSolutionUpperBoundsFieldNumber = 19;
4302  ::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const;
4303  void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4304  void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
4305  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4306  solution_upper_bounds() const;
4307  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4309 
4310  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
4311  int tightened_variables_size() const;
4313  static const int kTightenedVariablesFieldNumber = 21;
4315  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
4317  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
4319  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
4320  tightened_variables() const;
4321 
4322  // string solution_info = 20;
4323  void clear_solution_info();
4324  static const int kSolutionInfoFieldNumber = 20;
4325  const std::string& solution_info() const;
4326  void set_solution_info(const std::string& value);
4327  void set_solution_info(std::string&& value);
4328  void set_solution_info(const char* value);
4329  void set_solution_info(const char* value, size_t size);
4330  std::string* mutable_solution_info();
4331  std::string* release_solution_info();
4332  void set_allocated_solution_info(std::string* solution_info);
4333 
4334  // double objective_value = 3;
4335  void clear_objective_value();
4336  static const int kObjectiveValueFieldNumber = 3;
4337  double objective_value() const;
4338  void set_objective_value(double value);
4339 
4340  // .operations_research.sat.CpSolverStatus status = 1;
4341  void clear_status();
4342  static const int kStatusFieldNumber = 1;
4345 
4346  // bool all_solutions_were_found = 5;
4349  bool all_solutions_were_found() const;
4350  void set_all_solutions_were_found(bool value);
4351 
4352  // double best_objective_bound = 4;
4354  static const int kBestObjectiveBoundFieldNumber = 4;
4355  double best_objective_bound() const;
4356  void set_best_objective_bound(double value);
4357 
4358  // int64 num_booleans = 10;
4359  void clear_num_booleans();
4360  static const int kNumBooleansFieldNumber = 10;
4361  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const;
4362  void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
4363 
4364  // int64 num_conflicts = 11;
4365  void clear_num_conflicts();
4366  static const int kNumConflictsFieldNumber = 11;
4367  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const;
4368  void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
4369 
4370  // int64 num_branches = 12;
4371  void clear_num_branches();
4372  static const int kNumBranchesFieldNumber = 12;
4373  ::PROTOBUF_NAMESPACE_ID::int64 num_branches() const;
4374  void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
4375 
4376  // int64 num_binary_propagations = 13;
4378  static const int kNumBinaryPropagationsFieldNumber = 13;
4379  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const;
4380  void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
4381 
4382  // int64 num_integer_propagations = 14;
4384  static const int kNumIntegerPropagationsFieldNumber = 14;
4385  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const;
4386  void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
4387 
4388  // double wall_time = 15;
4389  void clear_wall_time();
4390  static const int kWallTimeFieldNumber = 15;
4391  double wall_time() const;
4392  void set_wall_time(double value);
4393 
4394  // double user_time = 16;
4395  void clear_user_time();
4396  static const int kUserTimeFieldNumber = 16;
4397  double user_time() const;
4398  void set_user_time(double value);
4399 
4400  // double deterministic_time = 17;
4401  void clear_deterministic_time();
4402  static const int kDeterministicTimeFieldNumber = 17;
4403  double deterministic_time() const;
4404  void set_deterministic_time(double value);
4405 
4406  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
4407  private:
4408  class HasBitSetters;
4409 
4410  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
4411  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_;
4412  mutable std::atomic<int> _solution_cached_byte_size_;
4413  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_lower_bounds_;
4414  mutable std::atomic<int> _solution_lower_bounds_cached_byte_size_;
4415  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_upper_bounds_;
4416  mutable std::atomic<int> _solution_upper_bounds_cached_byte_size_;
4417  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
4418  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
4419  double objective_value_;
4420  int status_;
4421  bool all_solutions_were_found_;
4422  double best_objective_bound_;
4423  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans_;
4424  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts_;
4425  ::PROTOBUF_NAMESPACE_ID::int64 num_branches_;
4426  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations_;
4427  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations_;
4428  double wall_time_;
4429  double user_time_;
4430  double deterministic_time_;
4431  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4432  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4433 };
4434 // ===================================================================
4435 
4436 
4437 // ===================================================================
4438 
4439 #ifdef __GNUC__
4440  #pragma GCC diagnostic push
4441  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
4442 #endif // __GNUC__
4443 // IntegerVariableProto
4444 
4445 // string name = 1;
4446 inline void IntegerVariableProto::clear_name() {
4447  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
4448 }
4449 inline const std::string& IntegerVariableProto::name() const {
4450  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
4451  return name_.GetNoArena();
4452 }
4453 inline void IntegerVariableProto::set_name(const std::string& value) {
4454 
4455  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
4456  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
4457 }
4458 inline void IntegerVariableProto::set_name(std::string&& value) {
4459 
4460  name_.SetNoArena(
4461  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
4462  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.IntegerVariableProto.name)
4463 }
4464 inline void IntegerVariableProto::set_name(const char* value) {
4465  GOOGLE_DCHECK(value != nullptr);
4466 
4467  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
4468  // @@protoc_insertion_point(field_set_char:operations_research.sat.IntegerVariableProto.name)
4469 }
4470 inline void IntegerVariableProto::set_name(const char* value, size_t size) {
4471 
4472  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
4473  ::std::string(reinterpret_cast<const char*>(value), size));
4474  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.IntegerVariableProto.name)
4476 inline std::string* IntegerVariableProto::mutable_name() {
4477 
4478  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
4479  return name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
4480 }
4481 inline std::string* IntegerVariableProto::release_name() {
4482  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
4483 
4484  return name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
4485 }
4486 inline void IntegerVariableProto::set_allocated_name(std::string* name) {
4487  if (name != nullptr) {
4488 
4489  } else {
4491  }
4492  name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name);
4493  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
4494 }
4495 
4496 // repeated int64 domain = 2;
4497 inline int IntegerVariableProto::domain_size() const {
4498  return domain_.size();
4499 }
4500 inline void IntegerVariableProto::clear_domain() {
4501  domain_.Clear();
4503 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::domain(int index) const {
4504  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
4505  return domain_.Get(index);
4506 }
4507 inline void IntegerVariableProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
4508  domain_.Set(index, value);
4509  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
4510 }
4511 inline void IntegerVariableProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
4512  domain_.Add(value);
4513  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
4514 }
4515 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4517  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
4518  return domain_;
4519 }
4520 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4522  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
4523  return &domain_;
4524 }
4525 
4526 // -------------------------------------------------------------------
4527 
4528 // BoolArgumentProto
4530 // repeated int32 literals = 1;
4531 inline int BoolArgumentProto::literals_size() const {
4532  return literals_.size();
4534 inline void BoolArgumentProto::clear_literals() {
4535  literals_.Clear();
4536 }
4537 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::literals(int index) const {
4538  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
4539  return literals_.Get(index);
4540 }
4541 inline void BoolArgumentProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4542  literals_.Set(index, value);
4543  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
4544 }
4545 inline void BoolArgumentProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
4546  literals_.Add(value);
4547  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
4548 }
4549 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4551  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
4552  return literals_;
4553 }
4554 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4556  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
4557  return &literals_;
4559 
4560 // -------------------------------------------------------------------
4562 // IntegerArgumentProto
4563 
4564 // int32 target = 1;
4565 inline void IntegerArgumentProto::clear_target() {
4566  target_ = 0;
4567 }
4568 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::target() const {
4569  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.target)
4570  return target_;
4571 }
4572 inline void IntegerArgumentProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
4573 
4574  target_ = value;
4575  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.target)
4576 }
4578 // repeated int32 vars = 2;
4579 inline int IntegerArgumentProto::vars_size() const {
4580  return vars_.size();
4581 }
4583  vars_.Clear();
4584 }
4585 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::vars(int index) const {
4586  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.vars)
4587  return vars_.Get(index);
4588 }
4589 inline void IntegerArgumentProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4590  vars_.Set(index, value);
4591  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.vars)
4592 }
4593 inline void IntegerArgumentProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
4594  vars_.Add(value);
4595  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerArgumentProto.vars)
4597 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4599  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerArgumentProto.vars)
4600  return vars_;
4601 }
4602 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4604  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerArgumentProto.vars)
4605  return &vars_;
4606 }
4608 // -------------------------------------------------------------------
4609 
4610 // AllDifferentConstraintProto
4611 
4612 // repeated int32 vars = 1;
4614  return vars_.size();
4615 }
4617  vars_.Clear();
4618 }
4619 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::vars(int index) const {
4620  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.vars)
4621  return vars_.Get(index);
4622 }
4623 inline void AllDifferentConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4624  vars_.Set(index, value);
4625  // @@protoc_insertion_point(field_set:operations_research.sat.AllDifferentConstraintProto.vars)
4627 inline void AllDifferentConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
4628  vars_.Add(value);
4629  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.vars)
4630 }
4631 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4633  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.vars)
4634  return vars_;
4635 }
4636 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4638  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.vars)
4639  return &vars_;
4640 }
4641 
4642 // -------------------------------------------------------------------
4643 
4644 // LinearConstraintProto
4646 // repeated int32 vars = 1;
4647 inline int LinearConstraintProto::vars_size() const {
4648  return vars_.size();
4649 }
4650 inline void LinearConstraintProto::clear_vars() {
4651  vars_.Clear();
4653 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::vars(int index) const {
4654  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
4655  return vars_.Get(index);
4657 inline void LinearConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4658  vars_.Set(index, value);
4659  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
4660 }
4661 inline void LinearConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
4662  vars_.Add(value);
4663  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
4664 }
4665 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4667  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
4668  return vars_;
4669 }
4670 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4672  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
4673  return &vars_;
4674 }
4675 
4676 // repeated int64 coeffs = 2;
4678  return coeffs_.size();
4679 }
4681  coeffs_.Clear();
4682 }
4683 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::coeffs(int index) const {
4684  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
4685  return coeffs_.Get(index);
4686 }
4687 inline void LinearConstraintProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
4688  coeffs_.Set(index, value);
4689  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
4690 }
4691 inline void LinearConstraintProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
4692  coeffs_.Add(value);
4693  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
4694 }
4695 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4697  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
4698  return coeffs_;
4699 }
4700 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4702  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
4703  return &coeffs_;
4704 }
4705 
4706 // repeated int64 domain = 3;
4708  return domain_.size();
4709 }
4711  domain_.Clear();
4712 }
4713 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::domain(int index) const {
4714  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
4715  return domain_.Get(index);
4716 }
4717 inline void LinearConstraintProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
4718  domain_.Set(index, value);
4719  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
4720 }
4721 inline void LinearConstraintProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
4722  domain_.Add(value);
4723  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
4724 }
4725 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4727  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
4728  return domain_;
4729 }
4730 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4732  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
4733  return &domain_;
4734 }
4735 
4736 // -------------------------------------------------------------------
4738 // ElementConstraintProto
4739 
4740 // int32 index = 1;
4742  index_ = 0;
4744 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::index() const {
4745  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
4746  return index_;
4748 inline void ElementConstraintProto::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
4749 
4750  index_ = value;
4751  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
4752 }
4753 
4754 // int32 target = 2;
4756  target_ = 0;
4757 }
4758 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::target() const {
4759  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
4760  return target_;
4762 inline void ElementConstraintProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
4763 
4764  target_ = value;
4765  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
4766 }
4767 
4768 // repeated int32 vars = 3;
4769 inline int ElementConstraintProto::vars_size() const {
4770  return vars_.size();
4771 }
4773  vars_.Clear();
4774 }
4775 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::vars(int index) const {
4776  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
4777  return vars_.Get(index);
4778 }
4779 inline void ElementConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4780  vars_.Set(index, value);
4781  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
4782 }
4783 inline void ElementConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
4784  vars_.Add(value);
4785  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
4787 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4789  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
4790  return vars_;
4791 }
4792 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4794  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
4795  return &vars_;
4796 }
4797 
4798 // -------------------------------------------------------------------
4799 
4800 // IntervalConstraintProto
4801 
4802 // int32 start = 1;
4804  start_ = 0;
4805 }
4806 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::start() const {
4807  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
4808  return start_;
4809 }
4810 inline void IntervalConstraintProto::set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
4811 
4812  start_ = value;
4813  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.start)
4815 
4816 // int32 end = 2;
4817 inline void IntervalConstraintProto::clear_end() {
4818  end_ = 0;
4820 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::end() const {
4821  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
4822  return end_;
4823 }
4824 inline void IntervalConstraintProto::set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
4825 
4826  end_ = value;
4827  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.end)
4828 }
4829 
4830 // int32 size = 3;
4832  size_ = 0;
4833 }
4834 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::size() const {
4835  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
4836  return size_;
4837 }
4838 inline void IntervalConstraintProto::set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
4839 
4840  size_ = value;
4841  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.size)
4843 
4844 // -------------------------------------------------------------------
4845 
4846 // NoOverlapConstraintProto
4847 
4848 // repeated int32 intervals = 1;
4850  return intervals_.size();
4851 }
4853  intervals_.Clear();
4854 }
4855 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::intervals(int index) const {
4856  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
4857  return intervals_.Get(index);
4858 }
4859 inline void NoOverlapConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4860  intervals_.Set(index, value);
4861  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
4862 }
4863 inline void NoOverlapConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
4864  intervals_.Add(value);
4865  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
4867 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4869  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
4870  return intervals_;
4871 }
4872 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4874  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
4875  return &intervals_;
4876 }
4877 
4878 // -------------------------------------------------------------------
4879 
4880 // NoOverlap2DConstraintProto
4881 
4882 // repeated int32 x_intervals = 1;
4884  return x_intervals_.size();
4887  x_intervals_.Clear();
4889 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::x_intervals(int index) const {
4890  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
4891  return x_intervals_.Get(index);
4893 inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4894  x_intervals_.Set(index, value);
4895  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
4897 inline void NoOverlap2DConstraintProto::add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
4898  x_intervals_.Add(value);
4899  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
4900 }
4901 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4903  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
4904  return x_intervals_;
4905 }
4906 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4908  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
4909  return &x_intervals_;
4910 }
4911 
4912 // repeated int32 y_intervals = 2;
4914  return y_intervals_.size();
4915 }
4917  y_intervals_.Clear();
4918 }
4919 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::y_intervals(int index) const {
4920  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
4921  return y_intervals_.Get(index);
4922 }
4923 inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4924  y_intervals_.Set(index, value);
4925  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
4926 }
4927 inline void NoOverlap2DConstraintProto::add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
4928  y_intervals_.Add(value);
4929  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
4930 }
4931 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4933  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
4934  return y_intervals_;
4935 }
4936 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4938  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
4939  return &y_intervals_;
4940 }
4942 // -------------------------------------------------------------------
4943 
4944 // CumulativeConstraintProto
4945 
4946 // int32 capacity = 1;
4948  capacity_ = 0;
4949 }
4950 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::capacity() const {
4951  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
4952  return capacity_;
4954 inline void CumulativeConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
4955 
4956  capacity_ = value;
4957  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.capacity)
4958 }
4959 
4960 // repeated int32 intervals = 2;
4962  return intervals_.size();
4963 }
4965  intervals_.Clear();
4967 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::intervals(int index) const {
4968  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
4969  return intervals_.Get(index);
4970 }
4971 inline void CumulativeConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
4972  intervals_.Set(index, value);
4973  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
4974 }
4975 inline void CumulativeConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
4976  intervals_.Add(value);
4977  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
4978 }
4979 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4981  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
4982  return intervals_;
4983 }
4984 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4986  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
4987  return &intervals_;
4988 }
4990 // repeated int32 demands = 3;
4991 inline int CumulativeConstraintProto::demands_size() const {
4992  return demands_.size();
4993 }
4995  demands_.Clear();
4997 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::demands(int index) const {
4998  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
4999  return demands_.Get(index);
5000 }
5001 inline void CumulativeConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5002  demands_.Set(index, value);
5003  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.demands)
5004 }
5005 inline void CumulativeConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
5006  demands_.Add(value);
5007  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
5008 }
5009 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5011  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
5012  return demands_;
5013 }
5014 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5016  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
5017  return &demands_;
5018 }
5019 
5020 // -------------------------------------------------------------------
5021 
5022 // ReservoirConstraintProto
5023 
5024 // int64 min_level = 1;
5026  min_level_ = PROTOBUF_LONGLONG(0);
5027 }
5028 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::min_level() const {
5029  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
5030  return min_level_;
5031 }
5032 inline void ReservoirConstraintProto::set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
5033 
5034  min_level_ = value;
5035  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
5037 
5038 // int64 max_level = 2;
5040  max_level_ = PROTOBUF_LONGLONG(0);
5041 }
5042 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::max_level() const {
5043  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
5044  return max_level_;
5046 inline void ReservoirConstraintProto::set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
5047 
5048  max_level_ = value;
5049  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
5051 
5052 // repeated int32 times = 3;
5053 inline int ReservoirConstraintProto::times_size() const {
5054  return times_.size();
5055 }
5057  times_.Clear();
5058 }
5059 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::times(int index) const {
5060  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.times)
5061  return times_.Get(index);
5062 }
5063 inline void ReservoirConstraintProto::set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5064  times_.Set(index, value);
5065  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.times)
5066 }
5067 inline void ReservoirConstraintProto::add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
5068  times_.Add(value);
5069  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.times)
5070 }
5071 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5073  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.times)
5074  return times_;
5076 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5078  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.times)
5079  return &times_;
5080 }
5081 
5082 // repeated int64 demands = 4;
5083 inline int ReservoirConstraintProto::demands_size() const {
5084  return demands_.size();
5085 }
5087  demands_.Clear();
5088 }
5089 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::demands(int index) const {
5090  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.demands)
5091  return demands_.Get(index);
5093 inline void ReservoirConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5094  demands_.Set(index, value);
5095  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.demands)
5096 }
5097 inline void ReservoirConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
5098  demands_.Add(value);
5099  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.demands)
5100 }
5101 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5103  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.demands)
5104  return demands_;
5105 }
5106 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5108  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.demands)
5109  return &demands_;
5110 }
5111 
5112 // repeated int32 actives = 5;
5114  return actives_.size();
5115 }
5117  actives_.Clear();
5118 }
5119 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::actives(int index) const {
5120  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.actives)
5121  return actives_.Get(index);
5123 inline void ReservoirConstraintProto::set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5124  actives_.Set(index, value);
5125  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.actives)
5126 }
5127 inline void ReservoirConstraintProto::add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
5128  actives_.Add(value);
5129  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.actives)
5130 }
5131 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5133  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.actives)
5134  return actives_;
5135 }
5136 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5138  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.actives)
5139  return &actives_;
5140 }
5141 
5142 // -------------------------------------------------------------------
5144 // CircuitConstraintProto
5145 
5146 // repeated int32 tails = 3;
5147 inline int CircuitConstraintProto::tails_size() const {
5148  return tails_.size();
5151  tails_.Clear();
5153 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::tails(int index) const {
5154  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
5155  return tails_.Get(index);
5156 }
5157 inline void CircuitConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5158  tails_.Set(index, value);
5159  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
5160 }
5161 inline void CircuitConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
5162  tails_.Add(value);
5163  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
5164 }
5165 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5167  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
5168  return tails_;
5169 }
5170 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5172  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
5173  return &tails_;
5174 }
5175 
5176 // repeated int32 heads = 4;
5177 inline int CircuitConstraintProto::heads_size() const {
5178  return heads_.size();
5179 }
5181  heads_.Clear();
5182 }
5183 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::heads(int index) const {
5184  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
5185  return heads_.Get(index);
5186 }
5187 inline void CircuitConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5188  heads_.Set(index, value);
5189  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
5191 inline void CircuitConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
5192  heads_.Add(value);
5193  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
5195 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5197  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
5198  return heads_;
5199 }
5200 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5202  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
5203  return &heads_;
5204 }
5205 
5206 // repeated int32 literals = 5;
5207 inline int CircuitConstraintProto::literals_size() const {
5208  return literals_.size();
5209 }
5211  literals_.Clear();
5212 }
5213 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::literals(int index) const {
5214  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
5215  return literals_.Get(index);
5216 }
5217 inline void CircuitConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5218  literals_.Set(index, value);
5219  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
5221 inline void CircuitConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
5222  literals_.Add(value);
5223  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
5225 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5227  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
5228  return literals_;
5229 }
5230 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5232  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
5233  return &literals_;
5234 }
5235 
5236 // -------------------------------------------------------------------
5237 
5238 // RoutesConstraintProto
5239 
5240 // repeated int32 tails = 1;
5241 inline int RoutesConstraintProto::tails_size() const {
5242  return tails_.size();
5243 }
5245  tails_.Clear();
5246 }
5247 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::tails(int index) const {
5248  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
5249  return tails_.Get(index);
5251 inline void RoutesConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5252  tails_.Set(index, value);
5253  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
5255 inline void RoutesConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
5256  tails_.Add(value);
5257  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
5259 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5261  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
5262  return tails_;
5264 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5266  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
5267  return &tails_;
5269 
5270 // repeated int32 heads = 2;
5271 inline int RoutesConstraintProto::heads_size() const {
5272  return heads_.size();
5273 }
5274 inline void RoutesConstraintProto::clear_heads() {
5275  heads_.Clear();
5276 }
5277 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::heads(int index) const {
5278  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
5279  return heads_.Get(index);
5280 }
5281 inline void RoutesConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5282  heads_.Set(index, value);
5283  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
5284 }
5285 inline void RoutesConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
5286  heads_.Add(value);
5287  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
5288 }
5289 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5291  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
5292  return heads_;
5294 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5296  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
5297  return &heads_;
5299 
5300 // repeated int32 literals = 3;
5301 inline int RoutesConstraintProto::literals_size() const {
5302  return literals_.size();
5305  literals_.Clear();
5306 }
5307 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::literals(int index) const {
5308  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
5309  return literals_.Get(index);
5310 }
5311 inline void RoutesConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5312  literals_.Set(index, value);
5313  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
5314 }
5315 inline void RoutesConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
5316  literals_.Add(value);
5317  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
5318 }
5319 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5321  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
5322  return literals_;
5324 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5326  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
5327  return &literals_;
5329 
5330 // repeated int32 demands = 4;
5331 inline int RoutesConstraintProto::demands_size() const {
5332  return demands_.size();
5335  demands_.Clear();
5336 }
5337 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::demands(int index) const {
5338  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
5339  return demands_.Get(index);
5340 }
5341 inline void RoutesConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5342  demands_.Set(index, value);
5343  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
5344 }
5345 inline void RoutesConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
5346  demands_.Add(value);
5347  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
5348 }
5349 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5351  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
5352  return demands_;
5354 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5356  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
5357  return &demands_;
5359 
5360 // int64 capacity = 5;
5362  capacity_ = PROTOBUF_LONGLONG(0);
5364 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::capacity() const {
5365  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
5366  return capacity_;
5367 }
5368 inline void RoutesConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
5370  capacity_ = value;
5371  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
5373 
5374 // -------------------------------------------------------------------
5376 // CircuitCoveringConstraintProto
5377 
5378 // repeated int32 nexts = 1;
5380  return nexts_.size();
5381 }
5383  nexts_.Clear();
5384 }
5385 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitCoveringConstraintProto::nexts(int index) const {
5386  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitCoveringConstraintProto.nexts)
5387  return nexts_.Get(index);
5389 inline void CircuitCoveringConstraintProto::set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5390  nexts_.Set(index, value);
5391  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitCoveringConstraintProto.nexts)
5392 }
5393 inline void CircuitCoveringConstraintProto::add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value) {
5394  nexts_.Add(value);
5395  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitCoveringConstraintProto.nexts)
5396 }
5397 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5399  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitCoveringConstraintProto.nexts)
5400  return nexts_;
5401 }
5402 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5404  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitCoveringConstraintProto.nexts)
5405  return &nexts_;
5407 
5408 // repeated int64 distinguished_nodes = 2;
5410  return distinguished_nodes_.size();
5411 }
5413  distinguished_nodes_.Clear();
5414 }
5415 inline ::PROTOBUF_NAMESPACE_ID::int64 CircuitCoveringConstraintProto::distinguished_nodes(int index) const {
5416  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
5417  return distinguished_nodes_.Get(index);
5419 inline void CircuitCoveringConstraintProto::set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5420  distinguished_nodes_.Set(index, value);
5421  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
5422 }
5423 inline void CircuitCoveringConstraintProto::add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value) {
5424  distinguished_nodes_.Add(value);
5425  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
5426 }
5427 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5429  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
5430  return distinguished_nodes_;
5431 }
5432 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5434  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
5435  return &distinguished_nodes_;
5436 }
5438 // -------------------------------------------------------------------
5439 
5440 // TableConstraintProto
5441 
5442 // repeated int32 vars = 1;
5443 inline int TableConstraintProto::vars_size() const {
5444  return vars_.size();
5445 }
5446 inline void TableConstraintProto::clear_vars() {
5447  vars_.Clear();
5449 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::vars(int index) const {
5450  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
5451  return vars_.Get(index);
5452 }
5453 inline void TableConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5454  vars_.Set(index, value);
5455  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
5456 }
5457 inline void TableConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
5458  vars_.Add(value);
5459  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
5460 }
5461 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5463  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
5464  return vars_;
5465 }
5466 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5468  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
5469  return &vars_;
5470 }
5471 
5472 // repeated int64 values = 2;
5473 inline int TableConstraintProto::values_size() const {
5474  return values_.size();
5475 }
5476 inline void TableConstraintProto::clear_values() {
5477  values_.Clear();
5478 }
5479 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::values(int index) const {
5480  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
5481  return values_.Get(index);
5482 }
5483 inline void TableConstraintProto::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5484  values_.Set(index, value);
5485  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
5487 inline void TableConstraintProto::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
5488  values_.Add(value);
5489  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
5490 }
5491 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5493  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
5494  return values_;
5495 }
5496 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5498  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
5499  return &values_;
5500 }
5501 
5502 // bool negated = 3;
5504  negated_ = false;
5505 }
5506 inline bool TableConstraintProto::negated() const {
5507  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
5508  return negated_;
5509 }
5510 inline void TableConstraintProto::set_negated(bool value) {
5511 
5512  negated_ = value;
5513  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
5514 }
5515 
5516 // -------------------------------------------------------------------
5517 
5518 // InverseConstraintProto
5520 // repeated int32 f_direct = 1;
5521 inline int InverseConstraintProto::f_direct_size() const {
5522  return f_direct_.size();
5525  f_direct_.Clear();
5526 }
5527 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_direct(int index) const {
5528  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
5529  return f_direct_.Get(index);
5530 }
5531 inline void InverseConstraintProto::set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5532  f_direct_.Set(index, value);
5533  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
5534 }
5535 inline void InverseConstraintProto::add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
5536  f_direct_.Add(value);
5537  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
5538 }
5539 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5541  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
5542  return f_direct_;
5544 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5546  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
5547  return &f_direct_;
5548 }
5549 
5550 // repeated int32 f_inverse = 2;
5551 inline int InverseConstraintProto::f_inverse_size() const {
5552  return f_inverse_.size();
5553 }
5555  f_inverse_.Clear();
5556 }
5557 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_inverse(int index) const {
5558  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
5559  return f_inverse_.Get(index);
5560 }
5561 inline void InverseConstraintProto::set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5562  f_inverse_.Set(index, value);
5563  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
5564 }
5565 inline void InverseConstraintProto::add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
5566  f_inverse_.Add(value);
5567  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
5569 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5571  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
5572  return f_inverse_;
5573 }
5574 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5576  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
5577  return &f_inverse_;
5578 }
5579 
5580 // -------------------------------------------------------------------
5582 // AutomatonConstraintProto
5583 
5584 // int64 starting_state = 2;
5586  starting_state_ = PROTOBUF_LONGLONG(0);
5587 }
5588 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::starting_state() const {
5589  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
5590  return starting_state_;
5591 }
5592 inline void AutomatonConstraintProto::set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
5593 
5594  starting_state_ = value;
5595  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
5596 }
5597 
5598 // repeated int64 final_states = 3;
5600  return final_states_.size();
5601 }
5603  final_states_.Clear();
5604 }
5605 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::final_states(int index) const {
5606  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
5607  return final_states_.Get(index);
5608 }
5609 inline void AutomatonConstraintProto::set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5610  final_states_.Set(index, value);
5611  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
5612 }
5613 inline void AutomatonConstraintProto::add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
5614  final_states_.Add(value);
5615  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
5617 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5619  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
5620  return final_states_;
5621 }
5622 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5624  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
5625  return &final_states_;
5626 }
5628 // repeated int64 transition_tail = 4;
5630  return transition_tail_.size();
5631 }
5633  transition_tail_.Clear();
5635 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_tail(int index) const {
5636  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
5637  return transition_tail_.Get(index);
5638 }
5639 inline void AutomatonConstraintProto::set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5640  transition_tail_.Set(index, value);
5641  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
5642 }
5643 inline void AutomatonConstraintProto::add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
5644  transition_tail_.Add(value);
5645  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
5646 }
5647 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5649  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
5650  return transition_tail_;
5652 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5654  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
5655  return &transition_tail_;
5656 }
5657 
5658 // repeated int64 transition_head = 5;
5660  return transition_head_.size();
5661 }
5663  transition_head_.Clear();
5664 }
5665 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_head(int index) const {
5666  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
5667  return transition_head_.Get(index);
5668 }
5669 inline void AutomatonConstraintProto::set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5670  transition_head_.Set(index, value);
5671  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
5672 }
5673 inline void AutomatonConstraintProto::add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
5674  transition_head_.Add(value);
5675  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
5676 }
5677 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5679  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
5680  return transition_head_;
5682 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5684  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
5685  return &transition_head_;
5686 }
5687 
5688 // repeated int64 transition_label = 6;
5690  return transition_label_.size();
5691 }
5693  transition_label_.Clear();
5694 }
5695 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_label(int index) const {
5696  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
5697  return transition_label_.Get(index);
5698 }
5699 inline void AutomatonConstraintProto::set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
5700  transition_label_.Set(index, value);
5701  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
5702 }
5703 inline void AutomatonConstraintProto::add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
5704  transition_label_.Add(value);
5705  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
5706 }
5707 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5709  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
5710  return transition_label_;
5712 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5714  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
5715  return &transition_label_;
5716 }
5717 
5718 // repeated int32 vars = 7;
5719 inline int AutomatonConstraintProto::vars_size() const {
5720  return vars_.size();
5721 }
5723  vars_.Clear();
5724 }
5725 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::vars(int index) const {
5726  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
5727  return vars_.Get(index);
5728 }
5729 inline void AutomatonConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5730  vars_.Set(index, value);
5731  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
5732 }
5733 inline void AutomatonConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
5734  vars_.Add(value);
5735  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
5736 }
5737 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5739  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
5740  return vars_;
5742 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5744  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
5745  return &vars_;
5746 }
5747 
5748 // -------------------------------------------------------------------
5749 
5750 // ConstraintProto
5751 
5752 // string name = 1;
5753 inline void ConstraintProto::clear_name() {
5754  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
5756 inline const std::string& ConstraintProto::name() const {
5757  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
5758  return name_.GetNoArena();
5759 }
5760 inline void ConstraintProto::set_name(const std::string& value) {
5762  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
5763  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
5765 inline void ConstraintProto::set_name(std::string&& value) {
5766 
5767  name_.SetNoArena(
5768  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
5769  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.ConstraintProto.name)
5770 }
5771 inline void ConstraintProto::set_name(const char* value) {
5772  GOOGLE_DCHECK(value != nullptr);
5773 
5774  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
5775  // @@protoc_insertion_point(field_set_char:operations_research.sat.ConstraintProto.name)
5776 }
5777 inline void ConstraintProto::set_name(const char* value, size_t size) {
5778 
5779  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
5780  ::std::string(reinterpret_cast<const char*>(value), size));
5781  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.ConstraintProto.name)
5782 }
5783 inline std::string* ConstraintProto::mutable_name() {
5784 
5785  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
5786  return name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
5787 }
5788 inline std::string* ConstraintProto::release_name() {
5789  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
5790 
5791  return name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
5792 }
5793 inline void ConstraintProto::set_allocated_name(std::string* name) {
5794  if (name != nullptr) {
5795 
5796  } else {
5797 
5798  }
5799  name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name);
5800  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
5801 }
5802 
5803 // repeated int32 enforcement_literal = 2;
5804 inline int ConstraintProto::enforcement_literal_size() const {
5805  return enforcement_literal_.size();
5806 }
5808  enforcement_literal_.Clear();
5809 }
5810 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::enforcement_literal(int index) const {
5811  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
5812  return enforcement_literal_.Get(index);
5813 }
5814 inline void ConstraintProto::set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
5815  enforcement_literal_.Set(index, value);
5816  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
5817 }
5818 inline void ConstraintProto::add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
5819  enforcement_literal_.Add(value);
5820  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
5821 }
5822 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5824  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
5825  return enforcement_literal_;
5827 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5829  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
5830  return &enforcement_literal_;
5832 
5833 // .operations_research.sat.BoolArgumentProto bool_or = 3;
5834 inline bool ConstraintProto::has_bool_or() const {
5835  return constraint_case() == kBoolOr;
5837 inline void ConstraintProto::set_has_bool_or() {
5838  _oneof_case_[0] = kBoolOr;
5839 }
5840 inline void ConstraintProto::clear_bool_or() {
5841  if (has_bool_or()) {
5842  delete constraint_.bool_or_;
5843  clear_has_constraint();
5844  }
5845 }
5846 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
5847  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
5848  if (has_bool_or()) {
5849  clear_has_constraint();
5851  constraint_.bool_or_ = nullptr;
5852  return temp;
5853  } else {
5854  return nullptr;
5855  }
5856 }
5857 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
5858  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
5859  return has_bool_or()
5860  ? *constraint_.bool_or_
5861  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
5862 }
5863 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
5864  if (!has_bool_or()) {
5865  clear_constraint();
5866  set_has_bool_or();
5867  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(
5868  GetArenaNoVirtual());
5869  }
5870  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
5871  return constraint_.bool_or_;
5872 }
5873 
5874 // .operations_research.sat.BoolArgumentProto bool_and = 4;
5875 inline bool ConstraintProto::has_bool_and() const {
5876  return constraint_case() == kBoolAnd;
5878 inline void ConstraintProto::set_has_bool_and() {
5879  _oneof_case_[0] = kBoolAnd;
5880 }
5881 inline void ConstraintProto::clear_bool_and() {
5882  if (has_bool_and()) {
5883  delete constraint_.bool_and_;
5884  clear_has_constraint();
5885  }
5886 }
5887 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
5888  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
5889  if (has_bool_and()) {
5890  clear_has_constraint();
5891  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
5892  constraint_.bool_and_ = nullptr;
5893  return temp;
5894  } else {
5895  return nullptr;
5896  }
5897 }
5898 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
5899  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
5900  return has_bool_and()
5901  ? *constraint_.bool_and_
5902  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
5903 }
5904 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
5905  if (!has_bool_and()) {
5907  set_has_bool_and();
5908  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(
5909  GetArenaNoVirtual());
5910  }
5911  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
5912  return constraint_.bool_and_;
5913 }
5914 
5915 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
5916 inline bool ConstraintProto::has_at_most_one() const {
5917  return constraint_case() == kAtMostOne;
5919 inline void ConstraintProto::set_has_at_most_one() {
5920  _oneof_case_[0] = kAtMostOne;
5921 }
5922 inline void ConstraintProto::clear_at_most_one() {
5923  if (has_at_most_one()) {
5924  delete constraint_.at_most_one_;
5925  clear_has_constraint();
5926  }
5927 }
5928 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
5929  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
5931  clear_has_constraint();
5932  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
5933  constraint_.at_most_one_ = nullptr;
5934  return temp;
5935  } else {
5936  return nullptr;
5937  }
5938 }
5939 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
5940  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
5942  ? *constraint_.at_most_one_
5943  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
5944 }
5945 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
5946  if (!has_at_most_one()) {
5948  set_has_at_most_one();
5949  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(
5950  GetArenaNoVirtual());
5951  }
5952  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
5953  return constraint_.at_most_one_;
5954 }
5955 
5956 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
5957 inline bool ConstraintProto::has_bool_xor() const {
5958  return constraint_case() == kBoolXor;
5960 inline void ConstraintProto::set_has_bool_xor() {
5961  _oneof_case_[0] = kBoolXor;
5962 }
5963 inline void ConstraintProto::clear_bool_xor() {
5964  if (has_bool_xor()) {
5965  delete constraint_.bool_xor_;
5966  clear_has_constraint();
5967  }
5968 }
5969 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
5970  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
5971  if (has_bool_xor()) {
5972  clear_has_constraint();
5973  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
5974  constraint_.bool_xor_ = nullptr;
5975  return temp;
5976  } else {
5977  return nullptr;
5978  }
5979 }
5980 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
5981  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
5982  return has_bool_xor()
5983  ? *constraint_.bool_xor_
5984  : *reinterpret_cast< ::operations_research::sat::BoolArgumentProto*>(&::operations_research::sat::_BoolArgumentProto_default_instance_);
5985 }
5986 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
5987  if (!has_bool_xor()) {
5989  set_has_bool_xor();
5990  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(
5991  GetArenaNoVirtual());
5992  }
5993  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
5994  return constraint_.bool_xor_;
5995 }
5996 
5997 // .operations_research.sat.IntegerArgumentProto int_div = 7;
5998 inline bool ConstraintProto::has_int_div() const {
5999  return constraint_case() == kIntDiv;
6001 inline void ConstraintProto::set_has_int_div() {
6002  _oneof_case_[0] = kIntDiv;
6003 }
6004 inline void ConstraintProto::clear_int_div() {
6005  if (has_int_div()) {
6006  delete constraint_.int_div_;
6007  clear_has_constraint();
6008  }
6009 }
6010 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_div() {
6011  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
6012  if (has_int_div()) {
6013  clear_has_constraint();
6014  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
6015  constraint_.int_div_ = nullptr;
6016  return temp;
6017  } else {
6018  return nullptr;
6019  }
6020 }
6021 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_div() const {
6022  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
6023  return has_int_div()
6024  ? *constraint_.int_div_
6025  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
6026 }
6027 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_div() {
6028  if (!has_int_div()) {
6030  set_has_int_div();
6031  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(
6032  GetArenaNoVirtual());
6033  }
6034  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
6035  return constraint_.int_div_;
6036 }
6037 
6038 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
6039 inline bool ConstraintProto::has_int_mod() const {
6040  return constraint_case() == kIntMod;
6042 inline void ConstraintProto::set_has_int_mod() {
6043  _oneof_case_[0] = kIntMod;
6044 }
6045 inline void ConstraintProto::clear_int_mod() {
6046  if (has_int_mod()) {
6047  delete constraint_.int_mod_;
6048  clear_has_constraint();
6049  }
6050 }
6051 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_mod() {
6052  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
6053  if (has_int_mod()) {
6054  clear_has_constraint();
6055  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
6056  constraint_.int_mod_ = nullptr;
6057  return temp;
6058  } else {
6059  return nullptr;
6060  }
6061 }
6062 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_mod() const {
6063  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
6064  return has_int_mod()
6065  ? *constraint_.int_mod_
6066  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
6067 }
6068 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_mod() {
6069  if (!has_int_mod()) {
6071  set_has_int_mod();
6072  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(
6073  GetArenaNoVirtual());
6074  }
6075  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
6076  return constraint_.int_mod_;
6077 }
6078 
6079 // .operations_research.sat.IntegerArgumentProto int_max = 9;
6080 inline bool ConstraintProto::has_int_max() const {
6081  return constraint_case() == kIntMax;
6083 inline void ConstraintProto::set_has_int_max() {
6084  _oneof_case_[0] = kIntMax;
6085 }
6086 inline void ConstraintProto::clear_int_max() {
6087  if (has_int_max()) {
6088  delete constraint_.int_max_;
6089  clear_has_constraint();
6090  }
6091 }
6092 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_max() {
6093  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_max)
6094  if (has_int_max()) {
6095  clear_has_constraint();
6096  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
6097  constraint_.int_max_ = nullptr;
6098  return temp;
6099  } else {
6100  return nullptr;
6101  }
6102 }
6103 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_max() const {
6104  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_max)
6105  return has_int_max()
6106  ? *constraint_.int_max_
6107  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
6108 }
6109 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_max() {
6110  if (!has_int_max()) {
6112  set_has_int_max();
6113  constraint_.int_max_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(
6114  GetArenaNoVirtual());
6115  }
6116  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_max)
6117  return constraint_.int_max_;
6118 }
6119 
6120 // .operations_research.sat.IntegerArgumentProto int_min = 10;
6121 inline bool ConstraintProto::has_int_min() const {
6122  return constraint_case() == kIntMin;
6124 inline void ConstraintProto::set_has_int_min() {
6125  _oneof_case_[0] = kIntMin;
6126 }
6127 inline void ConstraintProto::clear_int_min() {
6128  if (has_int_min()) {
6129  delete constraint_.int_min_;
6130  clear_has_constraint();
6131  }
6132 }
6133 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_min() {
6134  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_min)
6135  if (has_int_min()) {
6136  clear_has_constraint();
6137  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
6138  constraint_.int_min_ = nullptr;
6139  return temp;
6140  } else {
6141  return nullptr;
6142  }
6143 }
6144 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_min() const {
6145  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_min)
6146  return has_int_min()
6147  ? *constraint_.int_min_
6148  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
6149 }
6150 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_min() {
6151  if (!has_int_min()) {
6153  set_has_int_min();
6154  constraint_.int_min_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(
6155  GetArenaNoVirtual());
6156  }
6157  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_min)
6158  return constraint_.int_min_;
6159 }
6160 
6161 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
6162 inline bool ConstraintProto::has_int_prod() const {
6163  return constraint_case() == kIntProd;
6165 inline void ConstraintProto::set_has_int_prod() {
6166  _oneof_case_[0] = kIntProd;
6167 }
6168 inline void ConstraintProto::clear_int_prod() {
6169  if (has_int_prod()) {
6170  delete constraint_.int_prod_;
6171  clear_has_constraint();
6172  }
6173 }
6174 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_prod() {
6175  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
6176  if (has_int_prod()) {
6177  clear_has_constraint();
6178  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
6179  constraint_.int_prod_ = nullptr;
6180  return temp;
6181  } else {
6182  return nullptr;
6183  }
6184 }
6185 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_prod() const {
6186  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
6187  return has_int_prod()
6188  ? *constraint_.int_prod_
6189  : *reinterpret_cast< ::operations_research::sat::IntegerArgumentProto*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_);
6190 }
6191 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_prod() {
6192  if (!has_int_prod()) {
6194  set_has_int_prod();
6195  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(
6196  GetArenaNoVirtual());
6197  }
6198  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
6199  return constraint_.int_prod_;
6200 }
6201 
6202 // .operations_research.sat.LinearConstraintProto linear = 12;
6203 inline bool ConstraintProto::has_linear() const {
6204  return constraint_case() == kLinear;
6206 inline void ConstraintProto::set_has_linear() {
6207  _oneof_case_[0] = kLinear;
6208 }
6209 inline void ConstraintProto::clear_linear() {
6210  if (has_linear()) {
6211  delete constraint_.linear_;
6212  clear_has_constraint();
6213  }
6214 }
6215 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
6216  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
6217  if (has_linear()) {
6218  clear_has_constraint();
6219  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
6220  constraint_.linear_ = nullptr;
6221  return temp;
6222  } else {
6223  return nullptr;
6224  }
6225 }
6226 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
6227  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
6228  return has_linear()
6229  ? *constraint_.linear_
6230  : *reinterpret_cast< ::operations_research::sat::LinearConstraintProto*>(&::operations_research::sat::_LinearConstraintProto_default_instance_);
6231 }
6232 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
6233  if (!has_linear()) {
6235  set_has_linear();
6236  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(
6237  GetArenaNoVirtual());
6238  }
6239  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
6240  return constraint_.linear_;
6241 }
6242 
6243 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
6244 inline bool ConstraintProto::has_all_diff() const {
6245  return constraint_case() == kAllDiff;
6247 inline void ConstraintProto::set_has_all_diff() {
6248  _oneof_case_[0] = kAllDiff;
6249 }
6250 inline void ConstraintProto::clear_all_diff() {
6251  if (has_all_diff()) {
6252  delete constraint_.all_diff_;
6253  clear_has_constraint();
6254  }
6255 }
6256 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
6257  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
6258  if (has_all_diff()) {
6259  clear_has_constraint();
6260  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
6261  constraint_.all_diff_ = nullptr;
6262  return temp;
6263  } else {
6264  return nullptr;
6265  }
6266 }
6267 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
6268  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
6269  return has_all_diff()
6270  ? *constraint_.all_diff_
6271  : *reinterpret_cast< ::operations_research::sat::AllDifferentConstraintProto*>(&::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
6272 }
6273 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
6274  if (!has_all_diff()) {
6276  set_has_all_diff();
6277  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(
6278  GetArenaNoVirtual());
6279  }
6280  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
6281  return constraint_.all_diff_;
6282 }
6283 
6284 // .operations_research.sat.ElementConstraintProto element = 14;
6285 inline bool ConstraintProto::has_element() const {
6286  return constraint_case() == kElement;
6288 inline void ConstraintProto::set_has_element() {
6289  _oneof_case_[0] = kElement;
6290 }
6291 inline void ConstraintProto::clear_element() {
6292  if (has_element()) {
6293  delete constraint_.element_;
6294  clear_has_constraint();
6295  }
6296 }
6297 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
6298  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
6299  if (has_element()) {
6300  clear_has_constraint();
6301  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
6302  constraint_.element_ = nullptr;
6303  return temp;
6304  } else {
6305  return nullptr;
6306  }
6307 }
6308 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
6309  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
6310  return has_element()
6311  ? *constraint_.element_
6312  : *reinterpret_cast< ::operations_research::sat::ElementConstraintProto*>(&::operations_research::sat::_ElementConstraintProto_default_instance_);
6313 }
6314 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
6315  if (!has_element()) {
6317  set_has_element();
6318  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(
6319  GetArenaNoVirtual());
6320  }
6321  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
6322  return constraint_.element_;
6323 }
6324 
6325 // .operations_research.sat.CircuitConstraintProto circuit = 15;
6326 inline bool ConstraintProto::has_circuit() const {
6327  return constraint_case() == kCircuit;
6329 inline void ConstraintProto::set_has_circuit() {
6330  _oneof_case_[0] = kCircuit;
6331 }
6332 inline void ConstraintProto::clear_circuit() {
6333  if (has_circuit()) {
6334  delete constraint_.circuit_;
6335  clear_has_constraint();
6336  }
6337 }
6338 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
6339  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
6340  if (has_circuit()) {
6341  clear_has_constraint();
6342  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
6343  constraint_.circuit_ = nullptr;
6344  return temp;
6345  } else {
6346  return nullptr;
6347  }
6348 }
6349 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
6350  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
6351  return has_circuit()
6352  ? *constraint_.circuit_
6353  : *reinterpret_cast< ::operations_research::sat::CircuitConstraintProto*>(&::operations_research::sat::_CircuitConstraintProto_default_instance_);
6354 }
6355 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
6356  if (!has_circuit()) {
6358  set_has_circuit();
6359  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(
6360  GetArenaNoVirtual());
6361  }
6362  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
6363  return constraint_.circuit_;
6364 }
6365 
6366 // .operations_research.sat.RoutesConstraintProto routes = 23;
6367 inline bool ConstraintProto::has_routes() const {
6368  return constraint_case() == kRoutes;
6370 inline void ConstraintProto::set_has_routes() {
6371  _oneof_case_[0] = kRoutes;
6372 }
6373 inline void ConstraintProto::clear_routes() {
6374  if (has_routes()) {
6375  delete constraint_.routes_;
6376  clear_has_constraint();
6377  }
6378 }
6379 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
6380  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
6381  if (has_routes()) {
6382  clear_has_constraint();
6383  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
6384  constraint_.routes_ = nullptr;
6385  return temp;
6386  } else {
6387  return nullptr;
6388  }
6389 }
6390 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
6391  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
6392  return has_routes()
6393  ? *constraint_.routes_
6394  : *reinterpret_cast< ::operations_research::sat::RoutesConstraintProto*>(&::operations_research::sat::_RoutesConstraintProto_default_instance_);
6395 }
6396 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
6397  if (!has_routes()) {
6399  set_has_routes();
6400  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(
6401  GetArenaNoVirtual());
6402  }
6403  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
6404  return constraint_.routes_;
6405 }
6406 
6407 // .operations_research.sat.CircuitCoveringConstraintProto circuit_covering = 25;
6408 inline bool ConstraintProto::has_circuit_covering() const {
6409  return constraint_case() == kCircuitCovering;
6411 inline void ConstraintProto::set_has_circuit_covering() {
6412  _oneof_case_[0] = kCircuitCovering;
6413 }
6415  if (has_circuit_covering()) {
6416  delete constraint_.circuit_covering_;
6417  clear_has_constraint();
6418  }
6419 }
6420 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::release_circuit_covering() {
6421  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit_covering)
6423  clear_has_constraint();
6424  ::operations_research::sat::CircuitCoveringConstraintProto* temp = constraint_.circuit_covering_;
6425  constraint_.circuit_covering_ = nullptr;
6426  return temp;
6427  } else {
6428  return nullptr;
6429  }
6430 }
6431 inline const ::operations_research::sat::CircuitCoveringConstraintProto& ConstraintProto::circuit_covering() const {
6432  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit_covering)
6434  ? *constraint_.circuit_covering_
6435  : *reinterpret_cast< ::operations_research::sat::CircuitCoveringConstraintProto*>(&::operations_research::sat::_CircuitCoveringConstraintProto_default_instance_);
6436 }
6437 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::mutable_circuit_covering() {
6438  if (!has_circuit_covering()) {
6440  set_has_circuit_covering();
6441  constraint_.circuit_covering_ = CreateMaybeMessage< ::operations_research::sat::CircuitCoveringConstraintProto >(
6442  GetArenaNoVirtual());
6443  }
6444  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit_covering)
6445  return constraint_.circuit_covering_;
6446 }
6447 
6448 // .operations_research.sat.TableConstraintProto table = 16;
6449 inline bool ConstraintProto::has_table() const {
6450  return constraint_case() == kTable;
6452 inline void ConstraintProto::set_has_table() {
6453  _oneof_case_[0] = kTable;
6454 }
6455 inline void ConstraintProto::clear_table() {
6456  if (has_table()) {
6457  delete constraint_.table_;
6458  clear_has_constraint();
6459  }
6460 }
6461 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
6462  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
6463  if (has_table()) {
6464  clear_has_constraint();
6465  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
6466  constraint_.table_ = nullptr;
6467  return temp;
6468  } else {
6469  return nullptr;
6470  }
6471 }
6472 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
6473  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
6474  return has_table()
6475  ? *constraint_.table_
6476  : *reinterpret_cast< ::operations_research::sat::TableConstraintProto*>(&::operations_research::sat::_TableConstraintProto_default_instance_);
6477 }
6478 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
6479  if (!has_table()) {
6481  set_has_table();
6482  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(
6483  GetArenaNoVirtual());
6484  }
6485  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
6486  return constraint_.table_;
6487 }
6488 
6489 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
6490 inline bool ConstraintProto::has_automaton() const {
6491  return constraint_case() == kAutomaton;
6493 inline void ConstraintProto::set_has_automaton() {
6494  _oneof_case_[0] = kAutomaton;
6495 }
6496 inline void ConstraintProto::clear_automaton() {
6497  if (has_automaton()) {
6498  delete constraint_.automaton_;
6499  clear_has_constraint();
6500  }
6501 }
6502 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
6503  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
6504  if (has_automaton()) {
6505  clear_has_constraint();
6506  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
6507  constraint_.automaton_ = nullptr;
6508  return temp;
6509  } else {
6510  return nullptr;
6511  }
6512 }
6513 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
6514  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
6515  return has_automaton()
6516  ? *constraint_.automaton_
6517  : *reinterpret_cast< ::operations_research::sat::AutomatonConstraintProto*>(&::operations_research::sat::_AutomatonConstraintProto_default_instance_);
6518 }
6519 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
6520  if (!has_automaton()) {
6522  set_has_automaton();
6523  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(
6524  GetArenaNoVirtual());
6525  }
6526  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
6527  return constraint_.automaton_;
6528 }
6529 
6530 // .operations_research.sat.InverseConstraintProto inverse = 18;
6531 inline bool ConstraintProto::has_inverse() const {
6532  return constraint_case() == kInverse;
6534 inline void ConstraintProto::set_has_inverse() {
6535  _oneof_case_[0] = kInverse;
6536 }
6537 inline void ConstraintProto::clear_inverse() {
6538  if (has_inverse()) {
6539  delete constraint_.inverse_;
6540  clear_has_constraint();
6541  }
6542 }
6543 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
6544  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
6545  if (has_inverse()) {
6546  clear_has_constraint();
6547  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
6548  constraint_.inverse_ = nullptr;
6549  return temp;
6550  } else {
6551  return nullptr;
6552  }
6553 }
6554 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
6555  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
6556  return has_inverse()
6557  ? *constraint_.inverse_
6558  : *reinterpret_cast< ::operations_research::sat::InverseConstraintProto*>(&::operations_research::sat::_InverseConstraintProto_default_instance_);
6559 }
6560 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
6561  if (!has_inverse()) {
6563  set_has_inverse();
6564  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(
6565  GetArenaNoVirtual());
6566  }
6567  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
6568  return constraint_.inverse_;
6569 }
6570 
6571 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
6572 inline bool ConstraintProto::has_reservoir() const {
6573  return constraint_case() == kReservoir;
6575 inline void ConstraintProto::set_has_reservoir() {
6576  _oneof_case_[0] = kReservoir;
6577 }
6578 inline void ConstraintProto::clear_reservoir() {
6579  if (has_reservoir()) {
6580  delete constraint_.reservoir_;
6581  clear_has_constraint();
6582  }
6583 }
6584 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
6585  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
6586  if (has_reservoir()) {
6587  clear_has_constraint();
6588  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
6589  constraint_.reservoir_ = nullptr;
6590  return temp;
6591  } else {
6592  return nullptr;
6593  }
6594 }
6595 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
6596  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
6597  return has_reservoir()
6598  ? *constraint_.reservoir_
6599  : *reinterpret_cast< ::operations_research::sat::ReservoirConstraintProto*>(&::operations_research::sat::_ReservoirConstraintProto_default_instance_);
6600 }
6601 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
6602  if (!has_reservoir()) {
6604  set_has_reservoir();
6605  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(
6606  GetArenaNoVirtual());
6607  }
6608  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
6609  return constraint_.reservoir_;
6610 }
6611 
6612 // .operations_research.sat.IntervalConstraintProto interval = 19;
6613 inline bool ConstraintProto::has_interval() const {
6614  return constraint_case() == kInterval;
6616 inline void ConstraintProto::set_has_interval() {
6617  _oneof_case_[0] = kInterval;
6618 }
6619 inline void ConstraintProto::clear_interval() {
6620  if (has_interval()) {
6621  delete constraint_.interval_;
6622  clear_has_constraint();
6623  }
6624 }
6625 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
6626  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
6627  if (has_interval()) {
6628  clear_has_constraint();
6629  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
6630  constraint_.interval_ = nullptr;
6631  return temp;
6632  } else {
6633  return nullptr;
6634  }
6635 }
6636 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
6637  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
6638  return has_interval()
6639  ? *constraint_.interval_
6640  : *reinterpret_cast< ::operations_research::sat::IntervalConstraintProto*>(&::operations_research::sat::_IntervalConstraintProto_default_instance_);
6641 }
6642 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
6643  if (!has_interval()) {
6645  set_has_interval();
6646  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(
6647  GetArenaNoVirtual());
6648  }
6649  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
6650  return constraint_.interval_;
6651 }
6652 
6653 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
6654 inline bool ConstraintProto::has_no_overlap() const {
6655  return constraint_case() == kNoOverlap;
6657 inline void ConstraintProto::set_has_no_overlap() {
6658  _oneof_case_[0] = kNoOverlap;
6659 }
6660 inline void ConstraintProto::clear_no_overlap() {
6661  if (has_no_overlap()) {
6662  delete constraint_.no_overlap_;
6663  clear_has_constraint();
6664  }
6665 }
6666 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
6667  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
6669  clear_has_constraint();
6670  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
6671  constraint_.no_overlap_ = nullptr;
6672  return temp;
6673  } else {
6674  return nullptr;
6675  }
6676 }
6677 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
6678  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
6680  ? *constraint_.no_overlap_
6681  : *reinterpret_cast< ::operations_research::sat::NoOverlapConstraintProto*>(&::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
6682 }
6683 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
6684  if (!has_no_overlap()) {
6686  set_has_no_overlap();
6687  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(
6688  GetArenaNoVirtual());
6689  }
6690  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
6691  return constraint_.no_overlap_;
6692 }
6693 
6694 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
6695 inline bool ConstraintProto::has_no_overlap_2d() const {
6696  return constraint_case() == kNoOverlap2D;
6698 inline void ConstraintProto::set_has_no_overlap_2d() {
6699  _oneof_case_[0] = kNoOverlap2D;
6700 }
6702  if (has_no_overlap_2d()) {
6703  delete constraint_.no_overlap_2d_;
6704  clear_has_constraint();
6705  }
6706 }
6707 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
6708  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
6710  clear_has_constraint();
6711  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
6712  constraint_.no_overlap_2d_ = nullptr;
6713  return temp;
6714  } else {
6715  return nullptr;
6716  }
6717 }
6718 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
6719  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
6721  ? *constraint_.no_overlap_2d_
6722  : *reinterpret_cast< ::operations_research::sat::NoOverlap2DConstraintProto*>(&::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
6723 }
6724 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
6725  if (!has_no_overlap_2d()) {
6727  set_has_no_overlap_2d();
6728  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(
6729  GetArenaNoVirtual());
6730  }
6731  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
6732  return constraint_.no_overlap_2d_;
6733 }
6734 
6735 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
6736 inline bool ConstraintProto::has_cumulative() const {
6737  return constraint_case() == kCumulative;
6739 inline void ConstraintProto::set_has_cumulative() {
6740  _oneof_case_[0] = kCumulative;
6741 }
6742 inline void ConstraintProto::clear_cumulative() {
6743  if (has_cumulative()) {
6744  delete constraint_.cumulative_;
6745  clear_has_constraint();
6746  }
6747 }
6748 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
6749  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
6751  clear_has_constraint();
6752  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
6753  constraint_.cumulative_ = nullptr;
6754  return temp;
6755  } else {
6756  return nullptr;
6757  }
6758 }
6759 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
6760  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
6762  ? *constraint_.cumulative_
6763  : *reinterpret_cast< ::operations_research::sat::CumulativeConstraintProto*>(&::operations_research::sat::_CumulativeConstraintProto_default_instance_);
6764 }
6765 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
6766  if (!has_cumulative()) {
6768  set_has_cumulative();
6769  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(
6770  GetArenaNoVirtual());
6771  }
6772  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
6773  return constraint_.cumulative_;
6774 }
6775 
6776 inline bool ConstraintProto::has_constraint() const {
6777  return constraint_case() != CONSTRAINT_NOT_SET;
6778 }
6779 inline void ConstraintProto::clear_has_constraint() {
6780  _oneof_case_[0] = CONSTRAINT_NOT_SET;
6781 }
6783  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
6784 }
6785 // -------------------------------------------------------------------
6786 
6787 // CpObjectiveProto
6788 
6789 // repeated int32 vars = 1;
6790 inline int CpObjectiveProto::vars_size() const {
6791  return vars_.size();
6792 }
6793 inline void CpObjectiveProto::clear_vars() {
6794  vars_.Clear();
6795 }
6796 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::vars(int index) const {
6797  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
6798  return vars_.Get(index);
6799 }
6800 inline void CpObjectiveProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6801  vars_.Set(index, value);
6802  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
6803 }
6804 inline void CpObjectiveProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6805  vars_.Add(value);
6806  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
6807 }
6808 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6809 CpObjectiveProto::vars() const {
6810  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
6811  return vars_;
6812 }
6813 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6815  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
6816  return &vars_;
6817 }
6818 
6819 // repeated int64 coeffs = 4;
6820 inline int CpObjectiveProto::coeffs_size() const {
6821  return coeffs_.size();
6822 }
6823 inline void CpObjectiveProto::clear_coeffs() {
6824  coeffs_.Clear();
6826 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::coeffs(int index) const {
6827  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
6828  return coeffs_.Get(index);
6829 }
6830 inline void CpObjectiveProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6831  coeffs_.Set(index, value);
6832  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
6833 }
6834 inline void CpObjectiveProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6835  coeffs_.Add(value);
6836  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
6838 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6839 CpObjectiveProto::coeffs() const {
6840  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
6841  return coeffs_;
6842 }
6843 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6845  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
6846  return &coeffs_;
6847 }
6849 // double offset = 2;
6850 inline void CpObjectiveProto::clear_offset() {
6851  offset_ = 0;
6852 }
6853 inline double CpObjectiveProto::offset() const {
6854  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
6855  return offset_;
6856 }
6857 inline void CpObjectiveProto::set_offset(double value) {
6859  offset_ = value;
6860  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
6861 }
6862 
6863 // double scaling_factor = 3;
6865  scaling_factor_ = 0;
6866 }
6867 inline double CpObjectiveProto::scaling_factor() const {
6868  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
6869  return scaling_factor_;
6871 inline void CpObjectiveProto::set_scaling_factor(double value) {
6872 
6873  scaling_factor_ = value;
6874  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
6875 }
6876 
6877 // repeated int64 domain = 5;
6878 inline int CpObjectiveProto::domain_size() const {
6879  return domain_.size();
6880 }
6881 inline void CpObjectiveProto::clear_domain() {
6882  domain_.Clear();
6884 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::domain(int index) const {
6885  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
6886  return domain_.Get(index);
6887 }
6888 inline void CpObjectiveProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6889  domain_.Set(index, value);
6890  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
6891 }
6892 inline void CpObjectiveProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6893  domain_.Add(value);
6894  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
6895 }
6896 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6898  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
6899  return domain_;
6900 }
6901 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6903  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
6904  return &domain_;
6905 }
6906 
6907 // -------------------------------------------------------------------
6909 // DecisionStrategyProto_AffineTransformation
6910 
6911 // int32 var = 1;
6913  var_ = 0;
6914 }
6915 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::var() const {
6916  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
6917  return var_;
6918 }
6919 inline void DecisionStrategyProto_AffineTransformation::set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
6920 
6921  var_ = value;
6922  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
6923 }
6924 
6925 // int64 offset = 2;
6927  offset_ = PROTOBUF_LONGLONG(0);
6929 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::offset() const {
6930  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
6931  return offset_;
6933 inline void DecisionStrategyProto_AffineTransformation::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6934 
6935  offset_ = value;
6936  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
6937 }
6938 
6939 // int64 positive_coeff = 3;
6941  positive_coeff_ = PROTOBUF_LONGLONG(0);
6942 }
6943 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::positive_coeff() const {
6944  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
6945  return positive_coeff_;
6947 inline void DecisionStrategyProto_AffineTransformation::set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
6948 
6949  positive_coeff_ = value;
6950  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
6951 }
6952 
6953 // -------------------------------------------------------------------
6954 
6955 // DecisionStrategyProto
6956 
6957 // repeated int32 variables = 1;
6958 inline int DecisionStrategyProto::variables_size() const {
6959  return variables_.size();
6962  variables_.Clear();
6963 }
6964 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::variables(int index) const {
6965  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
6966  return variables_.Get(index);
6967 }
6968 inline void DecisionStrategyProto::set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6969  variables_.Set(index, value);
6970  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
6972 inline void DecisionStrategyProto::add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
6973  variables_.Add(value);
6974  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
6975 }
6976 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6978  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
6979  return variables_;
6980 }
6981 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6983  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
6984  return &variables_;
6986 
6987 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
6989  variable_selection_strategy_ = 0;
6990 }
6992  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
6993  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
6994 }
6996 
6997  variable_selection_strategy_ = value;
6998  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
6999 }
7000 
7001 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
7003  domain_reduction_strategy_ = 0;
7006  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
7007  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
7008 }
7011  domain_reduction_strategy_ = value;
7012  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
7013 }
7015 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
7017  return transformations_.size();
7020  transformations_.Clear();
7021 }
7022 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
7023  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
7024  return transformations_.Mutable(index);
7025 }
7026 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
7028  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
7029  return &transformations_;
7030 }
7031 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
7032  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
7033  return transformations_.Get(index);
7035 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
7036  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
7037  return transformations_.Add();
7038 }
7039 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
7041  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
7042  return transformations_;
7043 }
7044 
7045 // -------------------------------------------------------------------
7046 
7047 // PartialVariableAssignment
7049 // repeated int32 vars = 1;
7050 inline int PartialVariableAssignment::vars_size() const {
7051  return vars_.size();
7052 }
7054  vars_.Clear();
7056 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::vars(int index) const {
7057  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
7058  return vars_.Get(index);
7059 }
7060 inline void PartialVariableAssignment::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7061  vars_.Set(index, value);
7062  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
7063 }
7064 inline void PartialVariableAssignment::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7065  vars_.Add(value);
7066  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
7067 }
7068 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7070  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
7071  return vars_;
7072 }
7073 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7075  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
7076  return &vars_;
7078 
7079 // repeated int64 values = 2;
7080 inline int PartialVariableAssignment::values_size() const {
7081  return values_.size();
7082 }
7084  values_.Clear();
7085 }
7086 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::values(int index) const {
7087  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
7088  return values_.Get(index);
7089 }
7090 inline void PartialVariableAssignment::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7091  values_.Set(index, value);
7092  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
7093 }
7094 inline void PartialVariableAssignment::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
7095  values_.Add(value);
7096  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
7098 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7100  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
7101  return values_;
7102 }
7103 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7105  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
7106  return &values_;
7108 
7109 // -------------------------------------------------------------------
7110 
7111 // CpModelProto
7112 
7113 // string name = 1;
7114 inline void CpModelProto::clear_name() {
7115  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
7117 inline const std::string& CpModelProto::name() const {
7118  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
7119  return name_.GetNoArena();
7120 }
7121 inline void CpModelProto::set_name(const std::string& value) {
7122 
7123  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
7124  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
7125 }
7126 inline void CpModelProto::set_name(std::string&& value) {
7128  name_.SetNoArena(
7129  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
7130  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpModelProto.name)
7131 }
7132 inline void CpModelProto::set_name(const char* value) {
7133  GOOGLE_DCHECK(value != nullptr);
7134 
7135  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
7136  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpModelProto.name)
7138 inline void CpModelProto::set_name(const char* value, size_t size) {
7139 
7140  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
7141  ::std::string(reinterpret_cast<const char*>(value), size));
7142  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpModelProto.name)
7143 }
7144 inline std::string* CpModelProto::mutable_name() {
7145 
7146  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
7147  return name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
7148 }
7149 inline std::string* CpModelProto::release_name() {
7150  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
7152  return name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
7153 }
7154 inline void CpModelProto::set_allocated_name(std::string* name) {
7155  if (name != nullptr) {
7156 
7157  } else {
7158 
7159  }
7160  name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name);
7161  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
7163 
7164 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
7165 inline int CpModelProto::variables_size() const {
7166  return variables_.size();
7167 }
7168 inline void CpModelProto::clear_variables() {
7169  variables_.Clear();
7170 }
7171 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
7172  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
7173  return variables_.Mutable(index);
7175 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
7177  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
7178  return &variables_;
7179 }
7180 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
7181  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
7182  return variables_.Get(index);
7183 }
7184 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
7185  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
7186  return variables_.Add();
7187 }
7188 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
7189 CpModelProto::variables() const {
7190  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
7191  return variables_;
7193 
7194 // repeated .operations_research.sat.ConstraintProto constraints = 3;
7195 inline int CpModelProto::constraints_size() const {
7196  return constraints_.size();
7198 inline void CpModelProto::clear_constraints() {
7199  constraints_.Clear();
7200 }
7201 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
7202  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
7203  return constraints_.Mutable(index);
7204 }
7205 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
7207  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
7208  return &constraints_;
7209 }
7210 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
7211  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
7212  return constraints_.Get(index);
7214 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
7215  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
7216  return constraints_.Add();
7217 }
7218 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
7220  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
7221  return constraints_;
7222 }
7223 
7224 // .operations_research.sat.CpObjectiveProto objective = 4;
7225 inline bool CpModelProto::has_objective() const {
7226  return this != internal_default_instance() && objective_ != nullptr;
7227 }
7229  if (GetArenaNoVirtual() == nullptr && objective_ != nullptr) {
7230  delete objective_;
7231  }
7232  objective_ = nullptr;
7233 }
7234 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
7235  const ::operations_research::sat::CpObjectiveProto* p = objective_;
7236  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
7237  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::CpObjectiveProto*>(
7239 }
7240 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
7241  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
7242 
7244  objective_ = nullptr;
7245  return temp;
7247 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
7248 
7249  if (objective_ == nullptr) {
7250  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArenaNoVirtual());
7251  objective_ = p;
7252  }
7253  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
7254  return objective_;
7255 }
7257  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
7258  if (message_arena == nullptr) {
7259  delete objective_;
7260  }
7261  if (objective) {
7262  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
7263  if (message_arena != submessage_arena) {
7264  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7265  message_arena, objective, submessage_arena);
7266  }
7268  } else {
7269 
7270  }
7271  objective_ = objective;
7272  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
7274 
7275 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
7277  return search_strategy_.size();
7278 }
7280  search_strategy_.Clear();
7281 }
7282 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
7283  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
7284  return search_strategy_.Mutable(index);
7285 }
7286 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
7288  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
7289  return &search_strategy_;
7290 }
7291 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
7292  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
7293  return search_strategy_.Get(index);
7294 }
7295 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
7296  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
7297  return search_strategy_.Add();
7298 }
7299 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
7301  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
7302  return search_strategy_;
7303 }
7305 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
7306 inline bool CpModelProto::has_solution_hint() const {
7307  return this != internal_default_instance() && solution_hint_ != nullptr;
7308 }
7309 inline void CpModelProto::clear_solution_hint() {
7310  if (GetArenaNoVirtual() == nullptr && solution_hint_ != nullptr) {
7311  delete solution_hint_;
7312  }
7313  solution_hint_ = nullptr;
7314 }
7315 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
7316  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
7317  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
7318  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment*>(
7320 }
7321 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
7322  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
7323 
7325  solution_hint_ = nullptr;
7326  return temp;
7328 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
7329 
7330  if (solution_hint_ == nullptr) {
7331  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArenaNoVirtual());
7332  solution_hint_ = p;
7333  }
7334  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
7335  return solution_hint_;
7336 }
7338  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
7339  if (message_arena == nullptr) {
7340  delete solution_hint_;
7341  }
7342  if (solution_hint) {
7343  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
7344  if (message_arena != submessage_arena) {
7345  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7346  message_arena, solution_hint, submessage_arena);
7347  }
7349  } else {
7350 
7351  }
7352  solution_hint_ = solution_hint;
7353  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
7355 
7356 // -------------------------------------------------------------------
7358 // CpSolverResponse
7359 
7360 // .operations_research.sat.CpSolverStatus status = 1;
7361 inline void CpSolverResponse::clear_status() {
7362  status_ = 0;
7365  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
7366  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
7367 }
7370  status_ = value;
7371  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
7372 }
7373 
7374 // repeated int64 solution = 2;
7375 inline int CpSolverResponse::solution_size() const {
7376  return solution_.size();
7377 }
7378 inline void CpSolverResponse::clear_solution() {
7379  solution_.Clear();
7380 }
7381 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution(int index) const {
7382  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
7383  return solution_.Get(index);
7384 }
7385 inline void CpSolverResponse::set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7386  solution_.Set(index, value);
7387  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
7388 }
7389 inline void CpSolverResponse::add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
7390  solution_.Add(value);
7391  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
7392 }
7393 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7395  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
7396  return solution_;
7397 }
7398 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7400  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
7401  return &solution_;
7402 }
7403 
7404 // double objective_value = 3;
7406  objective_value_ = 0;
7407 }
7408 inline double CpSolverResponse::objective_value() const {
7409  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
7410  return objective_value_;
7411 }
7412 inline void CpSolverResponse::set_objective_value(double value) {
7414  objective_value_ = value;
7415  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
7416 }
7418 // double best_objective_bound = 4;
7420  best_objective_bound_ = 0;
7421 }
7422 inline double CpSolverResponse::best_objective_bound() const {
7423  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
7424  return best_objective_bound_;
7425 }
7426 inline void CpSolverResponse::set_best_objective_bound(double value) {
7428  best_objective_bound_ = value;
7429  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
7431 
7432 // repeated int64 solution_lower_bounds = 18;
7434  return solution_lower_bounds_.size();
7435 }
7437  solution_lower_bounds_.Clear();
7439 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_lower_bounds(int index) const {
7440  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_lower_bounds)
7441  return solution_lower_bounds_.Get(index);
7442 }
7443 inline void CpSolverResponse::set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7444  solution_lower_bounds_.Set(index, value);
7445  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_lower_bounds)
7446 }
7447 inline void CpSolverResponse::add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
7448  solution_lower_bounds_.Add(value);
7449  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_lower_bounds)
7450 }
7451 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7453  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
7454  return solution_lower_bounds_;
7455 }
7456 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7458  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
7459  return &solution_lower_bounds_;
7460 }
7462 // repeated int64 solution_upper_bounds = 19;
7464  return solution_upper_bounds_.size();
7465 }
7467  solution_upper_bounds_.Clear();
7469 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_upper_bounds(int index) const {
7470  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_upper_bounds)
7471  return solution_upper_bounds_.Get(index);
7472 }
7473 inline void CpSolverResponse::set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7474  solution_upper_bounds_.Set(index, value);
7475  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_upper_bounds)
7476 }
7477 inline void CpSolverResponse::add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
7478  solution_upper_bounds_.Add(value);
7479  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_upper_bounds)
7480 }
7481 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7483  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
7484  return solution_upper_bounds_;
7486 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7488  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
7489  return &solution_upper_bounds_;
7490 }
7491 
7492 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
7493 inline int CpSolverResponse::tightened_variables_size() const {
7494  return tightened_variables_.size();
7495 }
7497  tightened_variables_.Clear();
7498 }
7499 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
7500  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
7501  return tightened_variables_.Mutable(index);
7502 }
7503 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
7505  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
7506  return &tightened_variables_;
7507 }
7508 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
7509  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
7510  return tightened_variables_.Get(index);
7511 }
7512 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
7513  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
7514  return tightened_variables_.Add();
7516 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
7518  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
7519  return tightened_variables_;
7520 }
7521 
7522 // bool all_solutions_were_found = 5;
7524  all_solutions_were_found_ = false;
7525 }
7527  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.all_solutions_were_found)
7528  return all_solutions_were_found_;
7529 }
7530 inline void CpSolverResponse::set_all_solutions_were_found(bool value) {
7532  all_solutions_were_found_ = value;
7533  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.all_solutions_were_found)
7534 }
7535 
7536 // int64 num_booleans = 10;
7538  num_booleans_ = PROTOBUF_LONGLONG(0);
7539 }
7540 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_booleans() const {
7541  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
7542  return num_booleans_;
7543 }
7544 inline void CpSolverResponse::set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
7546  num_booleans_ = value;
7547  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
7549 
7550 // int64 num_conflicts = 11;
7552  num_conflicts_ = PROTOBUF_LONGLONG(0);
7554 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_conflicts() const {
7555  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
7556  return num_conflicts_;
7558 inline void CpSolverResponse::set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
7559 
7560  num_conflicts_ = value;
7561  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
7562 }
7563 
7564 // int64 num_branches = 12;
7566  num_branches_ = PROTOBUF_LONGLONG(0);
7567 }
7568 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_branches() const {
7569  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
7570  return num_branches_;
7571 }
7572 inline void CpSolverResponse::set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
7573 
7574  num_branches_ = value;
7575  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
7576 }
7577 
7578 // int64 num_binary_propagations = 13;
7580  num_binary_propagations_ = PROTOBUF_LONGLONG(0);
7581 }
7582 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_binary_propagations() const {
7583  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
7584  return num_binary_propagations_;
7585 }
7586 inline void CpSolverResponse::set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
7587 
7588  num_binary_propagations_ = value;
7589  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
7590 }
7591 
7592 // int64 num_integer_propagations = 14;
7594  num_integer_propagations_ = PROTOBUF_LONGLONG(0);
7595 }
7596 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_integer_propagations() const {
7597  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
7598  return num_integer_propagations_;
7599 }
7600 inline void CpSolverResponse::set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
7601 
7602  num_integer_propagations_ = value;
7603  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
7604 }
7605 
7606 // double wall_time = 15;
7608  wall_time_ = 0;
7609 }
7610 inline double CpSolverResponse::wall_time() const {
7611  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
7612  return wall_time_;
7613 }
7614 inline void CpSolverResponse::set_wall_time(double value) {
7615 
7616  wall_time_ = value;
7617  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
7618 }
7619 
7620 // double user_time = 16;
7622  user_time_ = 0;
7623 }
7624 inline double CpSolverResponse::user_time() const {
7625  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
7626  return user_time_;
7627 }
7628 inline void CpSolverResponse::set_user_time(double value) {
7629 
7630  user_time_ = value;
7631  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
7632 }
7633 
7634 // double deterministic_time = 17;
7636  deterministic_time_ = 0;
7637 }
7638 inline double CpSolverResponse::deterministic_time() const {
7639  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
7640  return deterministic_time_;
7641 }
7642 inline void CpSolverResponse::set_deterministic_time(double value) {
7643 
7644  deterministic_time_ = value;
7645  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
7646 }
7647 
7648 // string solution_info = 20;
7650  solution_info_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
7651 }
7652 inline const std::string& CpSolverResponse::solution_info() const {
7653  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
7654  return solution_info_.GetNoArena();
7655 }
7656 inline void CpSolverResponse::set_solution_info(const std::string& value) {
7657 
7658  solution_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
7659  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
7660 }
7661 inline void CpSolverResponse::set_solution_info(std::string&& value) {
7662 
7663  solution_info_.SetNoArena(
7664  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
7665  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.solution_info)
7666 }
7667 inline void CpSolverResponse::set_solution_info(const char* value) {
7668  GOOGLE_DCHECK(value != nullptr);
7669 
7670  solution_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
7671  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.solution_info)
7672 }
7673 inline void CpSolverResponse::set_solution_info(const char* value, size_t size) {
7674 
7675  solution_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
7676  ::std::string(reinterpret_cast<const char*>(value), size));
7677  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.solution_info)
7678 }
7679 inline std::string* CpSolverResponse::mutable_solution_info() {
7680 
7681  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
7682  return solution_info_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
7683 }
7685  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
7686 
7687  return solution_info_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
7688 }
7689 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
7690  if (solution_info != nullptr) {
7692  } else {
7693 
7694  }
7695  solution_info_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info);
7696  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
7697 }
7699 #ifdef __GNUC__
7700  #pragma GCC diagnostic pop
7701 #endif // __GNUC__
7702 // -------------------------------------------------------------------
7703 
7704 // -------------------------------------------------------------------
7706 // -------------------------------------------------------------------
7707 
7708 // -------------------------------------------------------------------
7709 
7710 // -------------------------------------------------------------------
7711 
7712 // -------------------------------------------------------------------
7713 
7714 // -------------------------------------------------------------------
7715 
7716 // -------------------------------------------------------------------
7717 
7718 // -------------------------------------------------------------------
7719 
7720 // -------------------------------------------------------------------
7721 
7722 // -------------------------------------------------------------------
7723 
7724 // -------------------------------------------------------------------
7725 
7726 // -------------------------------------------------------------------
7727 
7728 // -------------------------------------------------------------------
7729 
7730 // -------------------------------------------------------------------
7731 
7732 // -------------------------------------------------------------------
7734 // -------------------------------------------------------------------
7735 
7736 // -------------------------------------------------------------------
7737 
7738 // -------------------------------------------------------------------
7739 
7740 // -------------------------------------------------------------------
7741 
7742 // -------------------------------------------------------------------
7743 
7744 // -------------------------------------------------------------------
7745 
7746 // -------------------------------------------------------------------
7747 
7748 
7749 // @@protoc_insertion_point(namespace_scope)
7750 
7751 } // namespace sat
7752 } // namespace operations_research
7753 
7754 PROTOBUF_NAMESPACE_OPEN
7755 
7756 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
7757 template <>
7758 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
7760 }
7761 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
7762 template <>
7763 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
7765 }
7766 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
7767 template <>
7768 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
7770 }
7771 
7772 PROTOBUF_NAMESPACE_CLOSE
7773 
7774 // @@protoc_insertion_point(global_scope)
7775 
7776 #include <google/protobuf/port_undef.inc>
7777 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
Definition: cp_model.pb.h:1738
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1900
void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5133
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5036
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(const std::string &name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:186
void Swap(IntegerVariableProto *other)
PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
static const CpSolverResponse & default_instance()
bool has_bool_and() const
.operations_research.sat.BoolArgumentProto bool_and = 4;
Definition: cp_model.pb.h:5918
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool has_all_diff() const
.operations_research.sat.AllDifferentConstraintProto all_diff = 13;
Definition: cp_model.pb.h:6287
static const DecisionStrategyProto_AffineTransformation & default_instance()
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:6932
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4568
const ::operations_research::sat::ElementConstraintProto & element() const
Definition: cp_model.pb.h:6351
bool CpSolverStatus_Parse(const std::string &name, CpSolverStatus *value)
Definition: cp_model.pb.h:241
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:5785
int nexts_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5418
::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const
Definition: cp_model.pb.h:7645
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2693
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:3487
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2043
int transition_head_size() const
repeated int64 transition_head = 5;
Definition: cp_model.pb.h:5701
::operations_research::sat::ConstraintProto * add_constraints()
Definition: cp_model.pb.h:7262
int literals_size() const
repeated int32 literals = 3;
Definition: cp_model.pb.h:5339
int transformations_size() const
repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
Definition: cp_model.pb.h:7062
void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5745
void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7522
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1281
void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7014
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:202
static const TableConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2399
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:2934
void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7526
ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
static const InverseConstraintProto & default_instance()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & y_intervals() const
Definition: cp_model.pb.h:4966
::PROTOBUF_NAMESPACE_ID::int64 capacity() const
Definition: cp_model.pb.h:5402
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::operations_research::sat::IntegerVariableProto * add_tightened_variables()
Definition: cp_model.pb.h:7561
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1721
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4896
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
Definition: cp_model.pb.h:7055
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:230
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
Definition: cp_model.pb.h:5203
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
int transition_label_size() const
repeated int64 transition_label = 6;
Definition: cp_model.pb.h:5731
RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
int enforcement_literal_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5847
static const NoOverlapConstraintProto & default_instance()
int variables_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:7213
const std::string & name() const
Definition: cp_model.pb.h:5799
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1566
static const BoolArgumentProto & default_instance()
void add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5432
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1421
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:200
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
Definition: cp_model.pb.h:5238
int tails_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5184
int final_states_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5641
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DomainReductionStrategy_descriptor()
Definition: cp_model.pb.h:3780
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
NoOverlap2DConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:1441
static const IntegerVariableProto & default_instance()
static constexpr DomainReductionStrategy SELECT_LOWER_HALF
Definition: cp_model.pb.h:3766
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1730
const ::operations_research::sat::PartialVariableAssignment & solution_hint() const
Definition: cp_model.pb.h:7363
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
void clear_num_binary_propagations()
int64 num_binary_propagations = 13;
Definition: cp_model.pb.h:7628
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
Definition: cp_model.pb.h:5208
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3644
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:836
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1012
void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4961
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:4034
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_demands()
Definition: cp_model.pb.h:5143
void clear_start()
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4835
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4931
void Swap(AutomatonConstraintProto *other)
::operations_research::sat::AutomatonConstraintProto * release_automaton()
Definition: cp_model.pb.h:6545
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2696
::operations_research::sat::CpSolverStatus status() const
Definition: cp_model.pb.h:7413
::PROTOBUF_NAMESPACE_ID::int64 min_level() const
Definition: cp_model.pb.h:5064
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: cp_model.pb.h:53
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1143
void Swap(NoOverlapConstraintProto *other)
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
int demands_size() const
repeated int32 demands = 3;
Definition: cp_model.pb.h:5026
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_upper_bounds() const
Definition: cp_model.pb.h:7531
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
int vars_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:6834
void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5159
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
Definition: cp_model.pb.h:294
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1004
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:4721
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5289
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
Definition: cp_model.pb.h:4731
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:4696
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4793
void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void Swap(NoOverlap2DConstraintProto *other)
::PROTOBUF_NAMESPACE_ID::int64 starting_state() const
Definition: cp_model.pb.h:5630
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5523
CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
int actives_size() const
repeated int32 actives = 5;
Definition: cp_model.pb.h:5149
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_final_states()
Definition: cp_model.pb.h:5665
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
Definition: cp_model.pb.h:7041
static bool DomainReductionStrategy_Parse(const std::string &name, DomainReductionStrategy *value)
Definition: cp_model.pb.h:3790
void Swap(CircuitCoveringConstraintProto *other)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
Definition: cp_model.pb.h:5358
int search_strategy_size() const
repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
Definition: cp_model.pb.h:7324
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
Definition: cp_model.pb.h:6941
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3330
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5602
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1284
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & enforcement_literal() const
Definition: cp_model.pb.h:5866
void Swap(IntervalConstraintProto *other)
::operations_research::sat::InverseConstraintProto * mutable_inverse()
Definition: cp_model.pb.h:6603
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5198
LinearConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:856
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4617
TableConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:2413
static const AllDifferentConstraintProto & default_instance()
int intervals_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4882
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const CircuitCoveringConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2251
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_nexts()
Definition: cp_model.pb.h:5442
NoOverlapConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:1307
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
::operations_research::sat::CircuitCoveringConstraintProto * release_circuit_covering()
Definition: cp_model.pb.h:6463
bool has_int_div() const
.operations_research.sat.IntegerArgumentProto int_div = 7;
Definition: cp_model.pb.h:6041
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
Definition: cp_model.pb.h:5303
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:2677
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5194
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
Definition: cp_model.pb.h:1705
InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4927
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:2710
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3324
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_inverse() const
Definition: cp_model.pb.h:5611
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
Definition: cp_model.pb.h:4756
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7492
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
static const AutomatonConstraintProto & default_instance()
bool has_at_most_one() const
.operations_research.sat.BoolArgumentProto at_most_one = 26;
Definition: cp_model.pb.h:5959
::operations_research::sat::NoOverlapConstraintProto * mutable_no_overlap()
Definition: cp_model.pb.h:6726
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:850
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:3728
int vars_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4642
static const InverseConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2554
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5129
AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
CumulativeConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:1589
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:702
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
Definition: cp_model.pb.h:4582
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:2407
::PROTOBUF_NAMESPACE_ID::int64 max_level() const
Definition: cp_model.pb.h:5078
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1575
void set_solution_info(const std::string &value)
Definition: cp_model.pb.h:7705
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
DecisionStrategyProto_AffineTransformation AffineTransformation
nested types -------------------------------------------------—
Definition: cp_model.pb.h:3723
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
Definition: cp_model.pb.h:5298
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7593
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
Definition: cp_model.pb.h:5982
friend void swap(DecisionStrategyProto_AffineTransformation &a, DecisionStrategyProto_AffineTransformation &b)
Definition: cp_model.pb.h:3520
int values_size() const
repeated int64 values = 2;
Definition: cp_model.pb.h:5513
PartialVariableAssignment * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:3900
friend void swap(CircuitCoveringConstraintProto &a, CircuitCoveringConstraintProto &b)
Definition: cp_model.pb.h:2259
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
Definition: cp_model.pb.h:4901
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5527
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
::operations_research::sat::IntegerArgumentProto * mutable_int_div()
Definition: cp_model.pb.h:6070
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_label()
Definition: cp_model.pb.h:5755
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & x_intervals() const
Definition: cp_model.pb.h:4936
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > * mutable_search_strategy()
Definition: cp_model.pb.h:7335
void Swap(InverseConstraintProto *other)
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
bool DecisionStrategyProto_DomainReductionStrategy_Parse(const std::string &name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:213
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::int32 size() const
Definition: cp_model.pb.h:4866
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2890
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:408
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void set_allocated_name(std::string *name)
Definition: cp_model.pb.h:7202
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
Definition: cp_model.pb.h:5233
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
BoolArgumentProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:447
int variables_size() const
accessors ----------------------------------------------------—
Definition: cp_model.pb.h:7004
CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
bool has_bool_xor() const
.operations_research.sat.BoolArgumentProto bool_xor = 5;
Definition: cp_model.pb.h:6000
int coeffs_size() const
repeated int64 coeffs = 2;
Definition: cp_model.pb.h:4707
void Swap(ElementConstraintProto *other)
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:2529
void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
Definition: cp_model.pb.h:5537
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1160
CircuitCoveringConstraintProtoDefaultTypeInternal _CircuitCoveringConstraintProto_default_instance_
void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5406
int solution_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:7424
void Swap(CpObjectiveProto *other)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution()
Definition: cp_model.pb.h:7448
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:555
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1724
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:2874
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_times()
Definition: cp_model.pb.h:5113
static const CircuitConstraintProto & default_instance()
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:175
RoutesConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:2082
BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
::operations_research::sat::PartialVariableAssignment * release_solution_hint()
Definition: cp_model.pb.h:7369
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:708
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & variables() const
Definition: cp_model.pb.h:7237
void clear_deterministic_time()
double deterministic_time = 17;
Definition: cp_model.pb.h:7684
void set_allocated_circuit_covering(::operations_research::sat::CircuitCoveringConstraintProto *circuit_covering)
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:817
::operations_research::sat::InverseConstraintProto * release_inverse()
Definition: cp_model.pb.h:6586
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
Definition: cp_model.pb.h:5268
::PROTOBUF_NAMESPACE_ID::int32 target() const
Definition: cp_model.pb.h:4789
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::int32 capacity() const
Definition: cp_model.pb.h:4985
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3327
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void clear_num_booleans()
int64 num_booleans = 10;
Definition: cp_model.pb.h:7586
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:5507
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:4717
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5323
Internal implementation detail – do not use these members.
Definition: cp_model.pb.h:46
int values_size() const
repeated int64 values = 2;
Definition: cp_model.pb.h:7127
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:4537
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:55
::operations_research::sat::ReservoirConstraintProto * release_reservoir()
Definition: cp_model.pb.h:6627
const std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:206
void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5572
void Swap(AllDifferentConstraintProto *other)
static constexpr int kIndexInFileMessages
Definition: cp_model.pb.h:4038
int domain_size() const
repeated int64 domain = 3;
Definition: cp_model.pb.h:4737
static const PartialVariableAssignment & default_instance()
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:174
::operations_research::sat::LinearConstraintProto * mutable_linear()
Definition: cp_model.pb.h:6275
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:3770
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:4751
int literals_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4558
int tightened_variables_size() const
repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
Definition: cp_model.pb.h:7542
static constexpr DomainReductionStrategy DomainReductionStrategy_MAX
Definition: cp_model.pb.h:3775
bool has_routes() const
.operations_research.sat.RoutesConstraintProto routes = 23;
Definition: cp_model.pb.h:6410
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4600
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:441
::operations_research::sat::IntervalConstraintProto * release_interval()
Definition: cp_model.pb.h:6668
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:7121
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & actives() const
Definition: cp_model.pb.h:5168
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool has_automaton() const
.operations_research.sat.AutomatonConstraintProto automaton = 17;
Definition: cp_model.pb.h:6533
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
Definition: cp_model.pb.h:1402
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void clear_wall_time()
double wall_time = 15;
Definition: cp_model.pb.h:7656
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4652
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: cp_model.pb.h:54
void set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5428
DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_label() const
Definition: cp_model.pb.h:5750
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:274
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
Definition: cp_model.pb.h:7051
IntegerArgumentProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:581
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & distinguished_nodes() const
Definition: cp_model.pb.h:5467
bool has_linear() const
.operations_research.sat.LinearConstraintProto linear = 12;
Definition: cp_model.pb.h:6246
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_lower_bounds()
Definition: cp_model.pb.h:7506
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3506
static const ElementConstraintProto & default_instance()
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:558
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1146
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
Definition: cp_model.pb.h:7151
::operations_research::sat::BoolArgumentProto * release_bool_xor()
Definition: cp_model.pb.h:6012
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:3344
void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5634
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_x_intervals()
Definition: cp_model.pb.h:4941
::operations_research::sat::TableConstraintProto * mutable_table()
Definition: cp_model.pb.h:6521
::operations_research::sat::AutomatonConstraintProto * mutable_automaton()
Definition: cp_model.pb.h:6562
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
static const RoutesConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2068
void set_allocated_name(std::string *name)
Definition: cp_model.pb.h:5836
static bool VariableSelectionStrategy_Parse(const std::string &name, VariableSelectionStrategy *value)
Definition: cp_model.pb.h:3756
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5861
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2245
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3503
::operations_research::sat::CumulativeConstraintProto * mutable_cumulative()
Definition: cp_model.pb.h:6808
void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5606
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:277
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
CpSolverResponse * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:4240
void clear_status()
.operations_research.sat.CpSolverStatus status = 1;
Definition: cp_model.pb.h:7410
void clear_starting_state()
int64 starting_state = 2;
Definition: cp_model.pb.h:5627
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5379
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_tightened_variables()
Definition: cp_model.pb.h:7553
void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
bool has_table() const
.operations_research.sat.TableConstraintProto table = 16;
Definition: cp_model.pb.h:6492
bool has_inverse() const
.operations_research.sat.InverseConstraintProto inverse = 18;
Definition: cp_model.pb.h:6574
void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5715
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_enforcement_literal()
Definition: cp_model.pb.h:5871
void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7621
void set_end(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4856
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:5502
void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5681
::operations_research::sat::IntegerVariableProto * add_variables()
Definition: cp_model.pb.h:7232
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7141
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:228
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2690
ElementConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:1018
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
Definition: cp_model.pb.h:6023
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:6858
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
Definition: cp_model.pb.h:7343
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:173
void Swap(IntegerArgumentProto *other)
bool has_circuit_covering() const
.operations_research.sat.CircuitCoveringConstraintProto circuit_covering = 25;
Definition: cp_model.pb.h:6451
int x_intervals_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4917
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
Definition: cp_model.pb.h:5532
void clear_num_conflicts()
int64 num_conflicts = 11;
Definition: cp_model.pb.h:7600
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2545
int domain_size() const
repeated int64 domain = 5;
Definition: cp_model.pb.h:6922
static const IntegerArgumentProto & default_instance()
::operations_research::sat::IntegerArgumentProto * release_int_min()
Definition: cp_model.pb.h:6176
CpModelProto & operator=(const CpModelProto &from)
Definition: cp_model.pb.h:4009
friend void swap(CpModelProto &a, CpModelProto &b)
Definition: cp_model.pb.h:4042
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:4819
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:699
void clear_all_solutions_were_found()
bool all_solutions_were_found = 5;
Definition: cp_model.pb.h:7572
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:3311
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
Definition: cp_model.pb.h:6720
::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const
Definition: cp_model.pb.h:7631
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
CircuitConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:1920
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:433
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:3877
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1563
AllDifferentConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:722
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:3336
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::operations_research::sat::IntegerArgumentProto * release_int_prod()
Definition: cp_model.pb.h:6217
static constexpr DomainReductionStrategy DomainReductionStrategy_MIN
Definition: cp_model.pb.h:3773
static const CircuitCoveringConstraintProto & default_instance()
DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:6853
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void clear_user_time()
double user_time = 16;
Definition: cp_model.pb.h:7670
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
Definition: cp_model.pb.h:5015
NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
void Swap(LinearConstraintProto *other)
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::operations_research::sat::NoOverlapConstraintProto * release_no_overlap()
Definition: cp_model.pb.h:6709
void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5576
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4810
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2926
bool has_int_prod() const
.operations_research.sat.IntegerArgumentProto int_prod = 11;
Definition: cp_model.pb.h:6205
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
Definition: cp_model.pb.h:3861
bool has_no_overlap() const
.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
Definition: cp_model.pb.h:6697
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1140
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4656
::operations_research::sat::ElementConstraintProto * mutable_element()
Definition: cp_model.pb.h:6357
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:696
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5293
static const CpObjectiveProto & default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution() const
Definition: cp_model.pb.h:7443
::operations_research::sat::BoolArgumentProto * release_bool_or()
Definition: cp_model.pb.h:5889
void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
Definition: cp_model.pb.h:7385
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::sat::LinearConstraintProto * release_linear()
Definition: cp_model.pb.h:6258
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5655
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:3661
InverseConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:2568
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
Definition: cp_model.pb.h:6556
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:179
const ::operations_research::sat::CpObjectiveProto & objective() const
Definition: cp_model.pb.h:7282
void Swap(CpModelProto *other)
void set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5857
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_direct()
Definition: cp_model.pb.h:5586
int y_intervals_size() const
repeated int32 y_intervals = 2;
Definition: cp_model.pb.h:4947
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > * mutable_transformations()
Definition: cp_model.pb.h:7073
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & times() const
Definition: cp_model.pb.h:5108
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void set_name(const std::string &value)
Definition: cp_model.pb.h:4479
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::sat::CpObjectiveProto * release_objective()
Definition: cp_model.pb.h:7288
static const DecisionStrategyProto_AffineTransformation * internal_default_instance()
Definition: cp_model.pb.h:3512
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2059
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:561
bool has_interval() const
.operations_research.sat.IntervalConstraintProto interval = 19;
Definition: cp_model.pb.h:6656
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:427
int transition_tail_size() const
repeated int64 transition_tail = 4;
Definition: cp_model.pb.h:5671
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:4028
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:3732
static const TableConstraintProto & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3647
const ::operations_research::sat::CircuitCoveringConstraintProto & circuit_covering() const
Definition: cp_model.pb.h:6474
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5771
void set_status(::operations_research::sat::CpSolverStatus value)
Definition: cp_model.pb.h:7417
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1127
::operations_research::sat::ReservoirConstraintProto * mutable_reservoir()
Definition: cp_model.pb.h:6644
::PROTOBUF_NAMESPACE_ID::int32 target() const
Definition: cp_model.pb.h:4596
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:4025
bool has_solution_hint() const
.operations_research.sat.PartialVariableAssignment solution_hint = 6;
Definition: cp_model.pb.h:7354
int solution_upper_bounds_size() const
repeated int64 solution_upper_bounds = 19;
Definition: cp_model.pb.h:7512
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:830
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:1881
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
Definition: cp_model.pb.h:5333
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_actives()
Definition: cp_model.pb.h:5173
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
void clear_num_branches()
int64 num_branches = 12;
Definition: cp_model.pb.h:7614
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::operations_research::sat::NoOverlap2DConstraintProto * mutable_no_overlap_2d()
Definition: cp_model.pb.h:6767
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_tail()
Definition: cp_model.pb.h:5695
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4814
static constexpr DomainReductionStrategy SELECT_MAX_VALUE
Definition: cp_model.pb.h:3764
::operations_research::sat::BoolArgumentProto * mutable_bool_and()
Definition: cp_model.pb.h:5947
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7607
int vars_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4677
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5775
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & variables() const
Definition: cp_model.pb.h:7023
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:1914
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::int32 end() const
Definition: cp_model.pb.h:4852
void clear_scaling_factor()
double scaling_factor = 3;
Definition: cp_model.pb.h:6908
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool has_objective() const
.operations_research.sat.CpObjectiveProto objective = 4;
Definition: cp_model.pb.h:7273
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:3653
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:3734
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
Definition: cp_model.pb.h:6946
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
Definition: cp_model.pb.h:1301
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2548
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:7116
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2387
const ::operations_research::sat::CircuitConstraintProto & circuit() const
Definition: cp_model.pb.h:6392
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1415
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
IntegerVariableProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:300
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
Definition: cp_model.pb.h:6888
ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
::operations_research::sat::AllDifferentConstraintProto * release_all_diff()
Definition: cp_model.pb.h:6299
void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5099
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6844
void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7496
bool CpSolverStatus_IsValid(int value)
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4892
void set_allocated_solution_info(std::string *solution_info)
Definition: cp_model.pb.h:7738
static constexpr DomainReductionStrategy SELECT_MIN_VALUE
Definition: cp_model.pb.h:3762
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1427
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5349
int vars_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:7097
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:3886
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:1550
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
Definition: cp_model.pb.h:6802
void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5068
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & demands() const
Definition: cp_model.pb.h:5138
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > & constraints() const
Definition: cp_model.pb.h:7267
void clear_objective_value()
double objective_value = 3;
Definition: cp_model.pb.h:7454
::operations_research::sat::IntegerArgumentProto * mutable_int_max()
Definition: cp_model.pb.h:6152
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:234
void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7649
static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:3730
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:6874
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:575
static const NoOverlap2DConstraintProto & default_instance()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
bool has_circuit() const
.operations_research.sat.CircuitConstraintProto circuit = 15;
Definition: cp_model.pb.h:6369
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5497
static constexpr DomainReductionStrategy SELECT_UPPER_HALF
Definition: cp_model.pb.h:3768
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2893
::operations_research::sat::CircuitConstraintProto * release_circuit()
Definition: cp_model.pb.h:6381
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:995
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:261
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2239
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:4234
::operations_research::sat::BoolArgumentProto * release_at_most_one()
Definition: cp_model.pb.h:5971
::operations_research::sat::RoutesConstraintProto * release_routes()
Definition: cp_model.pb.h:6422
::operations_research::sat::IntegerArgumentProto * release_int_div()
Definition: cp_model.pb.h:6053
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:3880
void Swap(CircuitConstraintProto *other)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() const
Definition: cp_model.pb.h:7348
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2887
::operations_research::sat::CumulativeConstraintProto * release_cumulative()
Definition: cp_model.pb.h:6791
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & nexts() const
Definition: cp_model.pb.h:5437
void add_times(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5103
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5040
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_upper_bounds()
Definition: cp_model.pb.h:7536
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
Definition: cp_model.pb.h:6638
::operations_research::sat::PartialVariableAssignment * mutable_solution_hint()
Definition: cp_model.pb.h:7376
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2542
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const std::string & DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:3784
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
Definition: cp_model.pb.h:4726
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:4226
void clear_best_objective_bound()
double best_objective_bound = 4;
Definition: cp_model.pb.h:7468
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static constexpr int VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:3743
int vars_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5483
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:4214
::operations_research::sat::AllDifferentConstraintProto * mutable_all_diff()
Definition: cp_model.pb.h:6316
void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5651
::operations_research::sat::BoolArgumentProto * mutable_at_most_one()
Definition: cp_model.pb.h:5988
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
AutomatonConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:2716
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > & transformations() const
Definition: cp_model.pb.h:7086
IntegerArgumentProto & operator=(const IntegerArgumentProto &from)
Definition: cp_model.pb.h:542
void set_name(const std::string &value)
Definition: cp_model.pb.h:7169
const ::operations_research::sat::IntegerArgumentProto & int_prod() const
Definition: cp_model.pb.h:6228
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2242
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1418
void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:6992
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
Definition: cp_model.pb.h:6883
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:4824
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_head() const
Definition: cp_model.pb.h:5720
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1894
void Swap(PartialVariableAssignment *other)
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
ReservoirConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:1744
CircuitCoveringConstraintProto & operator=(const CircuitCoveringConstraintProto &from)
Definition: cp_model.pb.h:2226
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_direct() const
Definition: cp_model.pb.h:5581
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:683
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5383
friend void swap(AllDifferentConstraintProto &a, AllDifferentConstraintProto &b)
Definition: cp_model.pb.h:716
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_variables()
Definition: cp_model.pb.h:7224
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:6878
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
DecisionStrategyProto & operator=(const DecisionStrategyProto &from)
Definition: cp_model.pb.h:3628
int times_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5089
const std::string & name() const
Definition: cp_model.pb.h:7165
void clear_domain_reduction_strategy()
.operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
Definition: cp_model.pb.h:7048
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_distinguished_nodes()
Definition: cp_model.pb.h:5472
const ::operations_research::sat::InverseConstraintProto & inverse() const
Definition: cp_model.pb.h:6597
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::operations_research::sat::IntegerArgumentProto * mutable_int_min()
Definition: cp_model.pb.h:6193
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
int constraints_size() const
repeated .operations_research.sat.ConstraintProto constraints = 3;
Definition: cp_model.pb.h:7243
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:4661
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:4747
::operations_research::sat::IntegerArgumentProto * release_int_max()
Definition: cp_model.pb.h:6135
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void clear_variable_selection_strategy()
.operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy ...
Definition: cp_model.pb.h:7034
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7635
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_inverse()
Definition: cp_model.pb.h:5616
CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:201
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
static const IntervalConstraintProto & default_instance()
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:842
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2076
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5319
void Swap(CumulativeConstraintProto *other)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3874
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4621
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
Definition: cp_model.pb.h:4547
void Swap(TableConstraintProto *other)
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:256
void set_index(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4779
void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4957
void set_name(const std::string &value)
Definition: cp_model.pb.h:5803
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
int literals_size() const
repeated int32 literals = 5;
Definition: cp_model.pb.h:5244
const ::operations_research::sat::IntegerArgumentProto & int_div() const
Definition: cp_model.pb.h:6064
void Swap(DecisionStrategyProto *other)
void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5741
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
int domain_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4523
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.h:3746
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1287
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:2562
ConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:2940
void Swap(DecisionStrategyProto_AffineTransformation *other)
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5353
int heads_size() const
repeated int32 heads = 4;
Definition: cp_model.pb.h:5214
int distinguished_nodes_size() const
repeated int64 distinguished_nodes = 2;
Definition: cp_model.pb.h:5448
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
Definition: cp_model.pb.h:5328
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void set_start(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4842
static const ReservoirConstraintProto & default_instance()
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
::PROTOBUF_NAMESPACE_ID::int32 index() const
Definition: cp_model.pb.h:4775
void set_size(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4870
static const LinearConstraintProto & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:998
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
static const RoutesConstraintProto & default_instance()
::operations_research::sat::DecisionStrategyProto_AffineTransformation * add_transformations()
Definition: cp_model.pb.h:7081
IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
Definition: cp_model.pb.h:5263
const ::operations_research::sat::IntegerArgumentProto & int_max() const
Definition: cp_model.pb.h:6146
::operations_research::sat::CpObjectiveProto * mutable_objective()
Definition: cp_model.pb.h:7295
TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4989
void Swap(CpSolverResponse *other)
void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7018
bool has_int_min() const
.operations_research.sat.IntegerArgumentProto int_min = 10;
Definition: cp_model.pb.h:6164
static const ConstraintProto & default_instance()
::operations_research::sat::BoolArgumentProto * mutable_bool_or()
Definition: cp_model.pb.h:5906
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:5780
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::operations_research::sat::IntegerArgumentProto & int_min() const
Definition: cp_model.pb.h:6187
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_y_intervals()
Definition: cp_model.pb.h:4971
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...
Definition: cp_model.h:48
CircuitCoveringConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:2265
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:979
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:4701
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
static const std::string & VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:3750
DecisionStrategyProto_VariableSelectionStrategy VariableSelectionStrategy
Definition: cp_model.pb.h:3725
LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
Definition: cp_model.pb.h:4542
void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5685
CpObjectiveProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:3350
int demands_size() const
repeated int64 demands = 4;
Definition: cp_model.pb.h:5119
::operations_research::sat::IntegerArgumentProto * mutable_int_prod()
Definition: cp_model.pb.h:6234
static const DecisionStrategyProto & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:4022
static const CpModelProto & default_instance()
::operations_research::sat::IntegerArgumentProto * mutable_int_mod()
Definition: cp_model.pb.h:6111
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2062
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
void Swap(ReservoirConstraintProto *other)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:4220
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:1583
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5010
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:4631
const ::operations_research::sat::RoutesConstraintProto & routes() const
Definition: cp_model.pb.h:6433
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
int demands_size() const
repeated int32 demands = 4;
Definition: cp_model.pb.h:5369
static bool VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.h:3736
bool has_int_mod() const
.operations_research.sat.IntegerArgumentProto int_mod = 8;
Definition: cp_model.pb.h:6082
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:280
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7107
::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const
Definition: cp_model.pb.h:7603
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
Definition: cp_model.pb.h:5020
::operations_research::sat::RoutesConstraintProto * mutable_routes()
Definition: cp_model.pb.h:6439
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
Definition: cp_model.pb.h:3761
void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5711
void set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
Definition: cp_model.pb.h:7304
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
Definition: cp_model.pb.h:4906
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
Definition: cp_model.pb.h:7254
bool has_no_overlap_2d() const
.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
Definition: cp_model.pb.h:6738
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:1897
::operations_research::sat::IntervalConstraintProto * mutable_interval()
Definition: cp_model.pb.h:6685
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:1435
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr VariableSelectionStrategy CHOOSE_FIRST
Definition: cp_model.pb.h:3726
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:833
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7137
static const AutomatonConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2702
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
Definition: cp_model.pb.h:6310
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1293
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:2393
void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7438
const std::string & solution_info() const
Definition: cp_model.pb.h:7701
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5258
::operations_research::sat::ElementConstraintProto * release_element()
Definition: cp_model.pb.h:6340
void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5082
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
int coeffs_size() const
repeated int64 coeffs = 4;
Definition: cp_model.pb.h:6864
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
Definition: cp_model.pb.h:4626
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
Definition: cp_model.pb.h:7037
IntervalConstraintProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:1166
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:3739
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:1718
int vars_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4607
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
int f_inverse_size() const
repeated int32 f_inverse = 2;
Definition: cp_model.pb.h:5592
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_head()
Definition: cp_model.pb.h:5725
IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
::operations_research::sat::CircuitCoveringConstraintProto * mutable_circuit_covering()
Definition: cp_model.pb.h:6480
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:7111
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
Definition: cp_model.pb.h:5045
::operations_research::sat::BoolArgumentProto * release_bool_and()
Definition: cp_model.pb.h:5930
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void Swap(RoutesConstraintProto *other)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_offset()
nested types -------------------------------------------------—
Definition: cp_model.pb.h:6971
void clear_num_integer_propagations()
int64 num_integer_propagations = 14;
Definition: cp_model.pb.h:7642
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5493
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4691
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
Definition: cp_model.pb.h:1268
::operations_research::sat::IntegerArgumentProto * release_int_mod()
Definition: cp_model.pb.h:6094
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:6848
CpSolverResponse & operator=(const CpSolverResponse &from)
Definition: cp_model.pb.h:4201
const ::operations_research::sat::IntegerArgumentProto & int_mod() const
Definition: cp_model.pb.h:6105
int intervals_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4996
::operations_research::sat::CircuitConstraintProto * mutable_circuit()
Definition: cp_model.pb.h:6398
void Swap(ConstraintProto *other)
::operations_research::sat::NoOverlap2DConstraintProto * release_no_overlap_2d()
Definition: cp_model.pb.h:6750
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
int heads_size() const
repeated int32 heads = 2;
Definition: cp_model.pb.h:5309
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1906
int f_direct_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5562
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5163
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:2390
DecisionStrategyProto_AffineTransformation * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:3526
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:2374
int vars_size() const
repeated int32 vars = 7;
Definition: cp_model.pb.h:5761
void clear_solution_info()
string solution_info = 20;
Definition: cp_model.pb.h:7698
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
Definition: cp_model.pb.h:5393
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
Definition: cp_model.pb.h:4666
void Swap(BoolArgumentProto *other)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & tightened_variables() const
Definition: cp_model.pb.h:7566
bool has_reservoir() const
.operations_research.sat.ReservoirConstraintProto reservoir = 24;
Definition: cp_model.pb.h:6615
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
Definition: cp_model.pb.h:5050
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:229
bool has_cumulative() const
.operations_research.sat.CumulativeConstraintProto cumulative = 22;
Definition: cp_model.pb.h:6779
int tails_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:5279
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3641
bool has_element() const
.operations_research.sat.ElementConstraintProto element = 14;
Definition: cp_model.pb.h:6328
bool has_bool_or() const
.operations_research.sat.BoolArgumentProto bool_or = 3;
Definition: cp_model.pb.h:5877
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_variables()
Definition: cp_model.pb.h:7028
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:3894
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:6936
const ::operations_research::sat::BoolArgumentProto & bool_and() const
Definition: cp_model.pb.h:5941
const ::operations_research::sat::LinearConstraintProto & linear() const
Definition: cp_model.pb.h:6269
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
Definition: cp_model.pb.h:4761
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
Definition: cp_model.pb.h:6761
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
Definition: cp_model.pb.h:4577
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
Definition: cp_model.pb.h:7146
::operations_research::sat::TableConstraintProto * release_table()
Definition: cp_model.pb.h:6504
static const IntegerArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:567
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_tail() const
Definition: cp_model.pb.h:5690
void add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5462
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
DecisionStrategyProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:3667
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
bool has_int_max() const
.operations_research.sat.IntegerArgumentProto int_max = 9;
Definition: cp_model.pb.h:6123
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4572
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5224
static const CumulativeConstraintProto & default_instance()
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1152
void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
void set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:5458
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:421
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:4687
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
::PROTOBUF_NAMESPACE_ID::int64 num_branches() const
Definition: cp_model.pb.h:7617
AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:3741
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:424
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5228
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5254
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::operations_research::sat::IntervalConstraintProto & interval() const
Definition: cp_model.pb.h:6679
void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:7434
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
Definition: cp_model.pb.h:5388
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
Definition: cp_model.pb.h:4533
CpModelProto * New() const final
implements Message -------------------------------------------—
Definition: cp_model.pb.h:4048
const ::operations_research::sat::TableConstraintProto & table() const
Definition: cp_model.pb.h:6515
int solution_lower_bounds_size() const
repeated int64 solution_lower_bounds = 18;
Definition: cp_model.pb.h:7482
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
Definition: cp_model.pb.h:5006
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:992
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & final_states() const
Definition: cp_model.pb.h:5660
NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
const ::operations_research::sat::BoolArgumentProto & bool_or() const
Definition: cp_model.pb.h:5900
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:286
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
Definition: cp_model.pb.h:5363
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:1569
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:4217
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_lower_bounds() const
Definition: cp_model.pb.h:7501
::PROTOBUF_NAMESPACE_ID::int32 start() const
Definition: cp_model.pb.h:4838
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:2056
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:3500
::operations_research::sat::BoolArgumentProto * mutable_bool_xor()
Definition: cp_model.pb.h:6029
::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const
Definition: cp_model.pb.h:7589
int vars_size() const
nested types -------------------------------------------------—
Definition: cp_model.pb.h:4800