OR-Tools  8.0
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 < 3013000
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 3013000 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 // @@protoc_insertion_point(includes)
37 #include <google/protobuf/port_def.inc>
38 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto
39 PROTOBUF_NAMESPACE_OPEN
40 namespace internal {
41 class AnyMetadata;
42 } // namespace internal
43 PROTOBUF_NAMESPACE_CLOSE
44 
45 // Internal implementation detail -- do not use these members.
47  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
49  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
50  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
51  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[26]
52  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
53  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
54  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
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;
63 class AutomatonConstraintProto;
66 class BoolArgumentProto;
69 class CircuitConstraintProto;
72 class CircuitCoveringConstraintProto;
75 class ConstraintProto;
78 class CpModelProto;
81 class CpObjectiveProto;
84 class CpSolverResponse;
87 class CumulativeConstraintProto;
90 class DecisionStrategyProto;
93 class DecisionStrategyProto_AffineTransformation;
96 class ElementConstraintProto;
99 class IntegerArgumentProto;
102 class IntegerVariableProto;
105 class IntervalConstraintProto;
108 class InverseConstraintProto;
111 class LinearArgumentProto;
114 class LinearConstraintProto;
117 class LinearExpressionProto;
120 class NoOverlap2DConstraintProto;
123 class NoOverlapConstraintProto;
126 class PartialVariableAssignment;
129 class ReservoirConstraintProto;
132 class RoutesConstraintProto;
135 class TableConstraintProto;
138 } // namespace sat
139 } // namespace operations_research
140 PROTOBUF_NAMESPACE_OPEN
141 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
142 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
143 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
144 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
145 template<> ::operations_research::sat::CircuitCoveringConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitCoveringConstraintProto>(Arena*);
146 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
147 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
148 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
149 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
150 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
151 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
152 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
153 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
154 template<> ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerArgumentProto>(Arena*);
155 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
156 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
157 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
158 template<> ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearArgumentProto>(Arena*);
159 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
160 template<> ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(Arena*);
161 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
162 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
163 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
164 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
165 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
166 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
167 PROTOBUF_NAMESPACE_CLOSE
168 namespace operations_research {
169 namespace sat {
170 
179 };
184 
185 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
186 template<typename T>
187 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
190  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
191  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
193 }
195  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy* value) {
196  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
198 }
207 };
212 
213 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
214 template<typename T>
215 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
218  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
219  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
221 }
223  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy* value) {
224  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
226 }
227 enum CpSolverStatus : int {
228  UNKNOWN = 0,
230  FEASIBLE = 2,
232  OPTIMAL = 4,
235 };
236 bool CpSolverStatus_IsValid(int value);
240 
241 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
242 template<typename T>
243 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
244  static_assert(::std::is_same<T, CpSolverStatus>::value ||
246  "Incorrect type passed to function CpSolverStatus_Name.");
247  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
248  CpSolverStatus_descriptor(), enum_t_value);
249 }
251  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus* value) {
252  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
254 }
255 // ===================================================================
256 
257 class IntegerVariableProto PROTOBUF_FINAL :
258  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
259  public:
260  inline IntegerVariableProto() : IntegerVariableProto(nullptr) {}
262 
263  IntegerVariableProto(const IntegerVariableProto& from);
264  IntegerVariableProto(IntegerVariableProto&& from) noexcept
265  : IntegerVariableProto() {
266  *this = ::std::move(from);
267  }
268 
269  inline IntegerVariableProto& operator=(const IntegerVariableProto& from) {
270  CopyFrom(from);
271  return *this;
272  }
273  inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
274  if (GetArena() == from.GetArena()) {
275  if (this != &from) InternalSwap(&from);
276  } else {
277  CopyFrom(from);
278  }
279  return *this;
280  }
281 
282  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
283  return GetDescriptor();
284  }
285  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
286  return GetMetadataStatic().descriptor;
287  }
288  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
289  return GetMetadataStatic().reflection;
290  }
291  static const IntegerVariableProto& default_instance();
292 
293  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
294  static inline const IntegerVariableProto* internal_default_instance() {
295  return reinterpret_cast<const IntegerVariableProto*>(
297  }
298  static constexpr int kIndexInFileMessages =
299  0;
300 
301  friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) {
302  a.Swap(&b);
303  }
304  inline void Swap(IntegerVariableProto* other) {
305  if (other == this) return;
306  if (GetArena() == other->GetArena()) {
307  InternalSwap(other);
308  } else {
309  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
310  }
311  }
312  void UnsafeArenaSwap(IntegerVariableProto* other) {
313  if (other == this) return;
314  GOOGLE_DCHECK(GetArena() == other->GetArena());
315  InternalSwap(other);
316  }
317 
318  // implements Message ----------------------------------------------
319 
320  inline IntegerVariableProto* New() const final {
321  return CreateMaybeMessage<IntegerVariableProto>(nullptr);
322  }
323 
324  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
325  return CreateMaybeMessage<IntegerVariableProto>(arena);
326  }
327  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
328  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
329  void CopyFrom(const IntegerVariableProto& from);
330  void MergeFrom(const IntegerVariableProto& from);
331  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
332  bool IsInitialized() const final;
333 
334  size_t ByteSizeLong() const final;
335  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
336  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
337  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
338  int GetCachedSize() const final { return _cached_size_.Get(); }
339 
340  private:
341  inline void SharedCtor();
342  inline void SharedDtor();
343  void SetCachedSize(int size) const final;
344  void InternalSwap(IntegerVariableProto* other);
345  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
346  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
347  return "operations_research.sat.IntegerVariableProto";
348  }
349  protected:
350  explicit IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
351  private:
352  static void ArenaDtor(void* object);
353  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
354  public:
355 
356  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
357  private:
358  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
359  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
360  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
361  }
362 
363  public:
364 
365  // nested types ----------------------------------------------------
366 
367  // accessors -------------------------------------------------------
368 
369  enum : int {
370  kDomainFieldNumber = 2,
371  kNameFieldNumber = 1,
372  };
373  // repeated int64 domain = 2;
374  int domain_size() const;
375  private:
376  int _internal_domain_size() const;
377  public:
378  void clear_domain();
379  private:
380  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
381  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
382  _internal_domain() const;
383  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
384  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
385  _internal_mutable_domain();
386  public:
390  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
391  domain() const;
392  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
394 
395  // string name = 1;
396  void clear_name();
397  const std::string& name() const;
398  void set_name(const std::string& value);
399  void set_name(std::string&& value);
400  void set_name(const char* value);
401  void set_name(const char* value, size_t size);
402  std::string* mutable_name();
403  std::string* release_name();
404  void set_allocated_name(std::string* name);
405  private:
406  const std::string& _internal_name() const;
407  void _internal_set_name(const std::string& value);
408  std::string* _internal_mutable_name();
409  public:
410 
411  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
412  private:
413  class _Internal;
414 
415  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
416  typedef void InternalArenaConstructable_;
417  typedef void DestructorSkippable_;
418  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
419  mutable std::atomic<int> _domain_cached_byte_size_;
420  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
421  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
422  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
423 };
424 // -------------------------------------------------------------------
425 
426 class BoolArgumentProto PROTOBUF_FINAL :
427  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
428  public:
429  inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
431 
432  BoolArgumentProto(const BoolArgumentProto& from);
433  BoolArgumentProto(BoolArgumentProto&& from) noexcept
434  : BoolArgumentProto() {
435  *this = ::std::move(from);
436  }
437 
438  inline BoolArgumentProto& operator=(const BoolArgumentProto& from) {
439  CopyFrom(from);
440  return *this;
441  }
442  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
443  if (GetArena() == from.GetArena()) {
444  if (this != &from) InternalSwap(&from);
445  } else {
446  CopyFrom(from);
447  }
448  return *this;
449  }
450 
451  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
452  return GetDescriptor();
453  }
454  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
455  return GetMetadataStatic().descriptor;
456  }
457  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
458  return GetMetadataStatic().reflection;
459  }
460  static const BoolArgumentProto& default_instance();
461 
462  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
463  static inline const BoolArgumentProto* internal_default_instance() {
464  return reinterpret_cast<const BoolArgumentProto*>(
466  }
467  static constexpr int kIndexInFileMessages =
468  1;
469 
470  friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) {
471  a.Swap(&b);
472  }
473  inline void Swap(BoolArgumentProto* other) {
474  if (other == this) return;
475  if (GetArena() == other->GetArena()) {
476  InternalSwap(other);
477  } else {
478  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
479  }
480  }
481  void UnsafeArenaSwap(BoolArgumentProto* other) {
482  if (other == this) return;
483  GOOGLE_DCHECK(GetArena() == other->GetArena());
484  InternalSwap(other);
485  }
486 
487  // implements Message ----------------------------------------------
488 
489  inline BoolArgumentProto* New() const final {
490  return CreateMaybeMessage<BoolArgumentProto>(nullptr);
491  }
492 
493  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
494  return CreateMaybeMessage<BoolArgumentProto>(arena);
495  }
496  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
497  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
498  void CopyFrom(const BoolArgumentProto& from);
499  void MergeFrom(const BoolArgumentProto& from);
500  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
501  bool IsInitialized() const final;
502 
503  size_t ByteSizeLong() const final;
504  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
505  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
506  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
507  int GetCachedSize() const final { return _cached_size_.Get(); }
508 
509  private:
510  inline void SharedCtor();
511  inline void SharedDtor();
512  void SetCachedSize(int size) const final;
513  void InternalSwap(BoolArgumentProto* other);
514  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
515  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
516  return "operations_research.sat.BoolArgumentProto";
517  }
518  protected:
519  explicit BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
520  private:
521  static void ArenaDtor(void* object);
522  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
523  public:
524 
525  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
526  private:
527  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
528  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
529  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
530  }
531 
532  public:
533 
534  // nested types ----------------------------------------------------
535 
536  // accessors -------------------------------------------------------
537 
538  enum : int {
539  kLiteralsFieldNumber = 1,
540  };
541  // repeated int32 literals = 1;
542  int literals_size() const;
543  private:
544  int _internal_literals_size() const;
545  public:
547  private:
548  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
549  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
550  _internal_literals() const;
551  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
552  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
553  _internal_mutable_literals();
554  public:
558  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
559  literals() const;
560  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
562 
563  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
564  private:
565  class _Internal;
566 
567  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
568  typedef void InternalArenaConstructable_;
569  typedef void DestructorSkippable_;
570  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
571  mutable std::atomic<int> _literals_cached_byte_size_;
572  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
573  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
574 };
575 // -------------------------------------------------------------------
576 
577 class IntegerArgumentProto PROTOBUF_FINAL :
578  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerArgumentProto) */ {
579  public:
580  inline IntegerArgumentProto() : IntegerArgumentProto(nullptr) {}
582 
583  IntegerArgumentProto(const IntegerArgumentProto& from);
584  IntegerArgumentProto(IntegerArgumentProto&& from) noexcept
585  : IntegerArgumentProto() {
586  *this = ::std::move(from);
587  }
588 
589  inline IntegerArgumentProto& operator=(const IntegerArgumentProto& from) {
590  CopyFrom(from);
591  return *this;
592  }
593  inline IntegerArgumentProto& operator=(IntegerArgumentProto&& from) noexcept {
594  if (GetArena() == from.GetArena()) {
595  if (this != &from) InternalSwap(&from);
596  } else {
597  CopyFrom(from);
598  }
599  return *this;
600  }
601 
602  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
603  return GetDescriptor();
604  }
605  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
606  return GetMetadataStatic().descriptor;
607  }
608  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
609  return GetMetadataStatic().reflection;
610  }
611  static const IntegerArgumentProto& default_instance();
612 
613  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
614  static inline const IntegerArgumentProto* internal_default_instance() {
615  return reinterpret_cast<const IntegerArgumentProto*>(
617  }
618  static constexpr int kIndexInFileMessages =
619  2;
620 
621  friend void swap(IntegerArgumentProto& a, IntegerArgumentProto& b) {
622  a.Swap(&b);
623  }
624  inline void Swap(IntegerArgumentProto* other) {
625  if (other == this) return;
626  if (GetArena() == other->GetArena()) {
627  InternalSwap(other);
628  } else {
629  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
630  }
631  }
632  void UnsafeArenaSwap(IntegerArgumentProto* other) {
633  if (other == this) return;
634  GOOGLE_DCHECK(GetArena() == other->GetArena());
635  InternalSwap(other);
636  }
637 
638  // implements Message ----------------------------------------------
639 
640  inline IntegerArgumentProto* New() const final {
641  return CreateMaybeMessage<IntegerArgumentProto>(nullptr);
642  }
643 
644  IntegerArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
645  return CreateMaybeMessage<IntegerArgumentProto>(arena);
646  }
647  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
648  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
649  void CopyFrom(const IntegerArgumentProto& from);
650  void MergeFrom(const IntegerArgumentProto& from);
651  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
652  bool IsInitialized() const final;
653 
654  size_t ByteSizeLong() const final;
655  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
656  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
657  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
658  int GetCachedSize() const final { return _cached_size_.Get(); }
659 
660  private:
661  inline void SharedCtor();
662  inline void SharedDtor();
663  void SetCachedSize(int size) const final;
664  void InternalSwap(IntegerArgumentProto* other);
665  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
666  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
667  return "operations_research.sat.IntegerArgumentProto";
668  }
669  protected:
670  explicit IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
671  private:
672  static void ArenaDtor(void* object);
673  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
674  public:
675 
676  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
677  private:
678  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
679  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
680  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
681  }
682 
683  public:
684 
685  // nested types ----------------------------------------------------
686 
687  // accessors -------------------------------------------------------
688 
689  enum : int {
690  kVarsFieldNumber = 2,
691  kTargetFieldNumber = 1,
692  };
693  // repeated int32 vars = 2;
694  int vars_size() const;
695  private:
696  int _internal_vars_size() const;
697  public:
698  void clear_vars();
699  private:
700  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
701  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
702  _internal_vars() const;
703  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
704  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
705  _internal_mutable_vars();
706  public:
710  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
711  vars() const;
712  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
714 
715  // int32 target = 1;
716  void clear_target();
719  private:
720  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
721  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
722  public:
723 
724  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerArgumentProto)
725  private:
726  class _Internal;
727 
728  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
729  typedef void InternalArenaConstructable_;
730  typedef void DestructorSkippable_;
731  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
732  mutable std::atomic<int> _vars_cached_byte_size_;
734  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
735  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
736 };
737 // -------------------------------------------------------------------
738 
739 class LinearExpressionProto PROTOBUF_FINAL :
740  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
741  public:
742  inline LinearExpressionProto() : LinearExpressionProto(nullptr) {}
744 
745  LinearExpressionProto(const LinearExpressionProto& from);
746  LinearExpressionProto(LinearExpressionProto&& from) noexcept
747  : LinearExpressionProto() {
748  *this = ::std::move(from);
749  }
750 
751  inline LinearExpressionProto& operator=(const LinearExpressionProto& from) {
752  CopyFrom(from);
753  return *this;
754  }
755  inline LinearExpressionProto& operator=(LinearExpressionProto&& from) noexcept {
756  if (GetArena() == from.GetArena()) {
757  if (this != &from) InternalSwap(&from);
758  } else {
759  CopyFrom(from);
760  }
761  return *this;
762  }
763 
764  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
765  return GetDescriptor();
766  }
767  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
768  return GetMetadataStatic().descriptor;
769  }
770  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
771  return GetMetadataStatic().reflection;
772  }
773  static const LinearExpressionProto& default_instance();
774 
775  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
776  static inline const LinearExpressionProto* internal_default_instance() {
777  return reinterpret_cast<const LinearExpressionProto*>(
779  }
780  static constexpr int kIndexInFileMessages =
781  3;
782 
783  friend void swap(LinearExpressionProto& a, LinearExpressionProto& b) {
784  a.Swap(&b);
785  }
786  inline void Swap(LinearExpressionProto* other) {
787  if (other == this) return;
788  if (GetArena() == other->GetArena()) {
789  InternalSwap(other);
790  } else {
791  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
792  }
793  }
794  void UnsafeArenaSwap(LinearExpressionProto* other) {
795  if (other == this) return;
796  GOOGLE_DCHECK(GetArena() == other->GetArena());
797  InternalSwap(other);
798  }
799 
800  // implements Message ----------------------------------------------
801 
802  inline LinearExpressionProto* New() const final {
803  return CreateMaybeMessage<LinearExpressionProto>(nullptr);
804  }
805 
806  LinearExpressionProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
807  return CreateMaybeMessage<LinearExpressionProto>(arena);
808  }
809  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
810  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
811  void CopyFrom(const LinearExpressionProto& from);
812  void MergeFrom(const LinearExpressionProto& from);
813  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
814  bool IsInitialized() const final;
815 
816  size_t ByteSizeLong() const final;
817  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
818  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
819  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
820  int GetCachedSize() const final { return _cached_size_.Get(); }
821 
822  private:
823  inline void SharedCtor();
824  inline void SharedDtor();
825  void SetCachedSize(int size) const final;
826  void InternalSwap(LinearExpressionProto* other);
827  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
828  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
829  return "operations_research.sat.LinearExpressionProto";
830  }
831  protected:
832  explicit LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
833  private:
834  static void ArenaDtor(void* object);
835  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
836  public:
837 
838  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
839  private:
840  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
841  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
842  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
843  }
844 
845  public:
846 
847  // nested types ----------------------------------------------------
848 
849  // accessors -------------------------------------------------------
850 
851  enum : int {
852  kVarsFieldNumber = 1,
853  kCoeffsFieldNumber = 2,
854  kOffsetFieldNumber = 3,
855  };
856  // repeated int32 vars = 1;
857  int vars_size() const;
858  private:
859  int _internal_vars_size() const;
860  public:
861  void clear_vars();
862  private:
863  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
864  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
865  _internal_vars() const;
866  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
867  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
868  _internal_mutable_vars();
869  public:
873  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
874  vars() const;
875  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
877 
878  // repeated int64 coeffs = 2;
879  int coeffs_size() const;
880  private:
881  int _internal_coeffs_size() const;
882  public:
883  void clear_coeffs();
884  private:
885  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
886  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
887  _internal_coeffs() const;
888  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
889  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
890  _internal_mutable_coeffs();
891  public:
895  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
896  coeffs() const;
897  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
899 
900  // int64 offset = 3;
901  void clear_offset();
904  private:
905  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
906  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
907  public:
908 
909  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
910  private:
911  class _Internal;
912 
913  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
914  typedef void InternalArenaConstructable_;
915  typedef void DestructorSkippable_;
916  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
917  mutable std::atomic<int> _vars_cached_byte_size_;
918  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
919  mutable std::atomic<int> _coeffs_cached_byte_size_;
921  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
922  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
923 };
924 // -------------------------------------------------------------------
925 
926 class LinearArgumentProto PROTOBUF_FINAL :
927  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
928  public:
929  inline LinearArgumentProto() : LinearArgumentProto(nullptr) {}
931 
932  LinearArgumentProto(const LinearArgumentProto& from);
933  LinearArgumentProto(LinearArgumentProto&& from) noexcept
934  : LinearArgumentProto() {
935  *this = ::std::move(from);
936  }
937 
938  inline LinearArgumentProto& operator=(const LinearArgumentProto& from) {
939  CopyFrom(from);
940  return *this;
941  }
942  inline LinearArgumentProto& operator=(LinearArgumentProto&& from) noexcept {
943  if (GetArena() == from.GetArena()) {
944  if (this != &from) InternalSwap(&from);
945  } else {
946  CopyFrom(from);
947  }
948  return *this;
949  }
950 
951  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
952  return GetDescriptor();
953  }
954  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
955  return GetMetadataStatic().descriptor;
956  }
957  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
958  return GetMetadataStatic().reflection;
959  }
960  static const LinearArgumentProto& default_instance();
961 
962  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
963  static inline const LinearArgumentProto* internal_default_instance() {
964  return reinterpret_cast<const LinearArgumentProto*>(
966  }
967  static constexpr int kIndexInFileMessages =
968  4;
969 
970  friend void swap(LinearArgumentProto& a, LinearArgumentProto& b) {
971  a.Swap(&b);
972  }
973  inline void Swap(LinearArgumentProto* other) {
974  if (other == this) return;
975  if (GetArena() == other->GetArena()) {
976  InternalSwap(other);
977  } else {
978  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
979  }
980  }
981  void UnsafeArenaSwap(LinearArgumentProto* other) {
982  if (other == this) return;
983  GOOGLE_DCHECK(GetArena() == other->GetArena());
984  InternalSwap(other);
985  }
986 
987  // implements Message ----------------------------------------------
988 
989  inline LinearArgumentProto* New() const final {
990  return CreateMaybeMessage<LinearArgumentProto>(nullptr);
991  }
992 
993  LinearArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
994  return CreateMaybeMessage<LinearArgumentProto>(arena);
995  }
996  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
997  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
998  void CopyFrom(const LinearArgumentProto& from);
999  void MergeFrom(const LinearArgumentProto& from);
1000  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1001  bool IsInitialized() const final;
1002 
1003  size_t ByteSizeLong() const final;
1004  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1005  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1006  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1007  int GetCachedSize() const final { return _cached_size_.Get(); }
1008 
1009  private:
1010  inline void SharedCtor();
1011  inline void SharedDtor();
1012  void SetCachedSize(int size) const final;
1013  void InternalSwap(LinearArgumentProto* other);
1014  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1015  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1016  return "operations_research.sat.LinearArgumentProto";
1017  }
1018  protected:
1019  explicit LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1020  private:
1021  static void ArenaDtor(void* object);
1022  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1023  public:
1024 
1025  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1026  private:
1027  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1028  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1029  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1030  }
1031 
1032  public:
1033 
1034  // nested types ----------------------------------------------------
1035 
1036  // accessors -------------------------------------------------------
1037 
1038  enum : int {
1039  kExprsFieldNumber = 2,
1040  kTargetFieldNumber = 1,
1041  };
1042  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1043  int exprs_size() const;
1044  private:
1045  int _internal_exprs_size() const;
1046  public:
1047  void clear_exprs();
1048  ::operations_research::sat::LinearExpressionProto* mutable_exprs(int index);
1049  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
1051  private:
1052  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
1053  ::operations_research::sat::LinearExpressionProto* _internal_add_exprs();
1054  public:
1055  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
1056  ::operations_research::sat::LinearExpressionProto* add_exprs();
1057  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
1058  exprs() const;
1059 
1060  // .operations_research.sat.LinearExpressionProto target = 1;
1061  bool has_target() const;
1062  private:
1063  bool _internal_has_target() const;
1064  public:
1066  const ::operations_research::sat::LinearExpressionProto& target() const;
1067  ::operations_research::sat::LinearExpressionProto* release_target();
1068  ::operations_research::sat::LinearExpressionProto* mutable_target();
1070  private:
1071  const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
1072  ::operations_research::sat::LinearExpressionProto* _internal_mutable_target();
1073  public:
1076  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_target();
1077 
1078  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
1079  private:
1080  class _Internal;
1081 
1082  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1083  typedef void InternalArenaConstructable_;
1084  typedef void DestructorSkippable_;
1085  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
1086  ::operations_research::sat::LinearExpressionProto* target_;
1087  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1088  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1089 };
1090 // -------------------------------------------------------------------
1091 
1092 class AllDifferentConstraintProto PROTOBUF_FINAL :
1093  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
1094  public:
1095  inline AllDifferentConstraintProto() : AllDifferentConstraintProto(nullptr) {}
1097 
1098  AllDifferentConstraintProto(const AllDifferentConstraintProto& from);
1099  AllDifferentConstraintProto(AllDifferentConstraintProto&& from) noexcept
1100  : AllDifferentConstraintProto() {
1101  *this = ::std::move(from);
1102  }
1103 
1104  inline AllDifferentConstraintProto& operator=(const AllDifferentConstraintProto& from) {
1105  CopyFrom(from);
1106  return *this;
1107  }
1108  inline AllDifferentConstraintProto& operator=(AllDifferentConstraintProto&& from) noexcept {
1109  if (GetArena() == from.GetArena()) {
1110  if (this != &from) InternalSwap(&from);
1111  } else {
1112  CopyFrom(from);
1113  }
1114  return *this;
1115  }
1116 
1117  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1118  return GetDescriptor();
1119  }
1120  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1121  return GetMetadataStatic().descriptor;
1122  }
1123  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1124  return GetMetadataStatic().reflection;
1125  }
1126  static const AllDifferentConstraintProto& default_instance();
1127 
1128  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1129  static inline const AllDifferentConstraintProto* internal_default_instance() {
1130  return reinterpret_cast<const AllDifferentConstraintProto*>(
1132  }
1133  static constexpr int kIndexInFileMessages =
1134  5;
1135 
1136  friend void swap(AllDifferentConstraintProto& a, AllDifferentConstraintProto& b) {
1137  a.Swap(&b);
1138  }
1139  inline void Swap(AllDifferentConstraintProto* other) {
1140  if (other == this) return;
1141  if (GetArena() == other->GetArena()) {
1142  InternalSwap(other);
1143  } else {
1144  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1145  }
1146  }
1147  void UnsafeArenaSwap(AllDifferentConstraintProto* other) {
1148  if (other == this) return;
1149  GOOGLE_DCHECK(GetArena() == other->GetArena());
1150  InternalSwap(other);
1151  }
1152 
1153  // implements Message ----------------------------------------------
1154 
1155  inline AllDifferentConstraintProto* New() const final {
1156  return CreateMaybeMessage<AllDifferentConstraintProto>(nullptr);
1157  }
1158 
1159  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1160  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
1161  }
1162  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1163  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1164  void CopyFrom(const AllDifferentConstraintProto& from);
1165  void MergeFrom(const AllDifferentConstraintProto& from);
1166  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1167  bool IsInitialized() const final;
1168 
1169  size_t ByteSizeLong() const final;
1170  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1171  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1172  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1173  int GetCachedSize() const final { return _cached_size_.Get(); }
1174 
1175  private:
1176  inline void SharedCtor();
1177  inline void SharedDtor();
1178  void SetCachedSize(int size) const final;
1179  void InternalSwap(AllDifferentConstraintProto* other);
1180  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1181  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1182  return "operations_research.sat.AllDifferentConstraintProto";
1183  }
1184  protected:
1185  explicit AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1186  private:
1187  static void ArenaDtor(void* object);
1188  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1189  public:
1190 
1191  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1192  private:
1193  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1194  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1195  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1196  }
1197 
1198  public:
1199 
1200  // nested types ----------------------------------------------------
1201 
1202  // accessors -------------------------------------------------------
1203 
1204  enum : int {
1205  kVarsFieldNumber = 1,
1206  };
1207  // repeated int32 vars = 1;
1208  int vars_size() const;
1209  private:
1210  int _internal_vars_size() const;
1211  public:
1212  void clear_vars();
1213  private:
1214  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1215  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1216  _internal_vars() const;
1217  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1218  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1219  _internal_mutable_vars();
1220  public:
1224  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1225  vars() const;
1226  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1228 
1229  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
1230  private:
1231  class _Internal;
1232 
1233  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1234  typedef void InternalArenaConstructable_;
1235  typedef void DestructorSkippable_;
1236  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1237  mutable std::atomic<int> _vars_cached_byte_size_;
1238  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1239  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1240 };
1241 // -------------------------------------------------------------------
1242 
1243 class LinearConstraintProto PROTOBUF_FINAL :
1244  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1245  public:
1246  inline LinearConstraintProto() : LinearConstraintProto(nullptr) {}
1248 
1249  LinearConstraintProto(const LinearConstraintProto& from);
1250  LinearConstraintProto(LinearConstraintProto&& from) noexcept
1251  : LinearConstraintProto() {
1252  *this = ::std::move(from);
1253  }
1254 
1255  inline LinearConstraintProto& operator=(const LinearConstraintProto& from) {
1256  CopyFrom(from);
1257  return *this;
1258  }
1259  inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
1260  if (GetArena() == from.GetArena()) {
1261  if (this != &from) InternalSwap(&from);
1262  } else {
1263  CopyFrom(from);
1264  }
1265  return *this;
1266  }
1267 
1268  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1269  return GetDescriptor();
1270  }
1271  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1272  return GetMetadataStatic().descriptor;
1273  }
1274  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1275  return GetMetadataStatic().reflection;
1276  }
1277  static const LinearConstraintProto& default_instance();
1278 
1279  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1280  static inline const LinearConstraintProto* internal_default_instance() {
1281  return reinterpret_cast<const LinearConstraintProto*>(
1283  }
1284  static constexpr int kIndexInFileMessages =
1285  6;
1286 
1287  friend void swap(LinearConstraintProto& a, LinearConstraintProto& b) {
1288  a.Swap(&b);
1289  }
1290  inline void Swap(LinearConstraintProto* other) {
1291  if (other == this) return;
1292  if (GetArena() == other->GetArena()) {
1293  InternalSwap(other);
1294  } else {
1295  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1296  }
1297  }
1298  void UnsafeArenaSwap(LinearConstraintProto* other) {
1299  if (other == this) return;
1300  GOOGLE_DCHECK(GetArena() == other->GetArena());
1301  InternalSwap(other);
1302  }
1303 
1304  // implements Message ----------------------------------------------
1305 
1306  inline LinearConstraintProto* New() const final {
1307  return CreateMaybeMessage<LinearConstraintProto>(nullptr);
1308  }
1309 
1310  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1311  return CreateMaybeMessage<LinearConstraintProto>(arena);
1312  }
1313  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1314  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1315  void CopyFrom(const LinearConstraintProto& from);
1316  void MergeFrom(const LinearConstraintProto& from);
1317  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1318  bool IsInitialized() const final;
1319 
1320  size_t ByteSizeLong() const final;
1321  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1322  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1323  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1324  int GetCachedSize() const final { return _cached_size_.Get(); }
1325 
1326  private:
1327  inline void SharedCtor();
1328  inline void SharedDtor();
1329  void SetCachedSize(int size) const final;
1330  void InternalSwap(LinearConstraintProto* other);
1331  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1332  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1333  return "operations_research.sat.LinearConstraintProto";
1334  }
1335  protected:
1336  explicit LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1337  private:
1338  static void ArenaDtor(void* object);
1339  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1340  public:
1341 
1342  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1343  private:
1344  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1345  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1346  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1347  }
1348 
1349  public:
1350 
1351  // nested types ----------------------------------------------------
1352 
1353  // accessors -------------------------------------------------------
1354 
1355  enum : int {
1356  kVarsFieldNumber = 1,
1357  kCoeffsFieldNumber = 2,
1358  kDomainFieldNumber = 3,
1359  };
1360  // repeated int32 vars = 1;
1361  int vars_size() const;
1362  private:
1363  int _internal_vars_size() const;
1364  public:
1365  void clear_vars();
1366  private:
1367  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1368  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1369  _internal_vars() const;
1370  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1371  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1372  _internal_mutable_vars();
1373  public:
1377  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1378  vars() const;
1379  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1381 
1382  // repeated int64 coeffs = 2;
1383  int coeffs_size() const;
1384  private:
1385  int _internal_coeffs_size() const;
1386  public:
1388  private:
1389  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
1390  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1391  _internal_coeffs() const;
1392  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1393  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1394  _internal_mutable_coeffs();
1395  public:
1399  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1400  coeffs() const;
1401  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1403 
1404  // repeated int64 domain = 3;
1405  int domain_size() const;
1406  private:
1407  int _internal_domain_size() const;
1408  public:
1410  private:
1411  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
1412  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1413  _internal_domain() const;
1414  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1415  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1416  _internal_mutable_domain();
1417  public:
1421  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1422  domain() const;
1423  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1425 
1426  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1427  private:
1428  class _Internal;
1429 
1430  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1431  typedef void InternalArenaConstructable_;
1432  typedef void DestructorSkippable_;
1433  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1434  mutable std::atomic<int> _vars_cached_byte_size_;
1435  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
1436  mutable std::atomic<int> _coeffs_cached_byte_size_;
1437  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
1438  mutable std::atomic<int> _domain_cached_byte_size_;
1439  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1440  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1441 };
1442 // -------------------------------------------------------------------
1443 
1444 class ElementConstraintProto PROTOBUF_FINAL :
1445  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
1446  public:
1447  inline ElementConstraintProto() : ElementConstraintProto(nullptr) {}
1449 
1450  ElementConstraintProto(const ElementConstraintProto& from);
1451  ElementConstraintProto(ElementConstraintProto&& from) noexcept
1452  : ElementConstraintProto() {
1453  *this = ::std::move(from);
1454  }
1455 
1456  inline ElementConstraintProto& operator=(const ElementConstraintProto& from) {
1457  CopyFrom(from);
1458  return *this;
1459  }
1460  inline ElementConstraintProto& operator=(ElementConstraintProto&& from) noexcept {
1461  if (GetArena() == from.GetArena()) {
1462  if (this != &from) InternalSwap(&from);
1463  } else {
1464  CopyFrom(from);
1465  }
1466  return *this;
1467  }
1468 
1469  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1470  return GetDescriptor();
1471  }
1472  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1473  return GetMetadataStatic().descriptor;
1474  }
1475  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1476  return GetMetadataStatic().reflection;
1477  }
1478  static const ElementConstraintProto& default_instance();
1479 
1480  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1481  static inline const ElementConstraintProto* internal_default_instance() {
1482  return reinterpret_cast<const ElementConstraintProto*>(
1484  }
1485  static constexpr int kIndexInFileMessages =
1486  7;
1487 
1488  friend void swap(ElementConstraintProto& a, ElementConstraintProto& b) {
1489  a.Swap(&b);
1490  }
1491  inline void Swap(ElementConstraintProto* other) {
1492  if (other == this) return;
1493  if (GetArena() == other->GetArena()) {
1494  InternalSwap(other);
1495  } else {
1496  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1497  }
1498  }
1499  void UnsafeArenaSwap(ElementConstraintProto* other) {
1500  if (other == this) return;
1501  GOOGLE_DCHECK(GetArena() == other->GetArena());
1502  InternalSwap(other);
1503  }
1504 
1505  // implements Message ----------------------------------------------
1506 
1507  inline ElementConstraintProto* New() const final {
1508  return CreateMaybeMessage<ElementConstraintProto>(nullptr);
1509  }
1510 
1511  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1512  return CreateMaybeMessage<ElementConstraintProto>(arena);
1513  }
1514  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1515  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1516  void CopyFrom(const ElementConstraintProto& from);
1517  void MergeFrom(const ElementConstraintProto& from);
1518  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1519  bool IsInitialized() const final;
1520 
1521  size_t ByteSizeLong() const final;
1522  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1523  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1524  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1525  int GetCachedSize() const final { return _cached_size_.Get(); }
1526 
1527  private:
1528  inline void SharedCtor();
1529  inline void SharedDtor();
1530  void SetCachedSize(int size) const final;
1531  void InternalSwap(ElementConstraintProto* other);
1532  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1533  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1534  return "operations_research.sat.ElementConstraintProto";
1535  }
1536  protected:
1537  explicit ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1538  private:
1539  static void ArenaDtor(void* object);
1540  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1541  public:
1542 
1543  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1544  private:
1545  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1546  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1547  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1548  }
1549 
1550  public:
1551 
1552  // nested types ----------------------------------------------------
1553 
1554  // accessors -------------------------------------------------------
1555 
1556  enum : int {
1557  kVarsFieldNumber = 3,
1558  kIndexFieldNumber = 1,
1559  kTargetFieldNumber = 2,
1560  };
1561  // repeated int32 vars = 3;
1562  int vars_size() const;
1563  private:
1564  int _internal_vars_size() const;
1565  public:
1566  void clear_vars();
1567  private:
1568  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1569  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1570  _internal_vars() const;
1571  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1572  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1573  _internal_mutable_vars();
1574  public:
1578  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1579  vars() const;
1580  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1582 
1583  // int32 index = 1;
1584  void clear_index();
1587  private:
1588  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
1589  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1590  public:
1591 
1592  // int32 target = 2;
1596  private:
1597  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
1598  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1599  public:
1600 
1601  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1602  private:
1603  class _Internal;
1604 
1605  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1606  typedef void InternalArenaConstructable_;
1607  typedef void DestructorSkippable_;
1608  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1609  mutable std::atomic<int> _vars_cached_byte_size_;
1612  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1613  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1614 };
1615 // -------------------------------------------------------------------
1616 
1617 class IntervalConstraintProto PROTOBUF_FINAL :
1618  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1619  public:
1620  inline IntervalConstraintProto() : IntervalConstraintProto(nullptr) {}
1622 
1623  IntervalConstraintProto(const IntervalConstraintProto& from);
1624  IntervalConstraintProto(IntervalConstraintProto&& from) noexcept
1625  : IntervalConstraintProto() {
1626  *this = ::std::move(from);
1627  }
1628 
1629  inline IntervalConstraintProto& operator=(const IntervalConstraintProto& from) {
1630  CopyFrom(from);
1631  return *this;
1632  }
1633  inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
1634  if (GetArena() == from.GetArena()) {
1635  if (this != &from) InternalSwap(&from);
1636  } else {
1637  CopyFrom(from);
1638  }
1639  return *this;
1640  }
1641 
1642  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1643  return GetDescriptor();
1644  }
1645  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1646  return GetMetadataStatic().descriptor;
1647  }
1648  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1649  return GetMetadataStatic().reflection;
1650  }
1651  static const IntervalConstraintProto& default_instance();
1652 
1653  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1654  static inline const IntervalConstraintProto* internal_default_instance() {
1655  return reinterpret_cast<const IntervalConstraintProto*>(
1657  }
1658  static constexpr int kIndexInFileMessages =
1659  8;
1660 
1661  friend void swap(IntervalConstraintProto& a, IntervalConstraintProto& b) {
1662  a.Swap(&b);
1663  }
1664  inline void Swap(IntervalConstraintProto* other) {
1665  if (other == this) return;
1666  if (GetArena() == other->GetArena()) {
1667  InternalSwap(other);
1668  } else {
1669  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1670  }
1671  }
1672  void UnsafeArenaSwap(IntervalConstraintProto* other) {
1673  if (other == this) return;
1674  GOOGLE_DCHECK(GetArena() == other->GetArena());
1675  InternalSwap(other);
1676  }
1677 
1678  // implements Message ----------------------------------------------
1679 
1680  inline IntervalConstraintProto* New() const final {
1681  return CreateMaybeMessage<IntervalConstraintProto>(nullptr);
1682  }
1683 
1684  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1685  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1686  }
1687  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1688  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1689  void CopyFrom(const IntervalConstraintProto& from);
1690  void MergeFrom(const IntervalConstraintProto& from);
1691  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1692  bool IsInitialized() const final;
1693 
1694  size_t ByteSizeLong() const final;
1695  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1696  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1697  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1698  int GetCachedSize() const final { return _cached_size_.Get(); }
1699 
1700  private:
1701  inline void SharedCtor();
1702  inline void SharedDtor();
1703  void SetCachedSize(int size) const final;
1704  void InternalSwap(IntervalConstraintProto* other);
1705  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1706  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1707  return "operations_research.sat.IntervalConstraintProto";
1708  }
1709  protected:
1710  explicit IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1711  private:
1712  static void ArenaDtor(void* object);
1713  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1714  public:
1715 
1716  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1717  private:
1718  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1719  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1720  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1721  }
1722 
1723  public:
1724 
1725  // nested types ----------------------------------------------------
1726 
1727  // accessors -------------------------------------------------------
1728 
1729  enum : int {
1730  kStartFieldNumber = 1,
1731  kEndFieldNumber = 2,
1732  kSizeFieldNumber = 3,
1733  };
1734  // int32 start = 1;
1735  void clear_start();
1738  private:
1739  ::PROTOBUF_NAMESPACE_ID::int32 _internal_start() const;
1740  void _internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1741  public:
1742 
1743  // int32 end = 2;
1744  void clear_end();
1747  private:
1748  ::PROTOBUF_NAMESPACE_ID::int32 _internal_end() const;
1749  void _internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1750  public:
1751 
1752  // int32 size = 3;
1753  void clear_size();
1756  private:
1757  ::PROTOBUF_NAMESPACE_ID::int32 _internal_size() const;
1758  void _internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1759  public:
1760 
1761  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1762  private:
1763  class _Internal;
1764 
1765  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1766  typedef void InternalArenaConstructable_;
1767  typedef void DestructorSkippable_;
1771  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1772  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1773 };
1774 // -------------------------------------------------------------------
1775 
1776 class NoOverlapConstraintProto PROTOBUF_FINAL :
1777  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1778  public:
1779  inline NoOverlapConstraintProto() : NoOverlapConstraintProto(nullptr) {}
1781 
1782  NoOverlapConstraintProto(const NoOverlapConstraintProto& from);
1783  NoOverlapConstraintProto(NoOverlapConstraintProto&& from) noexcept
1784  : NoOverlapConstraintProto() {
1785  *this = ::std::move(from);
1786  }
1787 
1788  inline NoOverlapConstraintProto& operator=(const NoOverlapConstraintProto& from) {
1789  CopyFrom(from);
1790  return *this;
1791  }
1792  inline NoOverlapConstraintProto& operator=(NoOverlapConstraintProto&& from) noexcept {
1793  if (GetArena() == from.GetArena()) {
1794  if (this != &from) InternalSwap(&from);
1795  } else {
1796  CopyFrom(from);
1797  }
1798  return *this;
1799  }
1800 
1801  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1802  return GetDescriptor();
1803  }
1804  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1805  return GetMetadataStatic().descriptor;
1806  }
1807  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1808  return GetMetadataStatic().reflection;
1809  }
1810  static const NoOverlapConstraintProto& default_instance();
1811 
1812  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1813  static inline const NoOverlapConstraintProto* internal_default_instance() {
1814  return reinterpret_cast<const NoOverlapConstraintProto*>(
1816  }
1817  static constexpr int kIndexInFileMessages =
1818  9;
1819 
1820  friend void swap(NoOverlapConstraintProto& a, NoOverlapConstraintProto& b) {
1821  a.Swap(&b);
1822  }
1823  inline void Swap(NoOverlapConstraintProto* other) {
1824  if (other == this) return;
1825  if (GetArena() == other->GetArena()) {
1826  InternalSwap(other);
1827  } else {
1828  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1829  }
1830  }
1831  void UnsafeArenaSwap(NoOverlapConstraintProto* other) {
1832  if (other == this) return;
1833  GOOGLE_DCHECK(GetArena() == other->GetArena());
1834  InternalSwap(other);
1835  }
1836 
1837  // implements Message ----------------------------------------------
1838 
1839  inline NoOverlapConstraintProto* New() const final {
1840  return CreateMaybeMessage<NoOverlapConstraintProto>(nullptr);
1841  }
1842 
1843  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1844  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1845  }
1846  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1847  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1848  void CopyFrom(const NoOverlapConstraintProto& from);
1849  void MergeFrom(const NoOverlapConstraintProto& from);
1850  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1851  bool IsInitialized() const final;
1852 
1853  size_t ByteSizeLong() const final;
1854  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1855  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1856  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1857  int GetCachedSize() const final { return _cached_size_.Get(); }
1858 
1859  private:
1860  inline void SharedCtor();
1861  inline void SharedDtor();
1862  void SetCachedSize(int size) const final;
1863  void InternalSwap(NoOverlapConstraintProto* other);
1864  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1865  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1866  return "operations_research.sat.NoOverlapConstraintProto";
1867  }
1868  protected:
1869  explicit NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1870  private:
1871  static void ArenaDtor(void* object);
1872  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1873  public:
1874 
1875  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1876  private:
1877  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1878  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1879  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
1880  }
1881 
1882  public:
1883 
1884  // nested types ----------------------------------------------------
1885 
1886  // accessors -------------------------------------------------------
1887 
1888  enum : int {
1889  kIntervalsFieldNumber = 1,
1890  };
1891  // repeated int32 intervals = 1;
1892  int intervals_size() const;
1893  private:
1894  int _internal_intervals_size() const;
1895  public:
1897  private:
1898  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
1899  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1900  _internal_intervals() const;
1901  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1902  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1903  _internal_mutable_intervals();
1904  public:
1908  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1909  intervals() const;
1910  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1912 
1913  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
1914  private:
1915  class _Internal;
1916 
1917  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1918  typedef void InternalArenaConstructable_;
1919  typedef void DestructorSkippable_;
1920  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
1921  mutable std::atomic<int> _intervals_cached_byte_size_;
1922  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1923  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1924 };
1925 // -------------------------------------------------------------------
1926 
1927 class NoOverlap2DConstraintProto PROTOBUF_FINAL :
1928  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
1929  public:
1930  inline NoOverlap2DConstraintProto() : NoOverlap2DConstraintProto(nullptr) {}
1932 
1933  NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto& from);
1934  NoOverlap2DConstraintProto(NoOverlap2DConstraintProto&& from) noexcept
1935  : NoOverlap2DConstraintProto() {
1936  *this = ::std::move(from);
1937  }
1938 
1939  inline NoOverlap2DConstraintProto& operator=(const NoOverlap2DConstraintProto& from) {
1940  CopyFrom(from);
1941  return *this;
1942  }
1943  inline NoOverlap2DConstraintProto& operator=(NoOverlap2DConstraintProto&& from) noexcept {
1944  if (GetArena() == from.GetArena()) {
1945  if (this != &from) InternalSwap(&from);
1946  } else {
1947  CopyFrom(from);
1948  }
1949  return *this;
1950  }
1951 
1952  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1953  return GetDescriptor();
1954  }
1955  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1956  return GetMetadataStatic().descriptor;
1957  }
1958  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1959  return GetMetadataStatic().reflection;
1960  }
1961  static const NoOverlap2DConstraintProto& default_instance();
1962 
1963  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1964  static inline const NoOverlap2DConstraintProto* internal_default_instance() {
1965  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
1967  }
1968  static constexpr int kIndexInFileMessages =
1969  10;
1970 
1971  friend void swap(NoOverlap2DConstraintProto& a, NoOverlap2DConstraintProto& b) {
1972  a.Swap(&b);
1973  }
1974  inline void Swap(NoOverlap2DConstraintProto* other) {
1975  if (other == this) return;
1976  if (GetArena() == other->GetArena()) {
1977  InternalSwap(other);
1978  } else {
1979  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1980  }
1981  }
1982  void UnsafeArenaSwap(NoOverlap2DConstraintProto* other) {
1983  if (other == this) return;
1984  GOOGLE_DCHECK(GetArena() == other->GetArena());
1985  InternalSwap(other);
1986  }
1987 
1988  // implements Message ----------------------------------------------
1989 
1990  inline NoOverlap2DConstraintProto* New() const final {
1991  return CreateMaybeMessage<NoOverlap2DConstraintProto>(nullptr);
1992  }
1993 
1994  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1995  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
1996  }
1997  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1998  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1999  void CopyFrom(const NoOverlap2DConstraintProto& from);
2000  void MergeFrom(const NoOverlap2DConstraintProto& from);
2001  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2002  bool IsInitialized() const final;
2003 
2004  size_t ByteSizeLong() const final;
2005  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2006  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2007  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2008  int GetCachedSize() const final { return _cached_size_.Get(); }
2009 
2010  private:
2011  inline void SharedCtor();
2012  inline void SharedDtor();
2013  void SetCachedSize(int size) const final;
2014  void InternalSwap(NoOverlap2DConstraintProto* other);
2015  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2016  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2017  return "operations_research.sat.NoOverlap2DConstraintProto";
2018  }
2019  protected:
2020  explicit NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2021  private:
2022  static void ArenaDtor(void* object);
2023  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2024  public:
2025 
2026  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2027  private:
2028  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2029  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2030  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2031  }
2032 
2033  public:
2034 
2035  // nested types ----------------------------------------------------
2036 
2037  // accessors -------------------------------------------------------
2038 
2039  enum : int {
2040  kXIntervalsFieldNumber = 1,
2041  kYIntervalsFieldNumber = 2,
2042  kBoxesWithNullAreaCanOverlapFieldNumber = 3,
2043  };
2044  // repeated int32 x_intervals = 1;
2045  int x_intervals_size() const;
2046  private:
2047  int _internal_x_intervals_size() const;
2048  public:
2050  private:
2051  ::PROTOBUF_NAMESPACE_ID::int32 _internal_x_intervals(int index) const;
2052  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2053  _internal_x_intervals() const;
2054  void _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2055  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2056  _internal_mutable_x_intervals();
2057  public:
2061  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2062  x_intervals() const;
2063  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2065 
2066  // repeated int32 y_intervals = 2;
2067  int y_intervals_size() const;
2068  private:
2069  int _internal_y_intervals_size() const;
2070  public:
2072  private:
2073  ::PROTOBUF_NAMESPACE_ID::int32 _internal_y_intervals(int index) const;
2074  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2075  _internal_y_intervals() const;
2076  void _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2077  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2078  _internal_mutable_y_intervals();
2079  public:
2083  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2084  y_intervals() const;
2085  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2087 
2088  // bool boxes_with_null_area_can_overlap = 3;
2092  private:
2093  bool _internal_boxes_with_null_area_can_overlap() const;
2094  void _internal_set_boxes_with_null_area_can_overlap(bool value);
2095  public:
2096 
2097  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
2098  private:
2099  class _Internal;
2100 
2101  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2102  typedef void InternalArenaConstructable_;
2103  typedef void DestructorSkippable_;
2104  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > x_intervals_;
2105  mutable std::atomic<int> _x_intervals_cached_byte_size_;
2106  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > y_intervals_;
2107  mutable std::atomic<int> _y_intervals_cached_byte_size_;
2108  bool boxes_with_null_area_can_overlap_;
2109  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2110  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2111 };
2112 // -------------------------------------------------------------------
2113 
2114 class CumulativeConstraintProto PROTOBUF_FINAL :
2115  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
2116  public:
2117  inline CumulativeConstraintProto() : CumulativeConstraintProto(nullptr) {}
2119 
2120  CumulativeConstraintProto(const CumulativeConstraintProto& from);
2121  CumulativeConstraintProto(CumulativeConstraintProto&& from) noexcept
2122  : CumulativeConstraintProto() {
2123  *this = ::std::move(from);
2124  }
2125 
2126  inline CumulativeConstraintProto& operator=(const CumulativeConstraintProto& from) {
2127  CopyFrom(from);
2128  return *this;
2129  }
2130  inline CumulativeConstraintProto& operator=(CumulativeConstraintProto&& from) noexcept {
2131  if (GetArena() == from.GetArena()) {
2132  if (this != &from) InternalSwap(&from);
2133  } else {
2134  CopyFrom(from);
2135  }
2136  return *this;
2137  }
2138 
2139  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2140  return GetDescriptor();
2141  }
2142  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2143  return GetMetadataStatic().descriptor;
2144  }
2145  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2146  return GetMetadataStatic().reflection;
2147  }
2148  static const CumulativeConstraintProto& default_instance();
2149 
2150  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2151  static inline const CumulativeConstraintProto* internal_default_instance() {
2152  return reinterpret_cast<const CumulativeConstraintProto*>(
2154  }
2155  static constexpr int kIndexInFileMessages =
2156  11;
2157 
2158  friend void swap(CumulativeConstraintProto& a, CumulativeConstraintProto& b) {
2159  a.Swap(&b);
2160  }
2161  inline void Swap(CumulativeConstraintProto* other) {
2162  if (other == this) return;
2163  if (GetArena() == other->GetArena()) {
2164  InternalSwap(other);
2165  } else {
2166  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2167  }
2168  }
2169  void UnsafeArenaSwap(CumulativeConstraintProto* other) {
2170  if (other == this) return;
2171  GOOGLE_DCHECK(GetArena() == other->GetArena());
2172  InternalSwap(other);
2173  }
2174 
2175  // implements Message ----------------------------------------------
2176 
2177  inline CumulativeConstraintProto* New() const final {
2178  return CreateMaybeMessage<CumulativeConstraintProto>(nullptr);
2179  }
2180 
2181  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2182  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
2183  }
2184  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2185  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2186  void CopyFrom(const CumulativeConstraintProto& from);
2187  void MergeFrom(const CumulativeConstraintProto& from);
2188  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2189  bool IsInitialized() const final;
2190 
2191  size_t ByteSizeLong() const final;
2192  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2193  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2194  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2195  int GetCachedSize() const final { return _cached_size_.Get(); }
2196 
2197  private:
2198  inline void SharedCtor();
2199  inline void SharedDtor();
2200  void SetCachedSize(int size) const final;
2201  void InternalSwap(CumulativeConstraintProto* other);
2202  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2203  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2204  return "operations_research.sat.CumulativeConstraintProto";
2205  }
2206  protected:
2207  explicit CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2208  private:
2209  static void ArenaDtor(void* object);
2210  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2211  public:
2212 
2213  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2214  private:
2215  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2216  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2217  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2218  }
2219 
2220  public:
2221 
2222  // nested types ----------------------------------------------------
2223 
2224  // accessors -------------------------------------------------------
2225 
2226  enum : int {
2227  kIntervalsFieldNumber = 2,
2228  kDemandsFieldNumber = 3,
2229  kCapacityFieldNumber = 1,
2230  };
2231  // repeated int32 intervals = 2;
2232  int intervals_size() const;
2233  private:
2234  int _internal_intervals_size() const;
2235  public:
2237  private:
2238  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
2239  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2240  _internal_intervals() const;
2241  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2242  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2243  _internal_mutable_intervals();
2244  public:
2248  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2249  intervals() const;
2250  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2252 
2253  // repeated int32 demands = 3;
2254  int demands_size() const;
2255  private:
2256  int _internal_demands_size() const;
2257  public:
2259  private:
2260  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2261  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2262  _internal_demands() const;
2263  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2264  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2265  _internal_mutable_demands();
2266  public:
2270  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2271  demands() const;
2272  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2274 
2275  // int32 capacity = 1;
2279  private:
2280  ::PROTOBUF_NAMESPACE_ID::int32 _internal_capacity() const;
2281  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2282  public:
2283 
2284  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
2285  private:
2286  class _Internal;
2287 
2288  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2289  typedef void InternalArenaConstructable_;
2290  typedef void DestructorSkippable_;
2291  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
2292  mutable std::atomic<int> _intervals_cached_byte_size_;
2293  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2294  mutable std::atomic<int> _demands_cached_byte_size_;
2296  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2297  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2298 };
2299 // -------------------------------------------------------------------
2300 
2301 class ReservoirConstraintProto PROTOBUF_FINAL :
2302  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
2303  public:
2304  inline ReservoirConstraintProto() : ReservoirConstraintProto(nullptr) {}
2306 
2307  ReservoirConstraintProto(const ReservoirConstraintProto& from);
2308  ReservoirConstraintProto(ReservoirConstraintProto&& from) noexcept
2309  : ReservoirConstraintProto() {
2310  *this = ::std::move(from);
2311  }
2312 
2313  inline ReservoirConstraintProto& operator=(const ReservoirConstraintProto& from) {
2314  CopyFrom(from);
2315  return *this;
2316  }
2317  inline ReservoirConstraintProto& operator=(ReservoirConstraintProto&& from) noexcept {
2318  if (GetArena() == from.GetArena()) {
2319  if (this != &from) InternalSwap(&from);
2320  } else {
2321  CopyFrom(from);
2322  }
2323  return *this;
2324  }
2325 
2326  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2327  return GetDescriptor();
2328  }
2329  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2330  return GetMetadataStatic().descriptor;
2331  }
2332  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2333  return GetMetadataStatic().reflection;
2334  }
2335  static const ReservoirConstraintProto& default_instance();
2336 
2337  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2338  static inline const ReservoirConstraintProto* internal_default_instance() {
2339  return reinterpret_cast<const ReservoirConstraintProto*>(
2341  }
2342  static constexpr int kIndexInFileMessages =
2343  12;
2344 
2345  friend void swap(ReservoirConstraintProto& a, ReservoirConstraintProto& b) {
2346  a.Swap(&b);
2347  }
2348  inline void Swap(ReservoirConstraintProto* other) {
2349  if (other == this) return;
2350  if (GetArena() == other->GetArena()) {
2351  InternalSwap(other);
2352  } else {
2353  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2354  }
2355  }
2356  void UnsafeArenaSwap(ReservoirConstraintProto* other) {
2357  if (other == this) return;
2358  GOOGLE_DCHECK(GetArena() == other->GetArena());
2359  InternalSwap(other);
2360  }
2361 
2362  // implements Message ----------------------------------------------
2363 
2364  inline ReservoirConstraintProto* New() const final {
2365  return CreateMaybeMessage<ReservoirConstraintProto>(nullptr);
2366  }
2367 
2368  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2369  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
2370  }
2371  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2372  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2373  void CopyFrom(const ReservoirConstraintProto& from);
2374  void MergeFrom(const ReservoirConstraintProto& from);
2375  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2376  bool IsInitialized() const final;
2377 
2378  size_t ByteSizeLong() const final;
2379  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2380  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2381  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2382  int GetCachedSize() const final { return _cached_size_.Get(); }
2383 
2384  private:
2385  inline void SharedCtor();
2386  inline void SharedDtor();
2387  void SetCachedSize(int size) const final;
2388  void InternalSwap(ReservoirConstraintProto* other);
2389  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2390  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2391  return "operations_research.sat.ReservoirConstraintProto";
2392  }
2393  protected:
2394  explicit ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2395  private:
2396  static void ArenaDtor(void* object);
2397  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2398  public:
2399 
2400  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2401  private:
2402  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2403  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2404  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2405  }
2406 
2407  public:
2408 
2409  // nested types ----------------------------------------------------
2410 
2411  // accessors -------------------------------------------------------
2412 
2413  enum : int {
2414  kTimesFieldNumber = 3,
2415  kDemandsFieldNumber = 4,
2416  kActivesFieldNumber = 5,
2417  kMinLevelFieldNumber = 1,
2418  kMaxLevelFieldNumber = 2,
2419  };
2420  // repeated int32 times = 3;
2421  int times_size() const;
2422  private:
2423  int _internal_times_size() const;
2424  public:
2425  void clear_times();
2426  private:
2427  ::PROTOBUF_NAMESPACE_ID::int32 _internal_times(int index) const;
2428  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2429  _internal_times() const;
2430  void _internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2431  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2432  _internal_mutable_times();
2433  public:
2437  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2438  times() const;
2439  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2441 
2442  // repeated int64 demands = 4;
2443  int demands_size() const;
2444  private:
2445  int _internal_demands_size() const;
2446  public:
2448  private:
2449  ::PROTOBUF_NAMESPACE_ID::int64 _internal_demands(int index) const;
2450  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2451  _internal_demands() const;
2452  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2453  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2454  _internal_mutable_demands();
2455  public:
2459  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2460  demands() const;
2461  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2463 
2464  // repeated int32 actives = 5;
2465  int actives_size() const;
2466  private:
2467  int _internal_actives_size() const;
2468  public:
2470  private:
2471  ::PROTOBUF_NAMESPACE_ID::int32 _internal_actives(int index) const;
2472  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2473  _internal_actives() const;
2474  void _internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2475  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2476  _internal_mutable_actives();
2477  public:
2481  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2482  actives() const;
2483  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2485 
2486  // int64 min_level = 1;
2490  private:
2491  ::PROTOBUF_NAMESPACE_ID::int64 _internal_min_level() const;
2492  void _internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2493  public:
2494 
2495  // int64 max_level = 2;
2499  private:
2500  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_level() const;
2501  void _internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2502  public:
2503 
2504  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
2505  private:
2506  class _Internal;
2507 
2508  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2509  typedef void InternalArenaConstructable_;
2510  typedef void DestructorSkippable_;
2511  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > times_;
2512  mutable std::atomic<int> _times_cached_byte_size_;
2513  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > demands_;
2514  mutable std::atomic<int> _demands_cached_byte_size_;
2515  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > actives_;
2516  mutable std::atomic<int> _actives_cached_byte_size_;
2517  ::PROTOBUF_NAMESPACE_ID::int64 min_level_;
2518  ::PROTOBUF_NAMESPACE_ID::int64 max_level_;
2519  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2520  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2521 };
2522 // -------------------------------------------------------------------
2523 
2524 class CircuitConstraintProto PROTOBUF_FINAL :
2525  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
2526  public:
2527  inline CircuitConstraintProto() : CircuitConstraintProto(nullptr) {}
2529 
2530  CircuitConstraintProto(const CircuitConstraintProto& from);
2531  CircuitConstraintProto(CircuitConstraintProto&& from) noexcept
2532  : CircuitConstraintProto() {
2533  *this = ::std::move(from);
2534  }
2535 
2536  inline CircuitConstraintProto& operator=(const CircuitConstraintProto& from) {
2537  CopyFrom(from);
2538  return *this;
2539  }
2540  inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
2541  if (GetArena() == from.GetArena()) {
2542  if (this != &from) InternalSwap(&from);
2543  } else {
2544  CopyFrom(from);
2545  }
2546  return *this;
2547  }
2548 
2549  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2550  return GetDescriptor();
2551  }
2552  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2553  return GetMetadataStatic().descriptor;
2554  }
2555  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2556  return GetMetadataStatic().reflection;
2557  }
2558  static const CircuitConstraintProto& default_instance();
2559 
2560  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2561  static inline const CircuitConstraintProto* internal_default_instance() {
2562  return reinterpret_cast<const CircuitConstraintProto*>(
2564  }
2565  static constexpr int kIndexInFileMessages =
2566  13;
2567 
2568  friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) {
2569  a.Swap(&b);
2570  }
2571  inline void Swap(CircuitConstraintProto* other) {
2572  if (other == this) return;
2573  if (GetArena() == other->GetArena()) {
2574  InternalSwap(other);
2575  } else {
2576  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2577  }
2578  }
2579  void UnsafeArenaSwap(CircuitConstraintProto* other) {
2580  if (other == this) return;
2581  GOOGLE_DCHECK(GetArena() == other->GetArena());
2582  InternalSwap(other);
2583  }
2584 
2585  // implements Message ----------------------------------------------
2586 
2587  inline CircuitConstraintProto* New() const final {
2588  return CreateMaybeMessage<CircuitConstraintProto>(nullptr);
2589  }
2590 
2591  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2592  return CreateMaybeMessage<CircuitConstraintProto>(arena);
2593  }
2594  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2595  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2596  void CopyFrom(const CircuitConstraintProto& from);
2597  void MergeFrom(const CircuitConstraintProto& from);
2598  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2599  bool IsInitialized() const final;
2600 
2601  size_t ByteSizeLong() const final;
2602  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2603  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2604  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2605  int GetCachedSize() const final { return _cached_size_.Get(); }
2606 
2607  private:
2608  inline void SharedCtor();
2609  inline void SharedDtor();
2610  void SetCachedSize(int size) const final;
2611  void InternalSwap(CircuitConstraintProto* other);
2612  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2613  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2614  return "operations_research.sat.CircuitConstraintProto";
2615  }
2616  protected:
2617  explicit CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2618  private:
2619  static void ArenaDtor(void* object);
2620  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2621  public:
2622 
2623  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2624  private:
2625  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2626  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2627  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2628  }
2629 
2630  public:
2631 
2632  // nested types ----------------------------------------------------
2633 
2634  // accessors -------------------------------------------------------
2635 
2636  enum : int {
2637  kTailsFieldNumber = 3,
2638  kHeadsFieldNumber = 4,
2639  kLiteralsFieldNumber = 5,
2640  };
2641  // repeated int32 tails = 3;
2642  int tails_size() const;
2643  private:
2644  int _internal_tails_size() const;
2645  public:
2646  void clear_tails();
2647  private:
2648  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2649  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2650  _internal_tails() const;
2651  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2652  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2653  _internal_mutable_tails();
2654  public:
2658  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2659  tails() const;
2660  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2662 
2663  // repeated int32 heads = 4;
2664  int heads_size() const;
2665  private:
2666  int _internal_heads_size() const;
2667  public:
2668  void clear_heads();
2669  private:
2670  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2671  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2672  _internal_heads() const;
2673  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2674  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2675  _internal_mutable_heads();
2676  public:
2680  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2681  heads() const;
2682  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2684 
2685  // repeated int32 literals = 5;
2686  int literals_size() const;
2687  private:
2688  int _internal_literals_size() const;
2689  public:
2691  private:
2692  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2693  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2694  _internal_literals() const;
2695  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2696  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2697  _internal_mutable_literals();
2698  public:
2702  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2703  literals() const;
2704  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2706 
2707  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2708  private:
2709  class _Internal;
2710 
2711  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2712  typedef void InternalArenaConstructable_;
2713  typedef void DestructorSkippable_;
2714  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2715  mutable std::atomic<int> _tails_cached_byte_size_;
2716  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2717  mutable std::atomic<int> _heads_cached_byte_size_;
2718  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2719  mutable std::atomic<int> _literals_cached_byte_size_;
2720  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2721  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2722 };
2723 // -------------------------------------------------------------------
2724 
2725 class RoutesConstraintProto PROTOBUF_FINAL :
2726  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2727  public:
2728  inline RoutesConstraintProto() : RoutesConstraintProto(nullptr) {}
2730 
2731  RoutesConstraintProto(const RoutesConstraintProto& from);
2732  RoutesConstraintProto(RoutesConstraintProto&& from) noexcept
2733  : RoutesConstraintProto() {
2734  *this = ::std::move(from);
2735  }
2736 
2737  inline RoutesConstraintProto& operator=(const RoutesConstraintProto& from) {
2738  CopyFrom(from);
2739  return *this;
2740  }
2741  inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
2742  if (GetArena() == from.GetArena()) {
2743  if (this != &from) InternalSwap(&from);
2744  } else {
2745  CopyFrom(from);
2746  }
2747  return *this;
2748  }
2749 
2750  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2751  return GetDescriptor();
2752  }
2753  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2754  return GetMetadataStatic().descriptor;
2755  }
2756  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2757  return GetMetadataStatic().reflection;
2758  }
2759  static const RoutesConstraintProto& default_instance();
2760 
2761  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2762  static inline const RoutesConstraintProto* internal_default_instance() {
2763  return reinterpret_cast<const RoutesConstraintProto*>(
2765  }
2766  static constexpr int kIndexInFileMessages =
2767  14;
2768 
2769  friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) {
2770  a.Swap(&b);
2771  }
2772  inline void Swap(RoutesConstraintProto* other) {
2773  if (other == this) return;
2774  if (GetArena() == other->GetArena()) {
2775  InternalSwap(other);
2776  } else {
2777  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2778  }
2779  }
2780  void UnsafeArenaSwap(RoutesConstraintProto* other) {
2781  if (other == this) return;
2782  GOOGLE_DCHECK(GetArena() == other->GetArena());
2783  InternalSwap(other);
2784  }
2785 
2786  // implements Message ----------------------------------------------
2787 
2788  inline RoutesConstraintProto* New() const final {
2789  return CreateMaybeMessage<RoutesConstraintProto>(nullptr);
2790  }
2791 
2792  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2793  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2794  }
2795  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2796  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2797  void CopyFrom(const RoutesConstraintProto& from);
2798  void MergeFrom(const RoutesConstraintProto& from);
2799  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2800  bool IsInitialized() const final;
2801 
2802  size_t ByteSizeLong() const final;
2803  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2804  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2805  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2806  int GetCachedSize() const final { return _cached_size_.Get(); }
2807 
2808  private:
2809  inline void SharedCtor();
2810  inline void SharedDtor();
2811  void SetCachedSize(int size) const final;
2812  void InternalSwap(RoutesConstraintProto* other);
2813  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2814  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2815  return "operations_research.sat.RoutesConstraintProto";
2816  }
2817  protected:
2818  explicit RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2819  private:
2820  static void ArenaDtor(void* object);
2821  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2822  public:
2823 
2824  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2825  private:
2826  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2827  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
2828  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
2829  }
2830 
2831  public:
2832 
2833  // nested types ----------------------------------------------------
2834 
2835  // accessors -------------------------------------------------------
2836 
2837  enum : int {
2838  kTailsFieldNumber = 1,
2839  kHeadsFieldNumber = 2,
2840  kLiteralsFieldNumber = 3,
2841  kDemandsFieldNumber = 4,
2842  kCapacityFieldNumber = 5,
2843  };
2844  // repeated int32 tails = 1;
2845  int tails_size() const;
2846  private:
2847  int _internal_tails_size() const;
2848  public:
2849  void clear_tails();
2850  private:
2851  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2852  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2853  _internal_tails() const;
2854  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2855  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2856  _internal_mutable_tails();
2857  public:
2861  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2862  tails() const;
2863  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2865 
2866  // repeated int32 heads = 2;
2867  int heads_size() const;
2868  private:
2869  int _internal_heads_size() const;
2870  public:
2871  void clear_heads();
2872  private:
2873  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2874  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2875  _internal_heads() const;
2876  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2877  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2878  _internal_mutable_heads();
2879  public:
2883  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2884  heads() const;
2885  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2887 
2888  // repeated int32 literals = 3;
2889  int literals_size() const;
2890  private:
2891  int _internal_literals_size() const;
2892  public:
2894  private:
2895  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2896  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2897  _internal_literals() const;
2898  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2899  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2900  _internal_mutable_literals();
2901  public:
2905  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2906  literals() const;
2907  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2909 
2910  // repeated int32 demands = 4;
2911  int demands_size() const;
2912  private:
2913  int _internal_demands_size() const;
2914  public:
2916  private:
2917  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2918  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2919  _internal_demands() const;
2920  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2921  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2922  _internal_mutable_demands();
2923  public:
2927  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2928  demands() const;
2929  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2931 
2932  // int64 capacity = 5;
2936  private:
2937  ::PROTOBUF_NAMESPACE_ID::int64 _internal_capacity() const;
2938  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
2939  public:
2940 
2941  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
2942  private:
2943  class _Internal;
2944 
2945  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2946  typedef void InternalArenaConstructable_;
2947  typedef void DestructorSkippable_;
2948  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2949  mutable std::atomic<int> _tails_cached_byte_size_;
2950  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2951  mutable std::atomic<int> _heads_cached_byte_size_;
2952  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2953  mutable std::atomic<int> _literals_cached_byte_size_;
2954  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2955  mutable std::atomic<int> _demands_cached_byte_size_;
2957  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2958  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2959 };
2960 // -------------------------------------------------------------------
2961 
2962 class CircuitCoveringConstraintProto PROTOBUF_FINAL :
2963  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitCoveringConstraintProto) */ {
2964  public:
2965  inline CircuitCoveringConstraintProto() : CircuitCoveringConstraintProto(nullptr) {}
2967 
2968  CircuitCoveringConstraintProto(const CircuitCoveringConstraintProto& from);
2969  CircuitCoveringConstraintProto(CircuitCoveringConstraintProto&& from) noexcept
2970  : CircuitCoveringConstraintProto() {
2971  *this = ::std::move(from);
2972  }
2973 
2974  inline CircuitCoveringConstraintProto& operator=(const CircuitCoveringConstraintProto& from) {
2975  CopyFrom(from);
2976  return *this;
2977  }
2978  inline CircuitCoveringConstraintProto& operator=(CircuitCoveringConstraintProto&& from) noexcept {
2979  if (GetArena() == from.GetArena()) {
2980  if (this != &from) InternalSwap(&from);
2981  } else {
2982  CopyFrom(from);
2983  }
2984  return *this;
2985  }
2986 
2987  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2988  return GetDescriptor();
2989  }
2990  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2991  return GetMetadataStatic().descriptor;
2992  }
2993  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2994  return GetMetadataStatic().reflection;
2995  }
2996  static const CircuitCoveringConstraintProto& default_instance();
2997 
2998  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
2999  static inline const CircuitCoveringConstraintProto* internal_default_instance() {
3000  return reinterpret_cast<const CircuitCoveringConstraintProto*>(
3002  }
3003  static constexpr int kIndexInFileMessages =
3004  15;
3005 
3006  friend void swap(CircuitCoveringConstraintProto& a, CircuitCoveringConstraintProto& b) {
3007  a.Swap(&b);
3008  }
3009  inline void Swap(CircuitCoveringConstraintProto* other) {
3010  if (other == this) return;
3011  if (GetArena() == other->GetArena()) {
3012  InternalSwap(other);
3013  } else {
3014  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3015  }
3016  }
3017  void UnsafeArenaSwap(CircuitCoveringConstraintProto* other) {
3018  if (other == this) return;
3019  GOOGLE_DCHECK(GetArena() == other->GetArena());
3020  InternalSwap(other);
3021  }
3022 
3023  // implements Message ----------------------------------------------
3024 
3025  inline CircuitCoveringConstraintProto* New() const final {
3026  return CreateMaybeMessage<CircuitCoveringConstraintProto>(nullptr);
3027  }
3028 
3029  CircuitCoveringConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3030  return CreateMaybeMessage<CircuitCoveringConstraintProto>(arena);
3031  }
3032  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3033  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3034  void CopyFrom(const CircuitCoveringConstraintProto& from);
3035  void MergeFrom(const CircuitCoveringConstraintProto& from);
3036  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3037  bool IsInitialized() const final;
3038 
3039  size_t ByteSizeLong() const final;
3040  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3041  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3042  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3043  int GetCachedSize() const final { return _cached_size_.Get(); }
3044 
3045  private:
3046  inline void SharedCtor();
3047  inline void SharedDtor();
3048  void SetCachedSize(int size) const final;
3049  void InternalSwap(CircuitCoveringConstraintProto* other);
3050  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3051  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3052  return "operations_research.sat.CircuitCoveringConstraintProto";
3053  }
3054  protected:
3055  explicit CircuitCoveringConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3056  private:
3057  static void ArenaDtor(void* object);
3058  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3059  public:
3060 
3061  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3062  private:
3063  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3064  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3065  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3066  }
3067 
3068  public:
3069 
3070  // nested types ----------------------------------------------------
3071 
3072  // accessors -------------------------------------------------------
3073 
3074  enum : int {
3075  kNextsFieldNumber = 1,
3076  kDistinguishedNodesFieldNumber = 2,
3077  };
3078  // repeated int32 nexts = 1;
3079  int nexts_size() const;
3080  private:
3081  int _internal_nexts_size() const;
3082  public:
3083  void clear_nexts();
3084  private:
3085  ::PROTOBUF_NAMESPACE_ID::int32 _internal_nexts(int index) const;
3086  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3087  _internal_nexts() const;
3088  void _internal_add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value);
3089  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3090  _internal_mutable_nexts();
3091  public:
3095  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3096  nexts() const;
3097  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3099 
3100  // repeated int64 distinguished_nodes = 2;
3102  private:
3103  int _internal_distinguished_nodes_size() const;
3104  public:
3106  private:
3107  ::PROTOBUF_NAMESPACE_ID::int64 _internal_distinguished_nodes(int index) const;
3108  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3109  _internal_distinguished_nodes() const;
3110  void _internal_add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value);
3111  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3112  _internal_mutable_distinguished_nodes();
3113  public:
3117  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3119  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3121 
3122  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitCoveringConstraintProto)
3123  private:
3124  class _Internal;
3125 
3126  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3127  typedef void InternalArenaConstructable_;
3128  typedef void DestructorSkippable_;
3129  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > nexts_;
3130  mutable std::atomic<int> _nexts_cached_byte_size_;
3131  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > distinguished_nodes_;
3132  mutable std::atomic<int> _distinguished_nodes_cached_byte_size_;
3133  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3134  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3135 };
3136 // -------------------------------------------------------------------
3137 
3138 class TableConstraintProto PROTOBUF_FINAL :
3139  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3140  public:
3141  inline TableConstraintProto() : TableConstraintProto(nullptr) {}
3143 
3144  TableConstraintProto(const TableConstraintProto& from);
3145  TableConstraintProto(TableConstraintProto&& from) noexcept
3146  : TableConstraintProto() {
3147  *this = ::std::move(from);
3148  }
3149 
3150  inline TableConstraintProto& operator=(const TableConstraintProto& from) {
3151  CopyFrom(from);
3152  return *this;
3153  }
3154  inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
3155  if (GetArena() == from.GetArena()) {
3156  if (this != &from) InternalSwap(&from);
3157  } else {
3158  CopyFrom(from);
3159  }
3160  return *this;
3161  }
3162 
3163  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3164  return GetDescriptor();
3165  }
3166  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3167  return GetMetadataStatic().descriptor;
3168  }
3169  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3170  return GetMetadataStatic().reflection;
3171  }
3172  static const TableConstraintProto& default_instance();
3173 
3174  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3175  static inline const TableConstraintProto* internal_default_instance() {
3176  return reinterpret_cast<const TableConstraintProto*>(
3178  }
3179  static constexpr int kIndexInFileMessages =
3180  16;
3181 
3182  friend void swap(TableConstraintProto& a, TableConstraintProto& b) {
3183  a.Swap(&b);
3184  }
3185  inline void Swap(TableConstraintProto* other) {
3186  if (other == this) return;
3187  if (GetArena() == other->GetArena()) {
3188  InternalSwap(other);
3189  } else {
3190  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3191  }
3192  }
3193  void UnsafeArenaSwap(TableConstraintProto* other) {
3194  if (other == this) return;
3195  GOOGLE_DCHECK(GetArena() == other->GetArena());
3196  InternalSwap(other);
3197  }
3198 
3199  // implements Message ----------------------------------------------
3200 
3201  inline TableConstraintProto* New() const final {
3202  return CreateMaybeMessage<TableConstraintProto>(nullptr);
3203  }
3204 
3205  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3206  return CreateMaybeMessage<TableConstraintProto>(arena);
3207  }
3208  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3209  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3210  void CopyFrom(const TableConstraintProto& from);
3211  void MergeFrom(const TableConstraintProto& from);
3212  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3213  bool IsInitialized() const final;
3214 
3215  size_t ByteSizeLong() const final;
3216  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3217  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3218  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3219  int GetCachedSize() const final { return _cached_size_.Get(); }
3220 
3221  private:
3222  inline void SharedCtor();
3223  inline void SharedDtor();
3224  void SetCachedSize(int size) const final;
3225  void InternalSwap(TableConstraintProto* other);
3226  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3227  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3228  return "operations_research.sat.TableConstraintProto";
3229  }
3230  protected:
3231  explicit TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3232  private:
3233  static void ArenaDtor(void* object);
3234  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3235  public:
3236 
3237  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3238  private:
3239  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3240  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3241  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3242  }
3243 
3244  public:
3245 
3246  // nested types ----------------------------------------------------
3247 
3248  // accessors -------------------------------------------------------
3249 
3250  enum : int {
3251  kVarsFieldNumber = 1,
3252  kValuesFieldNumber = 2,
3253  kNegatedFieldNumber = 3,
3254  };
3255  // repeated int32 vars = 1;
3256  int vars_size() const;
3257  private:
3258  int _internal_vars_size() const;
3259  public:
3260  void clear_vars();
3261  private:
3262  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3263  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3264  _internal_vars() const;
3265  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3266  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3267  _internal_mutable_vars();
3268  public:
3272  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3273  vars() const;
3274  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3276 
3277  // repeated int64 values = 2;
3278  int values_size() const;
3279  private:
3280  int _internal_values_size() const;
3281  public:
3283  private:
3284  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
3285  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3286  _internal_values() const;
3287  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3288  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3289  _internal_mutable_values();
3290  public:
3294  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3295  values() const;
3296  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3298 
3299  // bool negated = 3;
3301  bool negated() const;
3302  void set_negated(bool value);
3303  private:
3304  bool _internal_negated() const;
3305  void _internal_set_negated(bool value);
3306  public:
3307 
3308  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3309  private:
3310  class _Internal;
3311 
3312  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3313  typedef void InternalArenaConstructable_;
3314  typedef void DestructorSkippable_;
3315  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3316  mutable std::atomic<int> _vars_cached_byte_size_;
3317  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
3318  mutable std::atomic<int> _values_cached_byte_size_;
3319  bool negated_;
3320  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3321  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3322 };
3323 // -------------------------------------------------------------------
3324 
3325 class InverseConstraintProto PROTOBUF_FINAL :
3326  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
3327  public:
3328  inline InverseConstraintProto() : InverseConstraintProto(nullptr) {}
3330 
3331  InverseConstraintProto(const InverseConstraintProto& from);
3332  InverseConstraintProto(InverseConstraintProto&& from) noexcept
3333  : InverseConstraintProto() {
3334  *this = ::std::move(from);
3335  }
3336 
3337  inline InverseConstraintProto& operator=(const InverseConstraintProto& from) {
3338  CopyFrom(from);
3339  return *this;
3340  }
3341  inline InverseConstraintProto& operator=(InverseConstraintProto&& from) noexcept {
3342  if (GetArena() == from.GetArena()) {
3343  if (this != &from) InternalSwap(&from);
3344  } else {
3345  CopyFrom(from);
3346  }
3347  return *this;
3348  }
3349 
3350  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3351  return GetDescriptor();
3352  }
3353  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3354  return GetMetadataStatic().descriptor;
3355  }
3356  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3357  return GetMetadataStatic().reflection;
3358  }
3359  static const InverseConstraintProto& default_instance();
3360 
3361  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3362  static inline const InverseConstraintProto* internal_default_instance() {
3363  return reinterpret_cast<const InverseConstraintProto*>(
3365  }
3366  static constexpr int kIndexInFileMessages =
3367  17;
3368 
3369  friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) {
3370  a.Swap(&b);
3371  }
3372  inline void Swap(InverseConstraintProto* other) {
3373  if (other == this) return;
3374  if (GetArena() == other->GetArena()) {
3375  InternalSwap(other);
3376  } else {
3377  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3378  }
3379  }
3380  void UnsafeArenaSwap(InverseConstraintProto* other) {
3381  if (other == this) return;
3382  GOOGLE_DCHECK(GetArena() == other->GetArena());
3383  InternalSwap(other);
3384  }
3385 
3386  // implements Message ----------------------------------------------
3387 
3388  inline InverseConstraintProto* New() const final {
3389  return CreateMaybeMessage<InverseConstraintProto>(nullptr);
3390  }
3391 
3392  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3393  return CreateMaybeMessage<InverseConstraintProto>(arena);
3394  }
3395  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3396  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3397  void CopyFrom(const InverseConstraintProto& from);
3398  void MergeFrom(const InverseConstraintProto& from);
3399  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3400  bool IsInitialized() const final;
3401 
3402  size_t ByteSizeLong() const final;
3403  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3404  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3405  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3406  int GetCachedSize() const final { return _cached_size_.Get(); }
3407 
3408  private:
3409  inline void SharedCtor();
3410  inline void SharedDtor();
3411  void SetCachedSize(int size) const final;
3412  void InternalSwap(InverseConstraintProto* other);
3413  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3414  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3415  return "operations_research.sat.InverseConstraintProto";
3416  }
3417  protected:
3418  explicit InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3419  private:
3420  static void ArenaDtor(void* object);
3421  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3422  public:
3423 
3424  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3425  private:
3426  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3427  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3428  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3429  }
3430 
3431  public:
3432 
3433  // nested types ----------------------------------------------------
3434 
3435  // accessors -------------------------------------------------------
3436 
3437  enum : int {
3438  kFDirectFieldNumber = 1,
3439  kFInverseFieldNumber = 2,
3440  };
3441  // repeated int32 f_direct = 1;
3442  int f_direct_size() const;
3443  private:
3444  int _internal_f_direct_size() const;
3445  public:
3447  private:
3448  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_direct(int index) const;
3449  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3450  _internal_f_direct() const;
3451  void _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3452  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3453  _internal_mutable_f_direct();
3454  public:
3458  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3459  f_direct() const;
3460  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3462 
3463  // repeated int32 f_inverse = 2;
3464  int f_inverse_size() const;
3465  private:
3466  int _internal_f_inverse_size() const;
3467  public:
3469  private:
3470  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_inverse(int index) const;
3471  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3472  _internal_f_inverse() const;
3473  void _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3474  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3475  _internal_mutable_f_inverse();
3476  public:
3480  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3481  f_inverse() const;
3482  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3484 
3485  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
3486  private:
3487  class _Internal;
3488 
3489  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3490  typedef void InternalArenaConstructable_;
3491  typedef void DestructorSkippable_;
3492  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_direct_;
3493  mutable std::atomic<int> _f_direct_cached_byte_size_;
3494  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_inverse_;
3495  mutable std::atomic<int> _f_inverse_cached_byte_size_;
3496  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3497  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3498 };
3499 // -------------------------------------------------------------------
3500 
3501 class AutomatonConstraintProto PROTOBUF_FINAL :
3502  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
3503  public:
3504  inline AutomatonConstraintProto() : AutomatonConstraintProto(nullptr) {}
3506 
3507  AutomatonConstraintProto(const AutomatonConstraintProto& from);
3508  AutomatonConstraintProto(AutomatonConstraintProto&& from) noexcept
3509  : AutomatonConstraintProto() {
3510  *this = ::std::move(from);
3511  }
3512 
3513  inline AutomatonConstraintProto& operator=(const AutomatonConstraintProto& from) {
3514  CopyFrom(from);
3515  return *this;
3516  }
3517  inline AutomatonConstraintProto& operator=(AutomatonConstraintProto&& from) noexcept {
3518  if (GetArena() == from.GetArena()) {
3519  if (this != &from) InternalSwap(&from);
3520  } else {
3521  CopyFrom(from);
3522  }
3523  return *this;
3524  }
3525 
3526  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3527  return GetDescriptor();
3528  }
3529  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3530  return GetMetadataStatic().descriptor;
3531  }
3532  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3533  return GetMetadataStatic().reflection;
3534  }
3535  static const AutomatonConstraintProto& default_instance();
3536 
3537  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3538  static inline const AutomatonConstraintProto* internal_default_instance() {
3539  return reinterpret_cast<const AutomatonConstraintProto*>(
3541  }
3542  static constexpr int kIndexInFileMessages =
3543  18;
3544 
3545  friend void swap(AutomatonConstraintProto& a, AutomatonConstraintProto& b) {
3546  a.Swap(&b);
3547  }
3548  inline void Swap(AutomatonConstraintProto* other) {
3549  if (other == this) return;
3550  if (GetArena() == other->GetArena()) {
3551  InternalSwap(other);
3552  } else {
3553  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3554  }
3555  }
3556  void UnsafeArenaSwap(AutomatonConstraintProto* other) {
3557  if (other == this) return;
3558  GOOGLE_DCHECK(GetArena() == other->GetArena());
3559  InternalSwap(other);
3560  }
3561 
3562  // implements Message ----------------------------------------------
3563 
3564  inline AutomatonConstraintProto* New() const final {
3565  return CreateMaybeMessage<AutomatonConstraintProto>(nullptr);
3566  }
3567 
3568  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3569  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
3570  }
3571  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3572  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3573  void CopyFrom(const AutomatonConstraintProto& from);
3574  void MergeFrom(const AutomatonConstraintProto& from);
3575  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3576  bool IsInitialized() const final;
3577 
3578  size_t ByteSizeLong() const final;
3579  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3580  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3581  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3582  int GetCachedSize() const final { return _cached_size_.Get(); }
3583 
3584  private:
3585  inline void SharedCtor();
3586  inline void SharedDtor();
3587  void SetCachedSize(int size) const final;
3588  void InternalSwap(AutomatonConstraintProto* other);
3589  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3590  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3591  return "operations_research.sat.AutomatonConstraintProto";
3592  }
3593  protected:
3594  explicit AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3595  private:
3596  static void ArenaDtor(void* object);
3597  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3598  public:
3599 
3600  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3601  private:
3602  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3603  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3604  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3605  }
3606 
3607  public:
3608 
3609  // nested types ----------------------------------------------------
3610 
3611  // accessors -------------------------------------------------------
3612 
3613  enum : int {
3614  kFinalStatesFieldNumber = 3,
3615  kTransitionTailFieldNumber = 4,
3616  kTransitionHeadFieldNumber = 5,
3617  kTransitionLabelFieldNumber = 6,
3618  kVarsFieldNumber = 7,
3619  kStartingStateFieldNumber = 2,
3620  };
3621  // repeated int64 final_states = 3;
3622  int final_states_size() const;
3623  private:
3624  int _internal_final_states_size() const;
3625  public:
3627  private:
3628  ::PROTOBUF_NAMESPACE_ID::int64 _internal_final_states(int index) const;
3629  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3630  _internal_final_states() const;
3631  void _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3632  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3633  _internal_mutable_final_states();
3634  public:
3638  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3639  final_states() const;
3640  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3642 
3643  // repeated int64 transition_tail = 4;
3645  private:
3646  int _internal_transition_tail_size() const;
3647  public:
3649  private:
3650  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_tail(int index) const;
3651  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3652  _internal_transition_tail() const;
3653  void _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3654  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3655  _internal_mutable_transition_tail();
3656  public:
3660  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3662  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3664 
3665  // repeated int64 transition_head = 5;
3667  private:
3668  int _internal_transition_head_size() const;
3669  public:
3671  private:
3672  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_head(int index) const;
3673  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3674  _internal_transition_head() const;
3675  void _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3676  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3677  _internal_mutable_transition_head();
3678  public:
3682  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3684  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3686 
3687  // repeated int64 transition_label = 6;
3689  private:
3690  int _internal_transition_label_size() const;
3691  public:
3693  private:
3694  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_label(int index) const;
3695  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3696  _internal_transition_label() const;
3697  void _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3698  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3699  _internal_mutable_transition_label();
3700  public:
3704  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3706  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3708 
3709  // repeated int32 vars = 7;
3710  int vars_size() const;
3711  private:
3712  int _internal_vars_size() const;
3713  public:
3714  void clear_vars();
3715  private:
3716  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3717  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3718  _internal_vars() const;
3719  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3720  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3721  _internal_mutable_vars();
3722  public:
3726  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3727  vars() const;
3728  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3730 
3731  // int64 starting_state = 2;
3735  private:
3736  ::PROTOBUF_NAMESPACE_ID::int64 _internal_starting_state() const;
3737  void _internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3738  public:
3739 
3740  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
3741  private:
3742  class _Internal;
3743 
3744  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3745  typedef void InternalArenaConstructable_;
3746  typedef void DestructorSkippable_;
3747  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > final_states_;
3748  mutable std::atomic<int> _final_states_cached_byte_size_;
3749  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_tail_;
3750  mutable std::atomic<int> _transition_tail_cached_byte_size_;
3751  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_head_;
3752  mutable std::atomic<int> _transition_head_cached_byte_size_;
3753  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_label_;
3754  mutable std::atomic<int> _transition_label_cached_byte_size_;
3755  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3756  mutable std::atomic<int> _vars_cached_byte_size_;
3757  ::PROTOBUF_NAMESPACE_ID::int64 starting_state_;
3758  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3759  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3760 };
3761 // -------------------------------------------------------------------
3762 
3763 class ConstraintProto PROTOBUF_FINAL :
3764  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
3765  public:
3766  inline ConstraintProto() : ConstraintProto(nullptr) {}
3767  virtual ~ConstraintProto();
3768 
3769  ConstraintProto(const ConstraintProto& from);
3770  ConstraintProto(ConstraintProto&& from) noexcept
3771  : ConstraintProto() {
3772  *this = ::std::move(from);
3773  }
3774 
3775  inline ConstraintProto& operator=(const ConstraintProto& from) {
3776  CopyFrom(from);
3777  return *this;
3778  }
3779  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
3780  if (GetArena() == from.GetArena()) {
3781  if (this != &from) InternalSwap(&from);
3782  } else {
3783  CopyFrom(from);
3784  }
3785  return *this;
3786  }
3787 
3788  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3789  return GetDescriptor();
3790  }
3791  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3792  return GetMetadataStatic().descriptor;
3793  }
3794  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3795  return GetMetadataStatic().reflection;
3796  }
3797  static const ConstraintProto& default_instance();
3798 
3800  kBoolOr = 3,
3801  kBoolAnd = 4,
3802  kAtMostOne = 26,
3803  kBoolXor = 5,
3804  kIntDiv = 7,
3805  kIntMod = 8,
3806  kIntMax = 9,
3807  kLinMax = 27,
3808  kIntMin = 10,
3809  kLinMin = 28,
3810  kIntProd = 11,
3811  kLinear = 12,
3812  kAllDiff = 13,
3813  kElement = 14,
3814  kCircuit = 15,
3815  kRoutes = 23,
3816  kCircuitCovering = 25,
3817  kTable = 16,
3818  kAutomaton = 17,
3819  kInverse = 18,
3820  kReservoir = 24,
3821  kInterval = 19,
3822  kNoOverlap = 20,
3823  kNoOverlap2D = 21,
3824  kCumulative = 22,
3825  CONSTRAINT_NOT_SET = 0,
3826  };
3827 
3828  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
3829  static inline const ConstraintProto* internal_default_instance() {
3830  return reinterpret_cast<const ConstraintProto*>(
3832  }
3833  static constexpr int kIndexInFileMessages =
3834  19;
3835 
3836  friend void swap(ConstraintProto& a, ConstraintProto& b) {
3837  a.Swap(&b);
3838  }
3839  inline void Swap(ConstraintProto* other) {
3840  if (other == this) return;
3841  if (GetArena() == other->GetArena()) {
3842  InternalSwap(other);
3843  } else {
3844  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3845  }
3846  }
3847  void UnsafeArenaSwap(ConstraintProto* other) {
3848  if (other == this) return;
3849  GOOGLE_DCHECK(GetArena() == other->GetArena());
3850  InternalSwap(other);
3851  }
3852 
3853  // implements Message ----------------------------------------------
3854 
3855  inline ConstraintProto* New() const final {
3856  return CreateMaybeMessage<ConstraintProto>(nullptr);
3857  }
3858 
3859  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3860  return CreateMaybeMessage<ConstraintProto>(arena);
3861  }
3862  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3863  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3864  void CopyFrom(const ConstraintProto& from);
3865  void MergeFrom(const ConstraintProto& from);
3866  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3867  bool IsInitialized() const final;
3868 
3869  size_t ByteSizeLong() const final;
3870  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3871  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3872  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3873  int GetCachedSize() const final { return _cached_size_.Get(); }
3874 
3875  private:
3876  inline void SharedCtor();
3877  inline void SharedDtor();
3878  void SetCachedSize(int size) const final;
3879  void InternalSwap(ConstraintProto* other);
3880  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3881  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3882  return "operations_research.sat.ConstraintProto";
3883  }
3884  protected:
3885  explicit ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3886  private:
3887  static void ArenaDtor(void* object);
3888  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3889  public:
3890 
3891  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3892  private:
3893  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3894  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
3895  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
3896  }
3897 
3898  public:
3899 
3900  // nested types ----------------------------------------------------
3901 
3902  // accessors -------------------------------------------------------
3903 
3904  enum : int {
3905  kEnforcementLiteralFieldNumber = 2,
3906  kNameFieldNumber = 1,
3907  kBoolOrFieldNumber = 3,
3908  kBoolAndFieldNumber = 4,
3909  kAtMostOneFieldNumber = 26,
3910  kBoolXorFieldNumber = 5,
3911  kIntDivFieldNumber = 7,
3912  kIntModFieldNumber = 8,
3913  kIntMaxFieldNumber = 9,
3914  kLinMaxFieldNumber = 27,
3915  kIntMinFieldNumber = 10,
3916  kLinMinFieldNumber = 28,
3917  kIntProdFieldNumber = 11,
3918  kLinearFieldNumber = 12,
3919  kAllDiffFieldNumber = 13,
3920  kElementFieldNumber = 14,
3921  kCircuitFieldNumber = 15,
3922  kRoutesFieldNumber = 23,
3923  kCircuitCoveringFieldNumber = 25,
3924  kTableFieldNumber = 16,
3925  kAutomatonFieldNumber = 17,
3926  kInverseFieldNumber = 18,
3927  kReservoirFieldNumber = 24,
3928  kIntervalFieldNumber = 19,
3929  kNoOverlapFieldNumber = 20,
3930  kNoOverlap2DFieldNumber = 21,
3931  kCumulativeFieldNumber = 22,
3932  };
3933  // repeated int32 enforcement_literal = 2;
3935  private:
3936  int _internal_enforcement_literal_size() const;
3937  public:
3939  private:
3940  ::PROTOBUF_NAMESPACE_ID::int32 _internal_enforcement_literal(int index) const;
3941  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3942  _internal_enforcement_literal() const;
3943  void _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
3944  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3945  _internal_mutable_enforcement_literal();
3946  public:
3950  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3952  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3954 
3955  // string name = 1;
3956  void clear_name();
3957  const std::string& name() const;
3958  void set_name(const std::string& value);
3959  void set_name(std::string&& value);
3960  void set_name(const char* value);
3961  void set_name(const char* value, size_t size);
3962  std::string* mutable_name();
3963  std::string* release_name();
3964  void set_allocated_name(std::string* name);
3965  private:
3966  const std::string& _internal_name() const;
3967  void _internal_set_name(const std::string& value);
3968  std::string* _internal_mutable_name();
3969  public:
3970 
3971  // .operations_research.sat.BoolArgumentProto bool_or = 3;
3972  bool has_bool_or() const;
3973  private:
3974  bool _internal_has_bool_or() const;
3975  public:
3977  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
3978  ::operations_research::sat::BoolArgumentProto* release_bool_or();
3979  ::operations_research::sat::BoolArgumentProto* mutable_bool_or();
3981  private:
3982  const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
3983  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_or();
3984  public:
3987  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_or();
3988 
3989  // .operations_research.sat.BoolArgumentProto bool_and = 4;
3990  bool has_bool_and() const;
3991  private:
3992  bool _internal_has_bool_and() const;
3993  public:
3995  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
3996  ::operations_research::sat::BoolArgumentProto* release_bool_and();
3997  ::operations_research::sat::BoolArgumentProto* mutable_bool_and();
3999  private:
4000  const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
4001  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_and();
4002  public:
4005  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_and();
4006 
4007  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
4008  bool has_at_most_one() const;
4009  private:
4010  bool _internal_has_at_most_one() const;
4011  public:
4013  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
4014  ::operations_research::sat::BoolArgumentProto* release_at_most_one();
4015  ::operations_research::sat::BoolArgumentProto* mutable_at_most_one();
4017  private:
4018  const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
4019  ::operations_research::sat::BoolArgumentProto* _internal_mutable_at_most_one();
4020  public:
4023  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_at_most_one();
4024 
4025  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
4026  bool has_bool_xor() const;
4027  private:
4028  bool _internal_has_bool_xor() const;
4029  public:
4031  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
4032  ::operations_research::sat::BoolArgumentProto* release_bool_xor();
4033  ::operations_research::sat::BoolArgumentProto* mutable_bool_xor();
4035  private:
4036  const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
4037  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_xor();
4038  public:
4041  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_xor();
4042 
4043  // .operations_research.sat.IntegerArgumentProto int_div = 7;
4044  bool has_int_div() const;
4045  private:
4046  bool _internal_has_int_div() const;
4047  public:
4049  const ::operations_research::sat::IntegerArgumentProto& int_div() const;
4050  ::operations_research::sat::IntegerArgumentProto* release_int_div();
4051  ::operations_research::sat::IntegerArgumentProto* mutable_int_div();
4053  private:
4054  const ::operations_research::sat::IntegerArgumentProto& _internal_int_div() const;
4055  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_div();
4056  public:
4059  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_div();
4060 
4061  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
4062  bool has_int_mod() const;
4063  private:
4064  bool _internal_has_int_mod() const;
4065  public:
4067  const ::operations_research::sat::IntegerArgumentProto& int_mod() const;
4068  ::operations_research::sat::IntegerArgumentProto* release_int_mod();
4069  ::operations_research::sat::IntegerArgumentProto* mutable_int_mod();
4071  private:
4072  const ::operations_research::sat::IntegerArgumentProto& _internal_int_mod() const;
4073  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_mod();
4074  public:
4077  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_mod();
4078 
4079  // .operations_research.sat.IntegerArgumentProto int_max = 9;
4080  bool has_int_max() const;
4081  private:
4082  bool _internal_has_int_max() const;
4083  public:
4085  const ::operations_research::sat::IntegerArgumentProto& int_max() const;
4086  ::operations_research::sat::IntegerArgumentProto* release_int_max();
4087  ::operations_research::sat::IntegerArgumentProto* mutable_int_max();
4089  private:
4090  const ::operations_research::sat::IntegerArgumentProto& _internal_int_max() const;
4091  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_max();
4092  public:
4095  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_max();
4096 
4097  // .operations_research.sat.LinearArgumentProto lin_max = 27;
4098  bool has_lin_max() const;
4099  private:
4100  bool _internal_has_lin_max() const;
4101  public:
4103  const ::operations_research::sat::LinearArgumentProto& lin_max() const;
4104  ::operations_research::sat::LinearArgumentProto* release_lin_max();
4105  ::operations_research::sat::LinearArgumentProto* mutable_lin_max();
4107  private:
4108  const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
4109  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_max();
4110  public:
4113  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_max();
4114 
4115  // .operations_research.sat.IntegerArgumentProto int_min = 10;
4116  bool has_int_min() const;
4117  private:
4118  bool _internal_has_int_min() const;
4119  public:
4121  const ::operations_research::sat::IntegerArgumentProto& int_min() const;
4122  ::operations_research::sat::IntegerArgumentProto* release_int_min();
4123  ::operations_research::sat::IntegerArgumentProto* mutable_int_min();
4125  private:
4126  const ::operations_research::sat::IntegerArgumentProto& _internal_int_min() const;
4127  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_min();
4128  public:
4131  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_min();
4132 
4133  // .operations_research.sat.LinearArgumentProto lin_min = 28;
4134  bool has_lin_min() const;
4135  private:
4136  bool _internal_has_lin_min() const;
4137  public:
4139  const ::operations_research::sat::LinearArgumentProto& lin_min() const;
4140  ::operations_research::sat::LinearArgumentProto* release_lin_min();
4141  ::operations_research::sat::LinearArgumentProto* mutable_lin_min();
4143  private:
4144  const ::operations_research::sat::LinearArgumentProto& _internal_lin_min() const;
4145  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_min();
4146  public:
4149  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_min();
4150 
4151  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
4152  bool has_int_prod() const;
4153  private:
4154  bool _internal_has_int_prod() const;
4155  public:
4157  const ::operations_research::sat::IntegerArgumentProto& int_prod() const;
4158  ::operations_research::sat::IntegerArgumentProto* release_int_prod();
4159  ::operations_research::sat::IntegerArgumentProto* mutable_int_prod();
4161  private:
4162  const ::operations_research::sat::IntegerArgumentProto& _internal_int_prod() const;
4163  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_prod();
4164  public:
4167  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_prod();
4168 
4169  // .operations_research.sat.LinearConstraintProto linear = 12;
4170  bool has_linear() const;
4171  private:
4172  bool _internal_has_linear() const;
4173  public:
4175  const ::operations_research::sat::LinearConstraintProto& linear() const;
4176  ::operations_research::sat::LinearConstraintProto* release_linear();
4177  ::operations_research::sat::LinearConstraintProto* mutable_linear();
4179  private:
4180  const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
4181  ::operations_research::sat::LinearConstraintProto* _internal_mutable_linear();
4182  public:
4185  ::operations_research::sat::LinearConstraintProto* unsafe_arena_release_linear();
4186 
4187  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
4188  bool has_all_diff() const;
4189  private:
4190  bool _internal_has_all_diff() const;
4191  public:
4193  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
4194  ::operations_research::sat::AllDifferentConstraintProto* release_all_diff();
4195  ::operations_research::sat::AllDifferentConstraintProto* mutable_all_diff();
4197  private:
4198  const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
4199  ::operations_research::sat::AllDifferentConstraintProto* _internal_mutable_all_diff();
4200  public:
4203  ::operations_research::sat::AllDifferentConstraintProto* unsafe_arena_release_all_diff();
4204 
4205  // .operations_research.sat.ElementConstraintProto element = 14;
4206  bool has_element() const;
4207  private:
4208  bool _internal_has_element() const;
4209  public:
4211  const ::operations_research::sat::ElementConstraintProto& element() const;
4212  ::operations_research::sat::ElementConstraintProto* release_element();
4213  ::operations_research::sat::ElementConstraintProto* mutable_element();
4215  private:
4216  const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
4217  ::operations_research::sat::ElementConstraintProto* _internal_mutable_element();
4218  public:
4221  ::operations_research::sat::ElementConstraintProto* unsafe_arena_release_element();
4222 
4223  // .operations_research.sat.CircuitConstraintProto circuit = 15;
4224  bool has_circuit() const;
4225  private:
4226  bool _internal_has_circuit() const;
4227  public:
4229  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
4230  ::operations_research::sat::CircuitConstraintProto* release_circuit();
4231  ::operations_research::sat::CircuitConstraintProto* mutable_circuit();
4233  private:
4234  const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
4235  ::operations_research::sat::CircuitConstraintProto* _internal_mutable_circuit();
4236  public:
4239  ::operations_research::sat::CircuitConstraintProto* unsafe_arena_release_circuit();
4240 
4241  // .operations_research.sat.RoutesConstraintProto routes = 23;
4242  bool has_routes() const;
4243  private:
4244  bool _internal_has_routes() const;
4245  public:
4247  const ::operations_research::sat::RoutesConstraintProto& routes() const;
4248  ::operations_research::sat::RoutesConstraintProto* release_routes();
4249  ::operations_research::sat::RoutesConstraintProto* mutable_routes();
4251  private:
4252  const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
4253  ::operations_research::sat::RoutesConstraintProto* _internal_mutable_routes();
4254  public:
4257  ::operations_research::sat::RoutesConstraintProto* unsafe_arena_release_routes();
4258 
4259  // .operations_research.sat.CircuitCoveringConstraintProto circuit_covering = 25;
4260  bool has_circuit_covering() const;
4261  private:
4262  bool _internal_has_circuit_covering() const;
4263  public:
4265  const ::operations_research::sat::CircuitCoveringConstraintProto& circuit_covering() const;
4266  ::operations_research::sat::CircuitCoveringConstraintProto* release_circuit_covering();
4267  ::operations_research::sat::CircuitCoveringConstraintProto* mutable_circuit_covering();
4269  private:
4270  const ::operations_research::sat::CircuitCoveringConstraintProto& _internal_circuit_covering() const;
4271  ::operations_research::sat::CircuitCoveringConstraintProto* _internal_mutable_circuit_covering();
4272  public:
4275  ::operations_research::sat::CircuitCoveringConstraintProto* unsafe_arena_release_circuit_covering();
4276 
4277  // .operations_research.sat.TableConstraintProto table = 16;
4278  bool has_table() const;
4279  private:
4280  bool _internal_has_table() const;
4281  public:
4282  void clear_table();
4283  const ::operations_research::sat::TableConstraintProto& table() const;
4284  ::operations_research::sat::TableConstraintProto* release_table();
4285  ::operations_research::sat::TableConstraintProto* mutable_table();
4287  private:
4288  const ::operations_research::sat::TableConstraintProto& _internal_table() const;
4289  ::operations_research::sat::TableConstraintProto* _internal_mutable_table();
4290  public:
4293  ::operations_research::sat::TableConstraintProto* unsafe_arena_release_table();
4294 
4295  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
4296  bool has_automaton() const;
4297  private:
4298  bool _internal_has_automaton() const;
4299  public:
4301  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
4302  ::operations_research::sat::AutomatonConstraintProto* release_automaton();
4303  ::operations_research::sat::AutomatonConstraintProto* mutable_automaton();
4305  private:
4306  const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
4307  ::operations_research::sat::AutomatonConstraintProto* _internal_mutable_automaton();
4308  public:
4311  ::operations_research::sat::AutomatonConstraintProto* unsafe_arena_release_automaton();
4312 
4313  // .operations_research.sat.InverseConstraintProto inverse = 18;
4314  bool has_inverse() const;
4315  private:
4316  bool _internal_has_inverse() const;
4317  public:
4319  const ::operations_research::sat::InverseConstraintProto& inverse() const;
4320  ::operations_research::sat::InverseConstraintProto* release_inverse();
4321  ::operations_research::sat::InverseConstraintProto* mutable_inverse();
4323  private:
4324  const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
4325  ::operations_research::sat::InverseConstraintProto* _internal_mutable_inverse();
4326  public:
4329  ::operations_research::sat::InverseConstraintProto* unsafe_arena_release_inverse();
4330 
4331  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
4332  bool has_reservoir() const;
4333  private:
4334  bool _internal_has_reservoir() const;
4335  public:
4337  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
4338  ::operations_research::sat::ReservoirConstraintProto* release_reservoir();
4339  ::operations_research::sat::ReservoirConstraintProto* mutable_reservoir();
4341  private:
4342  const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
4343  ::operations_research::sat::ReservoirConstraintProto* _internal_mutable_reservoir();
4344  public:
4347  ::operations_research::sat::ReservoirConstraintProto* unsafe_arena_release_reservoir();
4348 
4349  // .operations_research.sat.IntervalConstraintProto interval = 19;
4350  bool has_interval() const;
4351  private:
4352  bool _internal_has_interval() const;
4353  public:
4355  const ::operations_research::sat::IntervalConstraintProto& interval() const;
4356  ::operations_research::sat::IntervalConstraintProto* release_interval();
4357  ::operations_research::sat::IntervalConstraintProto* mutable_interval();
4359  private:
4360  const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
4361  ::operations_research::sat::IntervalConstraintProto* _internal_mutable_interval();
4362  public:
4365  ::operations_research::sat::IntervalConstraintProto* unsafe_arena_release_interval();
4366 
4367  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
4368  bool has_no_overlap() const;
4369  private:
4370  bool _internal_has_no_overlap() const;
4371  public:
4373  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
4374  ::operations_research::sat::NoOverlapConstraintProto* release_no_overlap();
4375  ::operations_research::sat::NoOverlapConstraintProto* mutable_no_overlap();
4377  private:
4378  const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
4379  ::operations_research::sat::NoOverlapConstraintProto* _internal_mutable_no_overlap();
4380  public:
4383  ::operations_research::sat::NoOverlapConstraintProto* unsafe_arena_release_no_overlap();
4384 
4385  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
4386  bool has_no_overlap_2d() const;
4387  private:
4388  bool _internal_has_no_overlap_2d() const;
4389  public:
4391  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
4392  ::operations_research::sat::NoOverlap2DConstraintProto* release_no_overlap_2d();
4393  ::operations_research::sat::NoOverlap2DConstraintProto* mutable_no_overlap_2d();
4395  private:
4396  const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
4397  ::operations_research::sat::NoOverlap2DConstraintProto* _internal_mutable_no_overlap_2d();
4398  public:
4401  ::operations_research::sat::NoOverlap2DConstraintProto* unsafe_arena_release_no_overlap_2d();
4402 
4403  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
4404  bool has_cumulative() const;
4405  private:
4406  bool _internal_has_cumulative() const;
4407  public:
4409  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
4410  ::operations_research::sat::CumulativeConstraintProto* release_cumulative();
4411  ::operations_research::sat::CumulativeConstraintProto* mutable_cumulative();
4413  private:
4414  const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
4415  ::operations_research::sat::CumulativeConstraintProto* _internal_mutable_cumulative();
4416  public:
4419  ::operations_research::sat::CumulativeConstraintProto* unsafe_arena_release_cumulative();
4420 
4423  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
4424  private:
4425  class _Internal;
4426  void set_has_bool_or();
4427  void set_has_bool_and();
4428  void set_has_at_most_one();
4429  void set_has_bool_xor();
4430  void set_has_int_div();
4431  void set_has_int_mod();
4432  void set_has_int_max();
4433  void set_has_lin_max();
4434  void set_has_int_min();
4435  void set_has_lin_min();
4436  void set_has_int_prod();
4437  void set_has_linear();
4438  void set_has_all_diff();
4439  void set_has_element();
4440  void set_has_circuit();
4441  void set_has_routes();
4442  void set_has_circuit_covering();
4443  void set_has_table();
4444  void set_has_automaton();
4445  void set_has_inverse();
4446  void set_has_reservoir();
4447  void set_has_interval();
4448  void set_has_no_overlap();
4449  void set_has_no_overlap_2d();
4450  void set_has_cumulative();
4451 
4452  inline bool has_constraint() const;
4453  inline void clear_has_constraint();
4454 
4455  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4456  typedef void InternalArenaConstructable_;
4457  typedef void DestructorSkippable_;
4458  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > enforcement_literal_;
4459  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
4460  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4461  union ConstraintUnion {
4462  ConstraintUnion() {}
4463  ::operations_research::sat::BoolArgumentProto* bool_or_;
4464  ::operations_research::sat::BoolArgumentProto* bool_and_;
4465  ::operations_research::sat::BoolArgumentProto* at_most_one_;
4466  ::operations_research::sat::BoolArgumentProto* bool_xor_;
4467  ::operations_research::sat::IntegerArgumentProto* int_div_;
4468  ::operations_research::sat::IntegerArgumentProto* int_mod_;
4469  ::operations_research::sat::IntegerArgumentProto* int_max_;
4470  ::operations_research::sat::LinearArgumentProto* lin_max_;
4471  ::operations_research::sat::IntegerArgumentProto* int_min_;
4472  ::operations_research::sat::LinearArgumentProto* lin_min_;
4473  ::operations_research::sat::IntegerArgumentProto* int_prod_;
4474  ::operations_research::sat::LinearConstraintProto* linear_;
4475  ::operations_research::sat::AllDifferentConstraintProto* all_diff_;
4476  ::operations_research::sat::ElementConstraintProto* element_;
4477  ::operations_research::sat::CircuitConstraintProto* circuit_;
4478  ::operations_research::sat::RoutesConstraintProto* routes_;
4479  ::operations_research::sat::CircuitCoveringConstraintProto* circuit_covering_;
4480  ::operations_research::sat::TableConstraintProto* table_;
4481  ::operations_research::sat::AutomatonConstraintProto* automaton_;
4482  ::operations_research::sat::InverseConstraintProto* inverse_;
4483  ::operations_research::sat::ReservoirConstraintProto* reservoir_;
4484  ::operations_research::sat::IntervalConstraintProto* interval_;
4485  ::operations_research::sat::NoOverlapConstraintProto* no_overlap_;
4486  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d_;
4487  ::operations_research::sat::CumulativeConstraintProto* cumulative_;
4488  } constraint_;
4489  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4490  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
4491 
4492  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4493 };
4494 // -------------------------------------------------------------------
4495 
4496 class CpObjectiveProto PROTOBUF_FINAL :
4497  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
4498  public:
4499  inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
4501 
4502  CpObjectiveProto(const CpObjectiveProto& from);
4503  CpObjectiveProto(CpObjectiveProto&& from) noexcept
4504  : CpObjectiveProto() {
4505  *this = ::std::move(from);
4506  }
4507 
4508  inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
4509  CopyFrom(from);
4510  return *this;
4511  }
4512  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
4513  if (GetArena() == from.GetArena()) {
4514  if (this != &from) InternalSwap(&from);
4515  } else {
4516  CopyFrom(from);
4517  }
4518  return *this;
4519  }
4520 
4521  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4522  return GetDescriptor();
4523  }
4524  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4525  return GetMetadataStatic().descriptor;
4526  }
4527  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4528  return GetMetadataStatic().reflection;
4529  }
4530  static const CpObjectiveProto& default_instance();
4531 
4532  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4533  static inline const CpObjectiveProto* internal_default_instance() {
4534  return reinterpret_cast<const CpObjectiveProto*>(
4536  }
4537  static constexpr int kIndexInFileMessages =
4538  20;
4539 
4540  friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) {
4541  a.Swap(&b);
4542  }
4543  inline void Swap(CpObjectiveProto* other) {
4544  if (other == this) return;
4545  if (GetArena() == other->GetArena()) {
4546  InternalSwap(other);
4547  } else {
4548  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4549  }
4550  }
4551  void UnsafeArenaSwap(CpObjectiveProto* other) {
4552  if (other == this) return;
4553  GOOGLE_DCHECK(GetArena() == other->GetArena());
4554  InternalSwap(other);
4555  }
4556 
4557  // implements Message ----------------------------------------------
4558 
4559  inline CpObjectiveProto* New() const final {
4560  return CreateMaybeMessage<CpObjectiveProto>(nullptr);
4561  }
4562 
4563  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4564  return CreateMaybeMessage<CpObjectiveProto>(arena);
4565  }
4566  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4567  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4568  void CopyFrom(const CpObjectiveProto& from);
4569  void MergeFrom(const CpObjectiveProto& from);
4570  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4571  bool IsInitialized() const final;
4572 
4573  size_t ByteSizeLong() const final;
4574  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4575  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4576  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4577  int GetCachedSize() const final { return _cached_size_.Get(); }
4578 
4579  private:
4580  inline void SharedCtor();
4581  inline void SharedDtor();
4582  void SetCachedSize(int size) const final;
4583  void InternalSwap(CpObjectiveProto* other);
4584  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4585  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4586  return "operations_research.sat.CpObjectiveProto";
4587  }
4588  protected:
4589  explicit CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4590  private:
4591  static void ArenaDtor(void* object);
4592  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4593  public:
4594 
4595  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4596  private:
4597  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4598  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4599  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4600  }
4601 
4602  public:
4603 
4604  // nested types ----------------------------------------------------
4605 
4606  // accessors -------------------------------------------------------
4607 
4608  enum : int {
4609  kVarsFieldNumber = 1,
4610  kCoeffsFieldNumber = 4,
4611  kDomainFieldNumber = 5,
4612  kOffsetFieldNumber = 2,
4613  kScalingFactorFieldNumber = 3,
4614  };
4615  // repeated int32 vars = 1;
4616  int vars_size() const;
4617  private:
4618  int _internal_vars_size() const;
4619  public:
4620  void clear_vars();
4621  private:
4622  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
4623  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4624  _internal_vars() const;
4625  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4626  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4627  _internal_mutable_vars();
4628  public:
4632  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4633  vars() const;
4634  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4636 
4637  // repeated int64 coeffs = 4;
4638  int coeffs_size() const;
4639  private:
4640  int _internal_coeffs_size() const;
4641  public:
4643  private:
4644  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
4645  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4646  _internal_coeffs() const;
4647  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4648  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4649  _internal_mutable_coeffs();
4650  public:
4654  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4655  coeffs() const;
4656  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4658 
4659  // repeated int64 domain = 5;
4660  int domain_size() const;
4661  private:
4662  int _internal_domain_size() const;
4663  public:
4665  private:
4666  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
4667  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4668  _internal_domain() const;
4669  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4670  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4671  _internal_mutable_domain();
4672  public:
4676  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4677  domain() const;
4678  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4680 
4681  // double offset = 2;
4683  double offset() const;
4684  void set_offset(double value);
4685  private:
4686  double _internal_offset() const;
4687  void _internal_set_offset(double value);
4688  public:
4689 
4690  // double scaling_factor = 3;
4692  double scaling_factor() const;
4694  private:
4695  double _internal_scaling_factor() const;
4696  void _internal_set_scaling_factor(double value);
4697  public:
4698 
4699  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
4700  private:
4701  class _Internal;
4702 
4703  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4704  typedef void InternalArenaConstructable_;
4705  typedef void DestructorSkippable_;
4706  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
4707  mutable std::atomic<int> _vars_cached_byte_size_;
4708  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
4709  mutable std::atomic<int> _coeffs_cached_byte_size_;
4710  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
4711  mutable std::atomic<int> _domain_cached_byte_size_;
4712  double offset_;
4713  double scaling_factor_;
4714  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4715  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4716 };
4717 // -------------------------------------------------------------------
4718 
4719 class DecisionStrategyProto_AffineTransformation PROTOBUF_FINAL :
4720  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
4721  public:
4722  inline DecisionStrategyProto_AffineTransformation() : DecisionStrategyProto_AffineTransformation(nullptr) {}
4724 
4725  DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation& from);
4726  DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation&& from) noexcept
4727  : DecisionStrategyProto_AffineTransformation() {
4728  *this = ::std::move(from);
4729  }
4730 
4731  inline DecisionStrategyProto_AffineTransformation& operator=(const DecisionStrategyProto_AffineTransformation& from) {
4732  CopyFrom(from);
4733  return *this;
4734  }
4735  inline DecisionStrategyProto_AffineTransformation& operator=(DecisionStrategyProto_AffineTransformation&& from) noexcept {
4736  if (GetArena() == from.GetArena()) {
4737  if (this != &from) InternalSwap(&from);
4738  } else {
4739  CopyFrom(from);
4740  }
4741  return *this;
4742  }
4743 
4744  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4745  return GetDescriptor();
4746  }
4747  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4748  return GetMetadataStatic().descriptor;
4749  }
4750  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4751  return GetMetadataStatic().reflection;
4752  }
4753  static const DecisionStrategyProto_AffineTransformation& default_instance();
4754 
4755  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4756  static inline const DecisionStrategyProto_AffineTransformation* internal_default_instance() {
4757  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
4759  }
4760  static constexpr int kIndexInFileMessages =
4761  21;
4762 
4763  friend void swap(DecisionStrategyProto_AffineTransformation& a, DecisionStrategyProto_AffineTransformation& b) {
4764  a.Swap(&b);
4765  }
4766  inline void Swap(DecisionStrategyProto_AffineTransformation* other) {
4767  if (other == this) return;
4768  if (GetArena() == other->GetArena()) {
4769  InternalSwap(other);
4770  } else {
4771  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4772  }
4773  }
4774  void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation* other) {
4775  if (other == this) return;
4776  GOOGLE_DCHECK(GetArena() == other->GetArena());
4777  InternalSwap(other);
4778  }
4779 
4780  // implements Message ----------------------------------------------
4781 
4782  inline DecisionStrategyProto_AffineTransformation* New() const final {
4783  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(nullptr);
4784  }
4785 
4786  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4787  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
4788  }
4789  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4790  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4791  void CopyFrom(const DecisionStrategyProto_AffineTransformation& from);
4792  void MergeFrom(const DecisionStrategyProto_AffineTransformation& from);
4793  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4794  bool IsInitialized() const final;
4795 
4796  size_t ByteSizeLong() const final;
4797  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4798  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4799  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4800  int GetCachedSize() const final { return _cached_size_.Get(); }
4801 
4802  private:
4803  inline void SharedCtor();
4804  inline void SharedDtor();
4805  void SetCachedSize(int size) const final;
4806  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
4807  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4808  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4809  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
4810  }
4811  protected:
4812  explicit DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4813  private:
4814  static void ArenaDtor(void* object);
4815  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4816  public:
4817 
4818  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4819  private:
4820  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4821  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4822  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4823  }
4824 
4825  public:
4826 
4827  // nested types ----------------------------------------------------
4828 
4829  // accessors -------------------------------------------------------
4830 
4831  enum : int {
4832  kOffsetFieldNumber = 2,
4833  kPositiveCoeffFieldNumber = 3,
4834  kVarFieldNumber = 1,
4835  };
4836  // int64 offset = 2;
4840  private:
4841  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
4842  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4843  public:
4844 
4845  // int64 positive_coeff = 3;
4849  private:
4850  ::PROTOBUF_NAMESPACE_ID::int64 _internal_positive_coeff() const;
4851  void _internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4852  public:
4853 
4854  // int32 var = 1;
4855  void clear_var();
4858  private:
4859  ::PROTOBUF_NAMESPACE_ID::int32 _internal_var() const;
4860  void _internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value);
4861  public:
4862 
4863  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
4864  private:
4865  class _Internal;
4866 
4867  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4868  typedef void InternalArenaConstructable_;
4869  typedef void DestructorSkippable_;
4871  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff_;
4873  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4874  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4875 };
4876 // -------------------------------------------------------------------
4877 
4878 class DecisionStrategyProto PROTOBUF_FINAL :
4879  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
4880  public:
4881  inline DecisionStrategyProto() : DecisionStrategyProto(nullptr) {}
4883 
4884  DecisionStrategyProto(const DecisionStrategyProto& from);
4885  DecisionStrategyProto(DecisionStrategyProto&& from) noexcept
4886  : DecisionStrategyProto() {
4887  *this = ::std::move(from);
4888  }
4889 
4890  inline DecisionStrategyProto& operator=(const DecisionStrategyProto& from) {
4891  CopyFrom(from);
4892  return *this;
4893  }
4894  inline DecisionStrategyProto& operator=(DecisionStrategyProto&& from) noexcept {
4895  if (GetArena() == from.GetArena()) {
4896  if (this != &from) InternalSwap(&from);
4897  } else {
4898  CopyFrom(from);
4899  }
4900  return *this;
4901  }
4902 
4903  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4904  return GetDescriptor();
4905  }
4906  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4907  return GetMetadataStatic().descriptor;
4908  }
4909  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4910  return GetMetadataStatic().reflection;
4911  }
4912  static const DecisionStrategyProto& default_instance();
4913 
4914  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
4915  static inline const DecisionStrategyProto* internal_default_instance() {
4916  return reinterpret_cast<const DecisionStrategyProto*>(
4918  }
4919  static constexpr int kIndexInFileMessages =
4920  22;
4921 
4922  friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) {
4923  a.Swap(&b);
4924  }
4925  inline void Swap(DecisionStrategyProto* other) {
4926  if (other == this) return;
4927  if (GetArena() == other->GetArena()) {
4928  InternalSwap(other);
4929  } else {
4930  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4931  }
4932  }
4933  void UnsafeArenaSwap(DecisionStrategyProto* other) {
4934  if (other == this) return;
4935  GOOGLE_DCHECK(GetArena() == other->GetArena());
4936  InternalSwap(other);
4937  }
4938 
4939  // implements Message ----------------------------------------------
4940 
4941  inline DecisionStrategyProto* New() const final {
4942  return CreateMaybeMessage<DecisionStrategyProto>(nullptr);
4943  }
4944 
4945  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4946  return CreateMaybeMessage<DecisionStrategyProto>(arena);
4947  }
4948  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4949  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4950  void CopyFrom(const DecisionStrategyProto& from);
4951  void MergeFrom(const DecisionStrategyProto& from);
4952  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4953  bool IsInitialized() const final;
4954 
4955  size_t ByteSizeLong() const final;
4956  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4957  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4958  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4959  int GetCachedSize() const final { return _cached_size_.Get(); }
4960 
4961  private:
4962  inline void SharedCtor();
4963  inline void SharedDtor();
4964  void SetCachedSize(int size) const final;
4965  void InternalSwap(DecisionStrategyProto* other);
4966  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4967  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4968  return "operations_research.sat.DecisionStrategyProto";
4969  }
4970  protected:
4971  explicit DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4972  private:
4973  static void ArenaDtor(void* object);
4974  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4975  public:
4976 
4977  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4978  private:
4979  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4980  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
4981  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
4982  }
4983 
4984  public:
4985 
4986  // nested types ----------------------------------------------------
4987 
4988  typedef DecisionStrategyProto_AffineTransformation AffineTransformation;
4989 
4991  static constexpr VariableSelectionStrategy CHOOSE_FIRST =
4993  static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN =
4995  static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX =
4997  static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE =
4999  static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE =
5001  static inline bool VariableSelectionStrategy_IsValid(int value) {
5003  }
5004  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN =
5006  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX =
5008  static constexpr int VariableSelectionStrategy_ARRAYSIZE =
5010  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5013  }
5014  template<typename T>
5015  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
5018  "Incorrect type passed to function VariableSelectionStrategy_Name.");
5020  }
5021  static inline bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
5024  }
5025 
5027  static constexpr DomainReductionStrategy SELECT_MIN_VALUE =
5029  static constexpr DomainReductionStrategy SELECT_MAX_VALUE =
5031  static constexpr DomainReductionStrategy SELECT_LOWER_HALF =
5033  static constexpr DomainReductionStrategy SELECT_UPPER_HALF =
5035  static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE =
5037  static inline bool DomainReductionStrategy_IsValid(int value) {
5039  }
5040  static constexpr DomainReductionStrategy DomainReductionStrategy_MIN =
5042  static constexpr DomainReductionStrategy DomainReductionStrategy_MAX =
5044  static constexpr int DomainReductionStrategy_ARRAYSIZE =
5046  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
5049  }
5050  template<typename T>
5051  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
5054  "Incorrect type passed to function DomainReductionStrategy_Name.");
5056  }
5057  static inline bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
5060  }
5061 
5062  // accessors -------------------------------------------------------
5063 
5064  enum : int {
5065  kVariablesFieldNumber = 1,
5066  kTransformationsFieldNumber = 4,
5067  kVariableSelectionStrategyFieldNumber = 2,
5068  kDomainReductionStrategyFieldNumber = 3,
5069  };
5070  // repeated int32 variables = 1;
5071  int variables_size() const;
5072  private:
5073  int _internal_variables_size() const;
5074  public:
5076  private:
5077  ::PROTOBUF_NAMESPACE_ID::int32 _internal_variables(int index) const;
5078  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5079  _internal_variables() const;
5080  void _internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
5081  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5082  _internal_mutable_variables();
5083  public:
5087  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5088  variables() const;
5089  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5091 
5092  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
5094  private:
5095  int _internal_transformations_size() const;
5096  public:
5098  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* mutable_transformations(int index);
5099  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
5101  private:
5102  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& _internal_transformations(int index) const;
5103  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* _internal_add_transformations();
5104  public:
5105  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
5106  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* add_transformations();
5107  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
5109 
5110  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
5114  private:
5115  ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
5116  void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
5117  public:
5118 
5119  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
5123  private:
5124  ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
5125  void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
5126  public:
5127 
5128  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
5129  private:
5130  class _Internal;
5131 
5132  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5133  typedef void InternalArenaConstructable_;
5134  typedef void DestructorSkippable_;
5135  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > variables_;
5136  mutable std::atomic<int> _variables_cached_byte_size_;
5137  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
5138  int variable_selection_strategy_;
5139  int domain_reduction_strategy_;
5140  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5141  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5142 };
5143 // -------------------------------------------------------------------
5144 
5145 class PartialVariableAssignment PROTOBUF_FINAL :
5146  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
5147  public:
5148  inline PartialVariableAssignment() : PartialVariableAssignment(nullptr) {}
5150 
5151  PartialVariableAssignment(const PartialVariableAssignment& from);
5152  PartialVariableAssignment(PartialVariableAssignment&& from) noexcept
5153  : PartialVariableAssignment() {
5154  *this = ::std::move(from);
5155  }
5156 
5157  inline PartialVariableAssignment& operator=(const PartialVariableAssignment& from) {
5158  CopyFrom(from);
5159  return *this;
5160  }
5161  inline PartialVariableAssignment& operator=(PartialVariableAssignment&& from) noexcept {
5162  if (GetArena() == from.GetArena()) {
5163  if (this != &from) InternalSwap(&from);
5164  } else {
5165  CopyFrom(from);
5166  }
5167  return *this;
5168  }
5169 
5170  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5171  return GetDescriptor();
5172  }
5173  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5174  return GetMetadataStatic().descriptor;
5175  }
5176  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5177  return GetMetadataStatic().reflection;
5178  }
5179  static const PartialVariableAssignment& default_instance();
5180 
5181  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
5182  static inline const PartialVariableAssignment* internal_default_instance() {
5183  return reinterpret_cast<const PartialVariableAssignment*>(
5185  }
5186  static constexpr int kIndexInFileMessages =
5187  23;
5188 
5189  friend void swap(PartialVariableAssignment& a, PartialVariableAssignment& b) {
5190  a.Swap(&b);
5191  }
5192  inline void Swap(PartialVariableAssignment* other) {
5193  if (other == this) return;
5194  if (GetArena() == other->GetArena()) {
5195  InternalSwap(other);
5196  } else {
5197  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5198  }
5199  }
5200  void UnsafeArenaSwap(PartialVariableAssignment* other) {
5201  if (other == this) return;
5202  GOOGLE_DCHECK(GetArena() == other->GetArena());
5203  InternalSwap(other);
5204  }
5205 
5206  // implements Message ----------------------------------------------
5207 
5208  inline PartialVariableAssignment* New() const final {
5209  return CreateMaybeMessage<PartialVariableAssignment>(nullptr);
5210  }
5211 
5212  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5213  return CreateMaybeMessage<PartialVariableAssignment>(arena);
5214  }
5215  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5216  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5217  void CopyFrom(const PartialVariableAssignment& from);
5218  void MergeFrom(const PartialVariableAssignment& from);
5219  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5220  bool IsInitialized() const final;
5221 
5222  size_t ByteSizeLong() const final;
5223  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5224  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5225  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5226  int GetCachedSize() const final { return _cached_size_.Get(); }
5227 
5228  private:
5229  inline void SharedCtor();
5230  inline void SharedDtor();
5231  void SetCachedSize(int size) const final;
5232  void InternalSwap(PartialVariableAssignment* other);
5233  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5234  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5235  return "operations_research.sat.PartialVariableAssignment";
5236  }
5237  protected:
5238  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5239  private:
5240  static void ArenaDtor(void* object);
5241  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5242  public:
5243 
5244  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5245  private:
5246  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5247  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5248  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5249  }
5250 
5251  public:
5252 
5253  // nested types ----------------------------------------------------
5254 
5255  // accessors -------------------------------------------------------
5256 
5257  enum : int {
5258  kVarsFieldNumber = 1,
5259  kValuesFieldNumber = 2,
5260  };
5261  // repeated int32 vars = 1;
5262  int vars_size() const;
5263  private:
5264  int _internal_vars_size() const;
5265  public:
5266  void clear_vars();
5267  private:
5268  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
5269  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5270  _internal_vars() const;
5271  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5272  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5273  _internal_mutable_vars();
5274  public:
5278  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5279  vars() const;
5280  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5282 
5283  // repeated int64 values = 2;
5284  int values_size() const;
5285  private:
5286  int _internal_values_size() const;
5287  public:
5289  private:
5290  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
5291  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5292  _internal_values() const;
5293  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5294  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5295  _internal_mutable_values();
5296  public:
5300  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5301  values() const;
5302  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5304 
5305  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
5306  private:
5307  class _Internal;
5308 
5309  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5310  typedef void InternalArenaConstructable_;
5311  typedef void DestructorSkippable_;
5312  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
5313  mutable std::atomic<int> _vars_cached_byte_size_;
5314  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
5315  mutable std::atomic<int> _values_cached_byte_size_;
5316  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5317  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5318 };
5319 // -------------------------------------------------------------------
5320 
5321 class CpModelProto PROTOBUF_FINAL :
5322  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
5323  public:
5324  inline CpModelProto() : CpModelProto(nullptr) {}
5325  virtual ~CpModelProto();
5326 
5327  CpModelProto(const CpModelProto& from);
5328  CpModelProto(CpModelProto&& from) noexcept
5329  : CpModelProto() {
5330  *this = ::std::move(from);
5331  }
5332 
5333  inline CpModelProto& operator=(const CpModelProto& from) {
5334  CopyFrom(from);
5335  return *this;
5336  }
5337  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
5338  if (GetArena() == from.GetArena()) {
5339  if (this != &from) InternalSwap(&from);
5340  } else {
5341  CopyFrom(from);
5342  }
5343  return *this;
5344  }
5345 
5346  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5347  return GetDescriptor();
5348  }
5349  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5350  return GetMetadataStatic().descriptor;
5351  }
5352  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5353  return GetMetadataStatic().reflection;
5354  }
5355  static const CpModelProto& default_instance();
5356 
5357  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
5358  static inline const CpModelProto* internal_default_instance() {
5359  return reinterpret_cast<const CpModelProto*>(
5361  }
5362  static constexpr int kIndexInFileMessages =
5363  24;
5364 
5365  friend void swap(CpModelProto& a, CpModelProto& b) {
5366  a.Swap(&b);
5367  }
5368  inline void Swap(CpModelProto* other) {
5369  if (other == this) return;
5370  if (GetArena() == other->GetArena()) {
5371  InternalSwap(other);
5372  } else {
5373  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5374  }
5375  }
5376  void UnsafeArenaSwap(CpModelProto* other) {
5377  if (other == this) return;
5378  GOOGLE_DCHECK(GetArena() == other->GetArena());
5379  InternalSwap(other);
5380  }
5381 
5382  // implements Message ----------------------------------------------
5383 
5384  inline CpModelProto* New() const final {
5385  return CreateMaybeMessage<CpModelProto>(nullptr);
5386  }
5387 
5388  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5389  return CreateMaybeMessage<CpModelProto>(arena);
5390  }
5391  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5392  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5393  void CopyFrom(const CpModelProto& from);
5394  void MergeFrom(const CpModelProto& from);
5395  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5396  bool IsInitialized() const final;
5397 
5398  size_t ByteSizeLong() const final;
5399  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5400  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5401  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5402  int GetCachedSize() const final { return _cached_size_.Get(); }
5403 
5404  private:
5405  inline void SharedCtor();
5406  inline void SharedDtor();
5407  void SetCachedSize(int size) const final;
5408  void InternalSwap(CpModelProto* other);
5409  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5410  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5411  return "operations_research.sat.CpModelProto";
5412  }
5413  protected:
5414  explicit CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5415  private:
5416  static void ArenaDtor(void* object);
5417  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5418  public:
5419 
5420  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5421  private:
5422  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5423  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5424  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5425  }
5426 
5427  public:
5428 
5429  // nested types ----------------------------------------------------
5430 
5431  // accessors -------------------------------------------------------
5432 
5433  enum : int {
5434  kVariablesFieldNumber = 2,
5435  kConstraintsFieldNumber = 3,
5436  kSearchStrategyFieldNumber = 5,
5437  kAssumptionsFieldNumber = 7,
5438  kNameFieldNumber = 1,
5439  kObjectiveFieldNumber = 4,
5440  kSolutionHintFieldNumber = 6,
5441  };
5442  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
5443  int variables_size() const;
5444  private:
5445  int _internal_variables_size() const;
5446  public:
5448  ::operations_research::sat::IntegerVariableProto* mutable_variables(int index);
5449  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5451  private:
5452  const ::operations_research::sat::IntegerVariableProto& _internal_variables(int index) const;
5453  ::operations_research::sat::IntegerVariableProto* _internal_add_variables();
5454  public:
5455  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
5456  ::operations_research::sat::IntegerVariableProto* add_variables();
5457  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5458  variables() const;
5459 
5460  // repeated .operations_research.sat.ConstraintProto constraints = 3;
5461  int constraints_size() const;
5462  private:
5463  int _internal_constraints_size() const;
5464  public:
5466  ::operations_research::sat::ConstraintProto* mutable_constraints(int index);
5467  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
5469  private:
5470  const ::operations_research::sat::ConstraintProto& _internal_constraints(int index) const;
5471  ::operations_research::sat::ConstraintProto* _internal_add_constraints();
5472  public:
5473  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
5474  ::operations_research::sat::ConstraintProto* add_constraints();
5475  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
5476  constraints() const;
5477 
5478  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
5480  private:
5481  int _internal_search_strategy_size() const;
5482  public:
5484  ::operations_research::sat::DecisionStrategyProto* mutable_search_strategy(int index);
5485  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
5487  private:
5488  const ::operations_research::sat::DecisionStrategyProto& _internal_search_strategy(int index) const;
5489  ::operations_research::sat::DecisionStrategyProto* _internal_add_search_strategy();
5490  public:
5491  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
5492  ::operations_research::sat::DecisionStrategyProto* add_search_strategy();
5493  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
5495 
5496  // repeated int32 assumptions = 7;
5497  int assumptions_size() const;
5498  private:
5499  int _internal_assumptions_size() const;
5500  public:
5502  private:
5503  ::PROTOBUF_NAMESPACE_ID::int32 _internal_assumptions(int index) const;
5504  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5505  _internal_assumptions() const;
5506  void _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
5507  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5508  _internal_mutable_assumptions();
5509  public:
5513  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5514  assumptions() const;
5515  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5517 
5518  // string name = 1;
5519  void clear_name();
5520  const std::string& name() const;
5521  void set_name(const std::string& value);
5522  void set_name(std::string&& value);
5523  void set_name(const char* value);
5524  void set_name(const char* value, size_t size);
5525  std::string* mutable_name();
5526  std::string* release_name();
5527  void set_allocated_name(std::string* name);
5528  private:
5529  const std::string& _internal_name() const;
5530  void _internal_set_name(const std::string& value);
5531  std::string* _internal_mutable_name();
5532  public:
5533 
5534  // .operations_research.sat.CpObjectiveProto objective = 4;
5535  bool has_objective() const;
5536  private:
5537  bool _internal_has_objective() const;
5538  public:
5540  const ::operations_research::sat::CpObjectiveProto& objective() const;
5541  ::operations_research::sat::CpObjectiveProto* release_objective();
5542  ::operations_research::sat::CpObjectiveProto* mutable_objective();
5544  private:
5545  const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
5546  ::operations_research::sat::CpObjectiveProto* _internal_mutable_objective();
5547  public:
5550  ::operations_research::sat::CpObjectiveProto* unsafe_arena_release_objective();
5551 
5552  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
5553  bool has_solution_hint() const;
5554  private:
5555  bool _internal_has_solution_hint() const;
5556  public:
5558  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
5559  ::operations_research::sat::PartialVariableAssignment* release_solution_hint();
5560  ::operations_research::sat::PartialVariableAssignment* mutable_solution_hint();
5562  private:
5563  const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
5564  ::operations_research::sat::PartialVariableAssignment* _internal_mutable_solution_hint();
5565  public:
5568  ::operations_research::sat::PartialVariableAssignment* unsafe_arena_release_solution_hint();
5569 
5570  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
5571  private:
5572  class _Internal;
5573 
5574  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5575  typedef void InternalArenaConstructable_;
5576  typedef void DestructorSkippable_;
5577  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
5578  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
5579  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
5580  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > assumptions_;
5581  mutable std::atomic<int> _assumptions_cached_byte_size_;
5582  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
5583  ::operations_research::sat::CpObjectiveProto* objective_;
5584  ::operations_research::sat::PartialVariableAssignment* solution_hint_;
5585  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5586  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5587 };
5588 // -------------------------------------------------------------------
5589 
5590 class CpSolverResponse PROTOBUF_FINAL :
5591  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
5592  public:
5593  inline CpSolverResponse() : CpSolverResponse(nullptr) {}
5595 
5596  CpSolverResponse(const CpSolverResponse& from);
5597  CpSolverResponse(CpSolverResponse&& from) noexcept
5598  : CpSolverResponse() {
5599  *this = ::std::move(from);
5600  }
5601 
5602  inline CpSolverResponse& operator=(const CpSolverResponse& from) {
5603  CopyFrom(from);
5604  return *this;
5605  }
5606  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
5607  if (GetArena() == from.GetArena()) {
5608  if (this != &from) InternalSwap(&from);
5609  } else {
5610  CopyFrom(from);
5611  }
5612  return *this;
5613  }
5614 
5615  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5616  return GetDescriptor();
5617  }
5618  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5619  return GetMetadataStatic().descriptor;
5620  }
5621  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5622  return GetMetadataStatic().reflection;
5623  }
5624  static const CpSolverResponse& default_instance();
5625 
5626  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
5627  static inline const CpSolverResponse* internal_default_instance() {
5628  return reinterpret_cast<const CpSolverResponse*>(
5630  }
5631  static constexpr int kIndexInFileMessages =
5632  25;
5633 
5634  friend void swap(CpSolverResponse& a, CpSolverResponse& b) {
5635  a.Swap(&b);
5636  }
5637  inline void Swap(CpSolverResponse* other) {
5638  if (other == this) return;
5639  if (GetArena() == other->GetArena()) {
5640  InternalSwap(other);
5641  } else {
5642  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5643  }
5644  }
5645  void UnsafeArenaSwap(CpSolverResponse* other) {
5646  if (other == this) return;
5647  GOOGLE_DCHECK(GetArena() == other->GetArena());
5648  InternalSwap(other);
5649  }
5650 
5651  // implements Message ----------------------------------------------
5652 
5653  inline CpSolverResponse* New() const final {
5654  return CreateMaybeMessage<CpSolverResponse>(nullptr);
5655  }
5656 
5657  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5658  return CreateMaybeMessage<CpSolverResponse>(arena);
5659  }
5660  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5661  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5662  void CopyFrom(const CpSolverResponse& from);
5663  void MergeFrom(const CpSolverResponse& from);
5664  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5665  bool IsInitialized() const final;
5666 
5667  size_t ByteSizeLong() const final;
5668  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5669  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5670  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5671  int GetCachedSize() const final { return _cached_size_.Get(); }
5672 
5673  private:
5674  inline void SharedCtor();
5675  inline void SharedDtor();
5676  void SetCachedSize(int size) const final;
5677  void InternalSwap(CpSolverResponse* other);
5678  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5679  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5680  return "operations_research.sat.CpSolverResponse";
5681  }
5682  protected:
5683  explicit CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5684  private:
5685  static void ArenaDtor(void* object);
5686  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5687  public:
5688 
5689  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5690  private:
5691  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5692  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
5693  return ::descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto.file_level_metadata[kIndexInFileMessages];
5694  }
5695 
5696  public:
5697 
5698  // nested types ----------------------------------------------------
5699 
5700  // accessors -------------------------------------------------------
5701 
5702  enum : int {
5703  kSolutionFieldNumber = 2,
5704  kSolutionLowerBoundsFieldNumber = 18,
5705  kSolutionUpperBoundsFieldNumber = 19,
5706  kTightenedVariablesFieldNumber = 21,
5707  kSufficientAssumptionsForInfeasibilityFieldNumber = 23,
5708  kSolutionInfoFieldNumber = 20,
5709  kObjectiveValueFieldNumber = 3,
5710  kStatusFieldNumber = 1,
5711  kAllSolutionsWereFoundFieldNumber = 5,
5712  kBestObjectiveBoundFieldNumber = 4,
5713  kNumBooleansFieldNumber = 10,
5714  kNumConflictsFieldNumber = 11,
5715  kNumBranchesFieldNumber = 12,
5716  kNumBinaryPropagationsFieldNumber = 13,
5717  kNumIntegerPropagationsFieldNumber = 14,
5718  kWallTimeFieldNumber = 15,
5719  kUserTimeFieldNumber = 16,
5720  kDeterministicTimeFieldNumber = 17,
5721  kPrimalIntegralFieldNumber = 22,
5722  };
5723  // repeated int64 solution = 2;
5724  int solution_size() const;
5725  private:
5726  int _internal_solution_size() const;
5727  public:
5729  private:
5730  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution(int index) const;
5731  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5732  _internal_solution() const;
5733  void _internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
5734  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5735  _internal_mutable_solution();
5736  public:
5740  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5741  solution() const;
5742  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5744 
5745  // repeated int64 solution_lower_bounds = 18;
5747  private:
5748  int _internal_solution_lower_bounds_size() const;
5749  public:
5751  private:
5752  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_lower_bounds(int index) const;
5753  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5754  _internal_solution_lower_bounds() const;
5755  void _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5756  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5757  _internal_mutable_solution_lower_bounds();
5758  public:
5762  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5764  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5766 
5767  // repeated int64 solution_upper_bounds = 19;
5769  private:
5770  int _internal_solution_upper_bounds_size() const;
5771  public:
5773  private:
5774  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_upper_bounds(int index) const;
5775  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5776  _internal_solution_upper_bounds() const;
5777  void _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
5778  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5779  _internal_mutable_solution_upper_bounds();
5780  public:
5784  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5786  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5788 
5789  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
5791  private:
5792  int _internal_tightened_variables_size() const;
5793  public:
5795  ::operations_research::sat::IntegerVariableProto* mutable_tightened_variables(int index);
5796  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5798  private:
5799  const ::operations_research::sat::IntegerVariableProto& _internal_tightened_variables(int index) const;
5800  ::operations_research::sat::IntegerVariableProto* _internal_add_tightened_variables();
5801  public:
5802  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
5803  ::operations_research::sat::IntegerVariableProto* add_tightened_variables();
5804  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5806 
5807  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
5809  private:
5810  int _internal_sufficient_assumptions_for_infeasibility_size() const;
5811  public:
5813  private:
5814  ::PROTOBUF_NAMESPACE_ID::int32 _internal_sufficient_assumptions_for_infeasibility(int index) const;
5815  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5816  _internal_sufficient_assumptions_for_infeasibility() const;
5817  void _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
5818  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5819  _internal_mutable_sufficient_assumptions_for_infeasibility();
5820  public:
5824  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5826  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5828 
5829  // string solution_info = 20;
5831  const std::string& solution_info() const;
5832  void set_solution_info(const std::string& value);
5833  void set_solution_info(std::string&& value);
5834  void set_solution_info(const char* value);
5835  void set_solution_info(const char* value, size_t size);
5836  std::string* mutable_solution_info();
5837  std::string* release_solution_info();
5838  void set_allocated_solution_info(std::string* solution_info);
5839  private:
5840  const std::string& _internal_solution_info() const;
5841  void _internal_set_solution_info(const std::string& value);
5842  std::string* _internal_mutable_solution_info();
5843  public:
5844 
5845  // double objective_value = 3;
5847  double objective_value() const;
5849  private:
5850  double _internal_objective_value() const;
5851  void _internal_set_objective_value(double value);
5852  public:
5853 
5854  // .operations_research.sat.CpSolverStatus status = 1;
5858  private:
5859  ::operations_research::sat::CpSolverStatus _internal_status() const;
5860  void _internal_set_status(::operations_research::sat::CpSolverStatus value);
5861  public:
5862 
5863  // bool all_solutions_were_found = 5;
5867  private:
5868  bool _internal_all_solutions_were_found() const;
5869  void _internal_set_all_solutions_were_found(bool value);
5870  public:
5871 
5872  // double best_objective_bound = 4;
5874  double best_objective_bound() const;
5876  private:
5877  double _internal_best_objective_bound() const;
5878  void _internal_set_best_objective_bound(double value);
5879  public:
5880 
5881  // int64 num_booleans = 10;
5885  private:
5886  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_booleans() const;
5887  void _internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
5888  public:
5889 
5890  // int64 num_conflicts = 11;
5894  private:
5895  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_conflicts() const;
5896  void _internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
5897  public:
5898 
5899  // int64 num_branches = 12;
5903  private:
5904  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_branches() const;
5905  void _internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
5906  public:
5907 
5908  // int64 num_binary_propagations = 13;
5912  private:
5913  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_binary_propagations() const;
5914  void _internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5915  public:
5916 
5917  // int64 num_integer_propagations = 14;
5921  private:
5922  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_integer_propagations() const;
5923  void _internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
5924  public:
5925 
5926  // double wall_time = 15;
5928  double wall_time() const;
5929  void set_wall_time(double value);
5930  private:
5931  double _internal_wall_time() const;
5932  void _internal_set_wall_time(double value);
5933  public:
5934 
5935  // double user_time = 16;
5937  double user_time() const;
5938  void set_user_time(double value);
5939  private:
5940  double _internal_user_time() const;
5941  void _internal_set_user_time(double value);
5942  public:
5943 
5944  // double deterministic_time = 17;
5946  double deterministic_time() const;
5948  private:
5949  double _internal_deterministic_time() const;
5950  void _internal_set_deterministic_time(double value);
5951  public:
5952 
5953  // double primal_integral = 22;
5955  double primal_integral() const;
5957  private:
5958  double _internal_primal_integral() const;
5959  void _internal_set_primal_integral(double value);
5960  public:
5961 
5962  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
5963  private:
5964  class _Internal;
5965 
5966  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5967  typedef void InternalArenaConstructable_;
5968  typedef void DestructorSkippable_;
5969  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_;
5970  mutable std::atomic<int> _solution_cached_byte_size_;
5971  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_lower_bounds_;
5972  mutable std::atomic<int> _solution_lower_bounds_cached_byte_size_;
5973  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_upper_bounds_;
5974  mutable std::atomic<int> _solution_upper_bounds_cached_byte_size_;
5975  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
5976  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > sufficient_assumptions_for_infeasibility_;
5977  mutable std::atomic<int> _sufficient_assumptions_for_infeasibility_cached_byte_size_;
5978  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
5979  double objective_value_;
5980  int status_;
5981  bool all_solutions_were_found_;
5982  double best_objective_bound_;
5983  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans_;
5984  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts_;
5985  ::PROTOBUF_NAMESPACE_ID::int64 num_branches_;
5986  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations_;
5987  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations_;
5988  double wall_time_;
5989  double user_time_;
5990  double deterministic_time_;
5991  double primal_integral_;
5992  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5993  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5994 };
5995 // ===================================================================
5996 
5997 
5998 // ===================================================================
5999 
6000 #ifdef __GNUC__
6001  #pragma GCC diagnostic push
6002  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
6003 #endif // __GNUC__
6004 // IntegerVariableProto
6005 
6006 // string name = 1;
6007 inline void IntegerVariableProto::clear_name() {
6008  name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6009 }
6010 inline const std::string& IntegerVariableProto::name() const {
6011  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
6012  return _internal_name();
6013 }
6014 inline void IntegerVariableProto::set_name(const std::string& value) {
6015  _internal_set_name(value);
6016  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
6017 }
6018 inline std::string* IntegerVariableProto::mutable_name() {
6019  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
6020  return _internal_mutable_name();
6021 }
6022 inline const std::string& IntegerVariableProto::_internal_name() const {
6023  return name_.Get();
6024 }
6025 inline void IntegerVariableProto::_internal_set_name(const std::string& value) {
6026 
6027  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
6028 }
6029 inline void IntegerVariableProto::set_name(std::string&& value) {
6030 
6031  name_.Set(
6032  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
6033  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.IntegerVariableProto.name)
6034 }
6035 inline void IntegerVariableProto::set_name(const char* value) {
6036  GOOGLE_DCHECK(value != nullptr);
6037 
6038  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
6039  GetArena());
6040  // @@protoc_insertion_point(field_set_char:operations_research.sat.IntegerVariableProto.name)
6041 }
6042 inline void IntegerVariableProto::set_name(const char* value,
6043  size_t size) {
6044 
6045  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
6046  reinterpret_cast<const char*>(value), size), GetArena());
6047  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.IntegerVariableProto.name)
6048 }
6049 inline std::string* IntegerVariableProto::_internal_mutable_name() {
6050 
6051  return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6052 }
6053 inline std::string* IntegerVariableProto::release_name() {
6054  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
6055  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6056 }
6057 inline void IntegerVariableProto::set_allocated_name(std::string* name) {
6058  if (name != nullptr) {
6059 
6060  } else {
6061 
6062  }
6063  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
6064  GetArena());
6065  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
6066 }
6067 
6068 // repeated int64 domain = 2;
6069 inline int IntegerVariableProto::_internal_domain_size() const {
6070  return domain_.size();
6071 }
6072 inline int IntegerVariableProto::domain_size() const {
6073  return _internal_domain_size();
6074 }
6075 inline void IntegerVariableProto::clear_domain() {
6076  domain_.Clear();
6077 }
6078 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::_internal_domain(int index) const {
6079  return domain_.Get(index);
6080 }
6081 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::domain(int index) const {
6082  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
6083  return _internal_domain(index);
6084 }
6085 inline void IntegerVariableProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6086  domain_.Set(index, value);
6087  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
6088 }
6089 inline void IntegerVariableProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6090  domain_.Add(value);
6091 }
6092 inline void IntegerVariableProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6093  _internal_add_domain(value);
6094  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
6095 }
6096 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6097 IntegerVariableProto::_internal_domain() const {
6098  return domain_;
6099 }
6100 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6101 IntegerVariableProto::domain() const {
6102  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
6103  return _internal_domain();
6104 }
6105 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6106 IntegerVariableProto::_internal_mutable_domain() {
6107  return &domain_;
6108 }
6109 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6110 IntegerVariableProto::mutable_domain() {
6111  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
6112  return _internal_mutable_domain();
6113 }
6114 
6115 // -------------------------------------------------------------------
6116 
6117 // BoolArgumentProto
6118 
6119 // repeated int32 literals = 1;
6120 inline int BoolArgumentProto::_internal_literals_size() const {
6121  return literals_.size();
6122 }
6123 inline int BoolArgumentProto::literals_size() const {
6124  return _internal_literals_size();
6125 }
6126 inline void BoolArgumentProto::clear_literals() {
6127  literals_.Clear();
6128 }
6129 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::_internal_literals(int index) const {
6130  return literals_.Get(index);
6131 }
6132 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::literals(int index) const {
6133  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
6134  return _internal_literals(index);
6135 }
6136 inline void BoolArgumentProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6137  literals_.Set(index, value);
6138  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
6139 }
6140 inline void BoolArgumentProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6141  literals_.Add(value);
6142 }
6143 inline void BoolArgumentProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6144  _internal_add_literals(value);
6145  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
6146 }
6147 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6148 BoolArgumentProto::_internal_literals() const {
6149  return literals_;
6150 }
6151 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6152 BoolArgumentProto::literals() const {
6153  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
6154  return _internal_literals();
6155 }
6156 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6157 BoolArgumentProto::_internal_mutable_literals() {
6158  return &literals_;
6159 }
6160 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6161 BoolArgumentProto::mutable_literals() {
6162  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
6163  return _internal_mutable_literals();
6164 }
6165 
6166 // -------------------------------------------------------------------
6167 
6168 // IntegerArgumentProto
6169 
6170 // int32 target = 1;
6171 inline void IntegerArgumentProto::clear_target() {
6172  target_ = 0;
6173 }
6174 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_target() const {
6175  return target_;
6176 }
6177 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::target() const {
6178  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.target)
6179  return _internal_target();
6180 }
6181 inline void IntegerArgumentProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6182 
6183  target_ = value;
6184 }
6185 inline void IntegerArgumentProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6186  _internal_set_target(value);
6187  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.target)
6188 }
6189 
6190 // repeated int32 vars = 2;
6191 inline int IntegerArgumentProto::_internal_vars_size() const {
6192  return vars_.size();
6193 }
6194 inline int IntegerArgumentProto::vars_size() const {
6195  return _internal_vars_size();
6196 }
6197 inline void IntegerArgumentProto::clear_vars() {
6198  vars_.Clear();
6199 }
6200 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_vars(int index) const {
6201  return vars_.Get(index);
6202 }
6203 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::vars(int index) const {
6204  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.vars)
6205  return _internal_vars(index);
6206 }
6207 inline void IntegerArgumentProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6208  vars_.Set(index, value);
6209  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.vars)
6210 }
6211 inline void IntegerArgumentProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6212  vars_.Add(value);
6213 }
6214 inline void IntegerArgumentProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6215  _internal_add_vars(value);
6216  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerArgumentProto.vars)
6217 }
6218 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6219 IntegerArgumentProto::_internal_vars() const {
6220  return vars_;
6221 }
6222 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6223 IntegerArgumentProto::vars() const {
6224  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerArgumentProto.vars)
6225  return _internal_vars();
6226 }
6227 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6228 IntegerArgumentProto::_internal_mutable_vars() {
6229  return &vars_;
6230 }
6231 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6232 IntegerArgumentProto::mutable_vars() {
6233  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerArgumentProto.vars)
6234  return _internal_mutable_vars();
6235 }
6236 
6237 // -------------------------------------------------------------------
6238 
6239 // LinearExpressionProto
6240 
6241 // repeated int32 vars = 1;
6242 inline int LinearExpressionProto::_internal_vars_size() const {
6243  return vars_.size();
6244 }
6245 inline int LinearExpressionProto::vars_size() const {
6246  return _internal_vars_size();
6247 }
6248 inline void LinearExpressionProto::clear_vars() {
6249  vars_.Clear();
6250 }
6251 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::_internal_vars(int index) const {
6252  return vars_.Get(index);
6253 }
6254 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::vars(int index) const {
6255  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
6256  return _internal_vars(index);
6257 }
6258 inline void LinearExpressionProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6259  vars_.Set(index, value);
6260  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
6261 }
6262 inline void LinearExpressionProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6263  vars_.Add(value);
6264 }
6265 inline void LinearExpressionProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6266  _internal_add_vars(value);
6267  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
6268 }
6269 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6270 LinearExpressionProto::_internal_vars() const {
6271  return vars_;
6272 }
6273 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6274 LinearExpressionProto::vars() const {
6275  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
6276  return _internal_vars();
6277 }
6278 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6279 LinearExpressionProto::_internal_mutable_vars() {
6280  return &vars_;
6281 }
6282 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6283 LinearExpressionProto::mutable_vars() {
6284  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
6285  return _internal_mutable_vars();
6286 }
6287 
6288 // repeated int64 coeffs = 2;
6289 inline int LinearExpressionProto::_internal_coeffs_size() const {
6290  return coeffs_.size();
6291 }
6292 inline int LinearExpressionProto::coeffs_size() const {
6293  return _internal_coeffs_size();
6294 }
6295 inline void LinearExpressionProto::clear_coeffs() {
6296  coeffs_.Clear();
6297 }
6298 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_coeffs(int index) const {
6299  return coeffs_.Get(index);
6300 }
6301 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::coeffs(int index) const {
6302  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
6303  return _internal_coeffs(index);
6304 }
6305 inline void LinearExpressionProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6306  coeffs_.Set(index, value);
6307  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
6308 }
6309 inline void LinearExpressionProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6310  coeffs_.Add(value);
6311 }
6312 inline void LinearExpressionProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6313  _internal_add_coeffs(value);
6314  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
6315 }
6316 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6317 LinearExpressionProto::_internal_coeffs() const {
6318  return coeffs_;
6319 }
6320 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6321 LinearExpressionProto::coeffs() const {
6322  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
6323  return _internal_coeffs();
6324 }
6325 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6326 LinearExpressionProto::_internal_mutable_coeffs() {
6327  return &coeffs_;
6328 }
6329 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6330 LinearExpressionProto::mutable_coeffs() {
6331  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
6332  return _internal_mutable_coeffs();
6333 }
6334 
6335 // int64 offset = 3;
6336 inline void LinearExpressionProto::clear_offset() {
6337  offset_ = PROTOBUF_LONGLONG(0);
6338 }
6339 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_offset() const {
6340  return offset_;
6341 }
6342 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::offset() const {
6343  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
6344  return _internal_offset();
6345 }
6346 inline void LinearExpressionProto::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6347 
6348  offset_ = value;
6349 }
6350 inline void LinearExpressionProto::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6351  _internal_set_offset(value);
6352  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
6353 }
6354 
6355 // -------------------------------------------------------------------
6356 
6357 // LinearArgumentProto
6358 
6359 // .operations_research.sat.LinearExpressionProto target = 1;
6360 inline bool LinearArgumentProto::_internal_has_target() const {
6361  return this != internal_default_instance() && target_ != nullptr;
6362 }
6363 inline bool LinearArgumentProto::has_target() const {
6364  return _internal_has_target();
6365 }
6366 inline void LinearArgumentProto::clear_target() {
6367  if (GetArena() == nullptr && target_ != nullptr) {
6368  delete target_;
6369  }
6370  target_ = nullptr;
6371 }
6372 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
6373  const ::operations_research::sat::LinearExpressionProto* p = target_;
6374  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::LinearExpressionProto*>(
6376 }
6377 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const {
6378  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
6379  return _internal_target();
6380 }
6381 inline void LinearArgumentProto::unsafe_arena_set_allocated_target(
6383  if (GetArena() == nullptr) {
6384  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(target_);
6385  }
6386  target_ = target;
6387  if (target) {
6388 
6389  } else {
6390 
6391  }
6392  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
6393 }
6394 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::release_target() {
6395 
6396  ::operations_research::sat::LinearExpressionProto* temp = target_;
6397  target_ = nullptr;
6398  if (GetArena() != nullptr) {
6399  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6400  }
6401  return temp;
6402 }
6403 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::unsafe_arena_release_target() {
6404  // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
6405 
6406  ::operations_research::sat::LinearExpressionProto* temp = target_;
6407  target_ = nullptr;
6408  return temp;
6409 }
6410 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_mutable_target() {
6411 
6412  if (target_ == nullptr) {
6413  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6414  target_ = p;
6415  }
6416  return target_;
6417 }
6418 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_target() {
6419  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
6420  return _internal_mutable_target();
6421 }
6422 inline void LinearArgumentProto::set_allocated_target(::operations_research::sat::LinearExpressionProto* target) {
6423  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6424  if (message_arena == nullptr) {
6425  delete target_;
6426  }
6427  if (target) {
6428  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6429  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(target);
6430  if (message_arena != submessage_arena) {
6431  target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6432  message_arena, target, submessage_arena);
6433  }
6434 
6435  } else {
6436 
6437  }
6438  target_ = target;
6439  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
6440 }
6441 
6442 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
6443 inline int LinearArgumentProto::_internal_exprs_size() const {
6444  return exprs_.size();
6445 }
6446 inline int LinearArgumentProto::exprs_size() const {
6447  return _internal_exprs_size();
6448 }
6449 inline void LinearArgumentProto::clear_exprs() {
6450  exprs_.Clear();
6451 }
6452 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_exprs(int index) {
6453  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
6454  return exprs_.Mutable(index);
6455 }
6456 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
6457 LinearArgumentProto::mutable_exprs() {
6458  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
6459  return &exprs_;
6460 }
6461 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_exprs(int index) const {
6462  return exprs_.Get(index);
6463 }
6464 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const {
6465  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
6466  return _internal_exprs(index);
6467 }
6468 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_add_exprs() {
6469  return exprs_.Add();
6470 }
6471 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::add_exprs() {
6472  // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
6473  return _internal_add_exprs();
6474 }
6475 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
6476 LinearArgumentProto::exprs() const {
6477  // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
6478  return exprs_;
6479 }
6480 
6481 // -------------------------------------------------------------------
6482 
6483 // AllDifferentConstraintProto
6484 
6485 // repeated int32 vars = 1;
6486 inline int AllDifferentConstraintProto::_internal_vars_size() const {
6487  return vars_.size();
6488 }
6489 inline int AllDifferentConstraintProto::vars_size() const {
6490  return _internal_vars_size();
6491 }
6492 inline void AllDifferentConstraintProto::clear_vars() {
6493  vars_.Clear();
6494 }
6495 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::_internal_vars(int index) const {
6496  return vars_.Get(index);
6497 }
6498 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::vars(int index) const {
6499  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.vars)
6500  return _internal_vars(index);
6501 }
6502 inline void AllDifferentConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6503  vars_.Set(index, value);
6504  // @@protoc_insertion_point(field_set:operations_research.sat.AllDifferentConstraintProto.vars)
6505 }
6506 inline void AllDifferentConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6507  vars_.Add(value);
6508 }
6509 inline void AllDifferentConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6510  _internal_add_vars(value);
6511  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.vars)
6512 }
6513 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6514 AllDifferentConstraintProto::_internal_vars() const {
6515  return vars_;
6516 }
6517 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6518 AllDifferentConstraintProto::vars() const {
6519  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.vars)
6520  return _internal_vars();
6521 }
6522 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6523 AllDifferentConstraintProto::_internal_mutable_vars() {
6524  return &vars_;
6525 }
6526 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6527 AllDifferentConstraintProto::mutable_vars() {
6528  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.vars)
6529  return _internal_mutable_vars();
6530 }
6531 
6532 // -------------------------------------------------------------------
6533 
6534 // LinearConstraintProto
6535 
6536 // repeated int32 vars = 1;
6537 inline int LinearConstraintProto::_internal_vars_size() const {
6538  return vars_.size();
6539 }
6540 inline int LinearConstraintProto::vars_size() const {
6541  return _internal_vars_size();
6542 }
6543 inline void LinearConstraintProto::clear_vars() {
6544  vars_.Clear();
6545 }
6546 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::_internal_vars(int index) const {
6547  return vars_.Get(index);
6548 }
6549 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::vars(int index) const {
6550  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
6551  return _internal_vars(index);
6552 }
6553 inline void LinearConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6554  vars_.Set(index, value);
6555  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
6556 }
6557 inline void LinearConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6558  vars_.Add(value);
6559 }
6560 inline void LinearConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6561  _internal_add_vars(value);
6562  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
6563 }
6564 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6565 LinearConstraintProto::_internal_vars() const {
6566  return vars_;
6567 }
6568 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6569 LinearConstraintProto::vars() const {
6570  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
6571  return _internal_vars();
6572 }
6573 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6574 LinearConstraintProto::_internal_mutable_vars() {
6575  return &vars_;
6576 }
6577 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6578 LinearConstraintProto::mutable_vars() {
6579  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
6580  return _internal_mutable_vars();
6581 }
6582 
6583 // repeated int64 coeffs = 2;
6584 inline int LinearConstraintProto::_internal_coeffs_size() const {
6585  return coeffs_.size();
6586 }
6587 inline int LinearConstraintProto::coeffs_size() const {
6588  return _internal_coeffs_size();
6589 }
6590 inline void LinearConstraintProto::clear_coeffs() {
6591  coeffs_.Clear();
6592 }
6593 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_coeffs(int index) const {
6594  return coeffs_.Get(index);
6595 }
6596 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::coeffs(int index) const {
6597  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
6598  return _internal_coeffs(index);
6599 }
6600 inline void LinearConstraintProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6601  coeffs_.Set(index, value);
6602  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
6603 }
6604 inline void LinearConstraintProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6605  coeffs_.Add(value);
6606 }
6607 inline void LinearConstraintProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6608  _internal_add_coeffs(value);
6609  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
6610 }
6611 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6612 LinearConstraintProto::_internal_coeffs() const {
6613  return coeffs_;
6614 }
6615 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6616 LinearConstraintProto::coeffs() const {
6617  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
6618  return _internal_coeffs();
6619 }
6620 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6621 LinearConstraintProto::_internal_mutable_coeffs() {
6622  return &coeffs_;
6623 }
6624 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6625 LinearConstraintProto::mutable_coeffs() {
6626  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
6627  return _internal_mutable_coeffs();
6628 }
6629 
6630 // repeated int64 domain = 3;
6631 inline int LinearConstraintProto::_internal_domain_size() const {
6632  return domain_.size();
6633 }
6634 inline int LinearConstraintProto::domain_size() const {
6635  return _internal_domain_size();
6636 }
6637 inline void LinearConstraintProto::clear_domain() {
6638  domain_.Clear();
6639 }
6640 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_domain(int index) const {
6641  return domain_.Get(index);
6642 }
6643 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::domain(int index) const {
6644  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
6645  return _internal_domain(index);
6646 }
6647 inline void LinearConstraintProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6648  domain_.Set(index, value);
6649  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
6650 }
6651 inline void LinearConstraintProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6652  domain_.Add(value);
6653 }
6654 inline void LinearConstraintProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6655  _internal_add_domain(value);
6656  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
6657 }
6658 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6659 LinearConstraintProto::_internal_domain() const {
6660  return domain_;
6661 }
6662 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6663 LinearConstraintProto::domain() const {
6664  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
6665  return _internal_domain();
6666 }
6667 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6668 LinearConstraintProto::_internal_mutable_domain() {
6669  return &domain_;
6670 }
6671 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6672 LinearConstraintProto::mutable_domain() {
6673  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
6674  return _internal_mutable_domain();
6675 }
6676 
6677 // -------------------------------------------------------------------
6678 
6679 // ElementConstraintProto
6680 
6681 // int32 index = 1;
6682 inline void ElementConstraintProto::clear_index() {
6683  index_ = 0;
6684 }
6685 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_index() const {
6686  return index_;
6687 }
6689  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
6690  return _internal_index();
6691 }
6692 inline void ElementConstraintProto::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
6693 
6694  index_ = value;
6695 }
6696 inline void ElementConstraintProto::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
6697  _internal_set_index(value);
6698  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
6699 }
6700 
6701 // int32 target = 2;
6702 inline void ElementConstraintProto::clear_target() {
6703  target_ = 0;
6704 }
6705 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_target() const {
6706  return target_;
6707 }
6708 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::target() const {
6709  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
6710  return _internal_target();
6711 }
6712 inline void ElementConstraintProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6713 
6714  target_ = value;
6715 }
6716 inline void ElementConstraintProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6717  _internal_set_target(value);
6718  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
6719 }
6720 
6721 // repeated int32 vars = 3;
6722 inline int ElementConstraintProto::_internal_vars_size() const {
6723  return vars_.size();
6724 }
6725 inline int ElementConstraintProto::vars_size() const {
6726  return _internal_vars_size();
6727 }
6728 inline void ElementConstraintProto::clear_vars() {
6729  vars_.Clear();
6730 }
6731 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_vars(int index) const {
6732  return vars_.Get(index);
6733 }
6734 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::vars(int index) const {
6735  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
6736  return _internal_vars(index);
6737 }
6738 inline void ElementConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6739  vars_.Set(index, value);
6740  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
6741 }
6742 inline void ElementConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6743  vars_.Add(value);
6744 }
6745 inline void ElementConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6746  _internal_add_vars(value);
6747  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
6748 }
6749 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6750 ElementConstraintProto::_internal_vars() const {
6751  return vars_;
6752 }
6753 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6754 ElementConstraintProto::vars() const {
6755  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
6756  return _internal_vars();
6757 }
6758 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6759 ElementConstraintProto::_internal_mutable_vars() {
6760  return &vars_;
6761 }
6762 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6763 ElementConstraintProto::mutable_vars() {
6764  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
6765  return _internal_mutable_vars();
6766 }
6767 
6768 // -------------------------------------------------------------------
6769 
6770 // IntervalConstraintProto
6771 
6772 // int32 start = 1;
6773 inline void IntervalConstraintProto::clear_start() {
6774  start_ = 0;
6775 }
6776 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_start() const {
6777  return start_;
6778 }
6779 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::start() const {
6780  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
6781  return _internal_start();
6782 }
6783 inline void IntervalConstraintProto::_internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
6784 
6785  start_ = value;
6786 }
6787 inline void IntervalConstraintProto::set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
6788  _internal_set_start(value);
6789  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.start)
6790 }
6791 
6792 // int32 end = 2;
6793 inline void IntervalConstraintProto::clear_end() {
6794  end_ = 0;
6795 }
6796 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_end() const {
6797  return end_;
6798 }
6799 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::end() const {
6800  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
6801  return _internal_end();
6802 }
6803 inline void IntervalConstraintProto::_internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
6804 
6805  end_ = value;
6806 }
6807 inline void IntervalConstraintProto::set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
6808  _internal_set_end(value);
6809  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.end)
6810 }
6811 
6812 // int32 size = 3;
6813 inline void IntervalConstraintProto::clear_size() {
6814  size_ = 0;
6815 }
6816 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_size() const {
6817  return size_;
6818 }
6819 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::size() const {
6820  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
6821  return _internal_size();
6822 }
6823 inline void IntervalConstraintProto::_internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6824 
6825  size_ = value;
6826 }
6827 inline void IntervalConstraintProto::set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
6828  _internal_set_size(value);
6829  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.size)
6830 }
6831 
6832 // -------------------------------------------------------------------
6833 
6834 // NoOverlapConstraintProto
6835 
6836 // repeated int32 intervals = 1;
6837 inline int NoOverlapConstraintProto::_internal_intervals_size() const {
6838  return intervals_.size();
6839 }
6840 inline int NoOverlapConstraintProto::intervals_size() const {
6841  return _internal_intervals_size();
6842 }
6843 inline void NoOverlapConstraintProto::clear_intervals() {
6844  intervals_.Clear();
6845 }
6846 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::_internal_intervals(int index) const {
6847  return intervals_.Get(index);
6848 }
6849 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::intervals(int index) const {
6850  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
6851  return _internal_intervals(index);
6852 }
6853 inline void NoOverlapConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6854  intervals_.Set(index, value);
6855  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
6856 }
6857 inline void NoOverlapConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6858  intervals_.Add(value);
6859 }
6860 inline void NoOverlapConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6861  _internal_add_intervals(value);
6862  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
6863 }
6864 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6865 NoOverlapConstraintProto::_internal_intervals() const {
6866  return intervals_;
6867 }
6868 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6869 NoOverlapConstraintProto::intervals() const {
6870  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
6871  return _internal_intervals();
6872 }
6873 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6874 NoOverlapConstraintProto::_internal_mutable_intervals() {
6875  return &intervals_;
6876 }
6877 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6878 NoOverlapConstraintProto::mutable_intervals() {
6879  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
6880  return _internal_mutable_intervals();
6881 }
6882 
6883 // -------------------------------------------------------------------
6884 
6885 // NoOverlap2DConstraintProto
6886 
6887 // repeated int32 x_intervals = 1;
6888 inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
6889  return x_intervals_.size();
6890 }
6891 inline int NoOverlap2DConstraintProto::x_intervals_size() const {
6892  return _internal_x_intervals_size();
6893 }
6894 inline void NoOverlap2DConstraintProto::clear_x_intervals() {
6895  x_intervals_.Clear();
6896 }
6897 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_x_intervals(int index) const {
6898  return x_intervals_.Get(index);
6899 }
6900 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::x_intervals(int index) const {
6901  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6902  return _internal_x_intervals(index);
6903 }
6904 inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6905  x_intervals_.Set(index, value);
6906  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6907 }
6908 inline void NoOverlap2DConstraintProto::_internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6909  x_intervals_.Add(value);
6910 }
6911 inline void NoOverlap2DConstraintProto::add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6912  _internal_add_x_intervals(value);
6913  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6914 }
6915 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6916 NoOverlap2DConstraintProto::_internal_x_intervals() const {
6917  return x_intervals_;
6918 }
6919 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6920 NoOverlap2DConstraintProto::x_intervals() const {
6921  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6922  return _internal_x_intervals();
6923 }
6924 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6925 NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
6926  return &x_intervals_;
6927 }
6928 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6929 NoOverlap2DConstraintProto::mutable_x_intervals() {
6930  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
6931  return _internal_mutable_x_intervals();
6932 }
6933 
6934 // repeated int32 y_intervals = 2;
6935 inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
6936  return y_intervals_.size();
6937 }
6938 inline int NoOverlap2DConstraintProto::y_intervals_size() const {
6939  return _internal_y_intervals_size();
6940 }
6941 inline void NoOverlap2DConstraintProto::clear_y_intervals() {
6942  y_intervals_.Clear();
6943 }
6944 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_y_intervals(int index) const {
6945  return y_intervals_.Get(index);
6946 }
6947 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::y_intervals(int index) const {
6948  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
6949  return _internal_y_intervals(index);
6950 }
6951 inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6952  y_intervals_.Set(index, value);
6953  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
6954 }
6955 inline void NoOverlap2DConstraintProto::_internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6956  y_intervals_.Add(value);
6957 }
6958 inline void NoOverlap2DConstraintProto::add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6959  _internal_add_y_intervals(value);
6960  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
6961 }
6962 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6963 NoOverlap2DConstraintProto::_internal_y_intervals() const {
6964  return y_intervals_;
6965 }
6966 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6967 NoOverlap2DConstraintProto::y_intervals() const {
6968  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
6969  return _internal_y_intervals();
6970 }
6971 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6972 NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
6973  return &y_intervals_;
6974 }
6975 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6976 NoOverlap2DConstraintProto::mutable_y_intervals() {
6977  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
6978  return _internal_mutable_y_intervals();
6979 }
6980 
6981 // bool boxes_with_null_area_can_overlap = 3;
6982 inline void NoOverlap2DConstraintProto::clear_boxes_with_null_area_can_overlap() {
6983  boxes_with_null_area_can_overlap_ = false;
6984 }
6985 inline bool NoOverlap2DConstraintProto::_internal_boxes_with_null_area_can_overlap() const {
6986  return boxes_with_null_area_can_overlap_;
6987 }
6988 inline bool NoOverlap2DConstraintProto::boxes_with_null_area_can_overlap() const {
6989  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
6990  return _internal_boxes_with_null_area_can_overlap();
6991 }
6992 inline void NoOverlap2DConstraintProto::_internal_set_boxes_with_null_area_can_overlap(bool value) {
6993 
6994  boxes_with_null_area_can_overlap_ = value;
6995 }
6996 inline void NoOverlap2DConstraintProto::set_boxes_with_null_area_can_overlap(bool value) {
6997  _internal_set_boxes_with_null_area_can_overlap(value);
6998  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
6999 }
7000 
7001 // -------------------------------------------------------------------
7002 
7003 // CumulativeConstraintProto
7004 
7005 // int32 capacity = 1;
7006 inline void CumulativeConstraintProto::clear_capacity() {
7007  capacity_ = 0;
7008 }
7009 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_capacity() const {
7010  return capacity_;
7011 }
7013  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
7014  return _internal_capacity();
7015 }
7016 inline void CumulativeConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7017 
7018  capacity_ = value;
7019 }
7020 inline void CumulativeConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7021  _internal_set_capacity(value);
7022  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.capacity)
7023 }
7024 
7025 // repeated int32 intervals = 2;
7026 inline int CumulativeConstraintProto::_internal_intervals_size() const {
7027  return intervals_.size();
7028 }
7029 inline int CumulativeConstraintProto::intervals_size() const {
7030  return _internal_intervals_size();
7031 }
7032 inline void CumulativeConstraintProto::clear_intervals() {
7033  intervals_.Clear();
7034 }
7035 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_intervals(int index) const {
7036  return intervals_.Get(index);
7037 }
7038 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::intervals(int index) const {
7039  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
7040  return _internal_intervals(index);
7041 }
7042 inline void CumulativeConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7043  intervals_.Set(index, value);
7044  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
7045 }
7046 inline void CumulativeConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7047  intervals_.Add(value);
7048 }
7049 inline void CumulativeConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7050  _internal_add_intervals(value);
7051  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
7052 }
7053 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7054 CumulativeConstraintProto::_internal_intervals() const {
7055  return intervals_;
7056 }
7057 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7058 CumulativeConstraintProto::intervals() const {
7059  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
7060  return _internal_intervals();
7061 }
7062 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7063 CumulativeConstraintProto::_internal_mutable_intervals() {
7064  return &intervals_;
7065 }
7066 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7067 CumulativeConstraintProto::mutable_intervals() {
7068  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
7069  return _internal_mutable_intervals();
7070 }
7071 
7072 // repeated int32 demands = 3;
7073 inline int CumulativeConstraintProto::_internal_demands_size() const {
7074  return demands_.size();
7075 }
7076 inline int CumulativeConstraintProto::demands_size() const {
7077  return _internal_demands_size();
7078 }
7079 inline void CumulativeConstraintProto::clear_demands() {
7080  demands_.Clear();
7081 }
7082 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_demands(int index) const {
7083  return demands_.Get(index);
7084 }
7085 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::demands(int index) const {
7086  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
7087  return _internal_demands(index);
7088 }
7089 inline void CumulativeConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7090  demands_.Set(index, value);
7091  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.demands)
7092 }
7093 inline void CumulativeConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7094  demands_.Add(value);
7095 }
7096 inline void CumulativeConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7097  _internal_add_demands(value);
7098  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
7099 }
7100 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7101 CumulativeConstraintProto::_internal_demands() const {
7102  return demands_;
7103 }
7104 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7105 CumulativeConstraintProto::demands() const {
7106  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
7107  return _internal_demands();
7108 }
7109 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7110 CumulativeConstraintProto::_internal_mutable_demands() {
7111  return &demands_;
7112 }
7113 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7114 CumulativeConstraintProto::mutable_demands() {
7115  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
7116  return _internal_mutable_demands();
7117 }
7118 
7119 // -------------------------------------------------------------------
7120 
7121 // ReservoirConstraintProto
7122 
7123 // int64 min_level = 1;
7124 inline void ReservoirConstraintProto::clear_min_level() {
7125  min_level_ = PROTOBUF_LONGLONG(0);
7126 }
7127 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_min_level() const {
7128  return min_level_;
7129 }
7130 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::min_level() const {
7131  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
7132  return _internal_min_level();
7133 }
7134 inline void ReservoirConstraintProto::_internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7135 
7136  min_level_ = value;
7137 }
7138 inline void ReservoirConstraintProto::set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7139  _internal_set_min_level(value);
7140  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
7141 }
7142 
7143 // int64 max_level = 2;
7144 inline void ReservoirConstraintProto::clear_max_level() {
7145  max_level_ = PROTOBUF_LONGLONG(0);
7146 }
7147 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_max_level() const {
7148  return max_level_;
7149 }
7150 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::max_level() const {
7151  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
7152  return _internal_max_level();
7153 }
7154 inline void ReservoirConstraintProto::_internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7155 
7156  max_level_ = value;
7157 }
7158 inline void ReservoirConstraintProto::set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7159  _internal_set_max_level(value);
7160  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
7161 }
7162 
7163 // repeated int32 times = 3;
7164 inline int ReservoirConstraintProto::_internal_times_size() const {
7165  return times_.size();
7166 }
7167 inline int ReservoirConstraintProto::times_size() const {
7168  return _internal_times_size();
7169 }
7170 inline void ReservoirConstraintProto::clear_times() {
7171  times_.Clear();
7172 }
7173 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_times(int index) const {
7174  return times_.Get(index);
7175 }
7176 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::times(int index) const {
7177  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.times)
7178  return _internal_times(index);
7179 }
7180 inline void ReservoirConstraintProto::set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7181  times_.Set(index, value);
7182  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.times)
7183 }
7184 inline void ReservoirConstraintProto::_internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7185  times_.Add(value);
7186 }
7187 inline void ReservoirConstraintProto::add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7188  _internal_add_times(value);
7189  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.times)
7190 }
7191 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7192 ReservoirConstraintProto::_internal_times() const {
7193  return times_;
7194 }
7195 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7196 ReservoirConstraintProto::times() const {
7197  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.times)
7198  return _internal_times();
7199 }
7200 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7201 ReservoirConstraintProto::_internal_mutable_times() {
7202  return &times_;
7203 }
7204 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7205 ReservoirConstraintProto::mutable_times() {
7206  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.times)
7207  return _internal_mutable_times();
7208 }
7209 
7210 // repeated int64 demands = 4;
7211 inline int ReservoirConstraintProto::_internal_demands_size() const {
7212  return demands_.size();
7213 }
7214 inline int ReservoirConstraintProto::demands_size() const {
7215  return _internal_demands_size();
7216 }
7217 inline void ReservoirConstraintProto::clear_demands() {
7218  demands_.Clear();
7219 }
7220 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_demands(int index) const {
7221  return demands_.Get(index);
7222 }
7223 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::demands(int index) const {
7224  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.demands)
7225  return _internal_demands(index);
7226 }
7227 inline void ReservoirConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7228  demands_.Set(index, value);
7229  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.demands)
7230 }
7231 inline void ReservoirConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7232  demands_.Add(value);
7233 }
7234 inline void ReservoirConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7235  _internal_add_demands(value);
7236  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.demands)
7237 }
7238 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7239 ReservoirConstraintProto::_internal_demands() const {
7240  return demands_;
7241 }
7242 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7243 ReservoirConstraintProto::demands() const {
7244  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.demands)
7245  return _internal_demands();
7246 }
7247 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7248 ReservoirConstraintProto::_internal_mutable_demands() {
7249  return &demands_;
7250 }
7251 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7252 ReservoirConstraintProto::mutable_demands() {
7253  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.demands)
7254  return _internal_mutable_demands();
7255 }
7256 
7257 // repeated int32 actives = 5;
7258 inline int ReservoirConstraintProto::_internal_actives_size() const {
7259  return actives_.size();
7260 }
7261 inline int ReservoirConstraintProto::actives_size() const {
7262  return _internal_actives_size();
7263 }
7264 inline void ReservoirConstraintProto::clear_actives() {
7265  actives_.Clear();
7266 }
7267 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_actives(int index) const {
7268  return actives_.Get(index);
7269 }
7270 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::actives(int index) const {
7271  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.actives)
7272  return _internal_actives(index);
7273 }
7274 inline void ReservoirConstraintProto::set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7275  actives_.Set(index, value);
7276  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.actives)
7277 }
7278 inline void ReservoirConstraintProto::_internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7279  actives_.Add(value);
7280 }
7281 inline void ReservoirConstraintProto::add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7282  _internal_add_actives(value);
7283  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.actives)
7284 }
7285 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7286 ReservoirConstraintProto::_internal_actives() const {
7287  return actives_;
7288 }
7289 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7290 ReservoirConstraintProto::actives() const {
7291  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.actives)
7292  return _internal_actives();
7293 }
7294 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7295 ReservoirConstraintProto::_internal_mutable_actives() {
7296  return &actives_;
7297 }
7298 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7299 ReservoirConstraintProto::mutable_actives() {
7300  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.actives)
7301  return _internal_mutable_actives();
7302 }
7303 
7304 // -------------------------------------------------------------------
7305 
7306 // CircuitConstraintProto
7307 
7308 // repeated int32 tails = 3;
7309 inline int CircuitConstraintProto::_internal_tails_size() const {
7310  return tails_.size();
7311 }
7312 inline int CircuitConstraintProto::tails_size() const {
7313  return _internal_tails_size();
7314 }
7315 inline void CircuitConstraintProto::clear_tails() {
7316  tails_.Clear();
7317 }
7318 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_tails(int index) const {
7319  return tails_.Get(index);
7320 }
7321 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::tails(int index) const {
7322  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
7323  return _internal_tails(index);
7324 }
7325 inline void CircuitConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7326  tails_.Set(index, value);
7327  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
7328 }
7329 inline void CircuitConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7330  tails_.Add(value);
7331 }
7332 inline void CircuitConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7333  _internal_add_tails(value);
7334  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
7335 }
7336 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7337 CircuitConstraintProto::_internal_tails() const {
7338  return tails_;
7339 }
7340 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7341 CircuitConstraintProto::tails() const {
7342  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
7343  return _internal_tails();
7344 }
7345 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7346 CircuitConstraintProto::_internal_mutable_tails() {
7347  return &tails_;
7348 }
7349 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7350 CircuitConstraintProto::mutable_tails() {
7351  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
7352  return _internal_mutable_tails();
7353 }
7354 
7355 // repeated int32 heads = 4;
7356 inline int CircuitConstraintProto::_internal_heads_size() const {
7357  return heads_.size();
7358 }
7359 inline int CircuitConstraintProto::heads_size() const {
7360  return _internal_heads_size();
7361 }
7362 inline void CircuitConstraintProto::clear_heads() {
7363  heads_.Clear();
7364 }
7365 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_heads(int index) const {
7366  return heads_.Get(index);
7367 }
7368 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::heads(int index) const {
7369  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
7370  return _internal_heads(index);
7371 }
7372 inline void CircuitConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7373  heads_.Set(index, value);
7374  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
7375 }
7376 inline void CircuitConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7377  heads_.Add(value);
7378 }
7379 inline void CircuitConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7380  _internal_add_heads(value);
7381  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
7382 }
7383 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7384 CircuitConstraintProto::_internal_heads() const {
7385  return heads_;
7386 }
7387 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7388 CircuitConstraintProto::heads() const {
7389  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
7390  return _internal_heads();
7391 }
7392 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7393 CircuitConstraintProto::_internal_mutable_heads() {
7394  return &heads_;
7395 }
7396 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7397 CircuitConstraintProto::mutable_heads() {
7398  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
7399  return _internal_mutable_heads();
7400 }
7401 
7402 // repeated int32 literals = 5;
7403 inline int CircuitConstraintProto::_internal_literals_size() const {
7404  return literals_.size();
7405 }
7406 inline int CircuitConstraintProto::literals_size() const {
7407  return _internal_literals_size();
7408 }
7409 inline void CircuitConstraintProto::clear_literals() {
7410  literals_.Clear();
7411 }
7412 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_literals(int index) const {
7413  return literals_.Get(index);
7414 }
7415 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::literals(int index) const {
7416  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
7417  return _internal_literals(index);
7418 }
7419 inline void CircuitConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7420  literals_.Set(index, value);
7421  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
7422 }
7423 inline void CircuitConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7424  literals_.Add(value);
7425 }
7426 inline void CircuitConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7427  _internal_add_literals(value);
7428  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
7429 }
7430 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7431 CircuitConstraintProto::_internal_literals() const {
7432  return literals_;
7433 }
7434 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7435 CircuitConstraintProto::literals() const {
7436  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
7437  return _internal_literals();
7438 }
7439 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7440 CircuitConstraintProto::_internal_mutable_literals() {
7441  return &literals_;
7442 }
7443 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7444 CircuitConstraintProto::mutable_literals() {
7445  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
7446  return _internal_mutable_literals();
7447 }
7448 
7449 // -------------------------------------------------------------------
7450 
7451 // RoutesConstraintProto
7452 
7453 // repeated int32 tails = 1;
7454 inline int RoutesConstraintProto::_internal_tails_size() const {
7455  return tails_.size();
7456 }
7457 inline int RoutesConstraintProto::tails_size() const {
7458  return _internal_tails_size();
7459 }
7460 inline void RoutesConstraintProto::clear_tails() {
7461  tails_.Clear();
7462 }
7463 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_tails(int index) const {
7464  return tails_.Get(index);
7465 }
7466 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::tails(int index) const {
7467  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
7468  return _internal_tails(index);
7469 }
7470 inline void RoutesConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7471  tails_.Set(index, value);
7472  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
7473 }
7474 inline void RoutesConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7475  tails_.Add(value);
7476 }
7477 inline void RoutesConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
7478  _internal_add_tails(value);
7479  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
7480 }
7481 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7482 RoutesConstraintProto::_internal_tails() const {
7483  return tails_;
7484 }
7485 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7486 RoutesConstraintProto::tails() const {
7487  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
7488  return _internal_tails();
7489 }
7490 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7491 RoutesConstraintProto::_internal_mutable_tails() {
7492  return &tails_;
7493 }
7494 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7495 RoutesConstraintProto::mutable_tails() {
7496  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
7497  return _internal_mutable_tails();
7498 }
7499 
7500 // repeated int32 heads = 2;
7501 inline int RoutesConstraintProto::_internal_heads_size() const {
7502  return heads_.size();
7503 }
7504 inline int RoutesConstraintProto::heads_size() const {
7505  return _internal_heads_size();
7506 }
7507 inline void RoutesConstraintProto::clear_heads() {
7508  heads_.Clear();
7509 }
7510 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_heads(int index) const {
7511  return heads_.Get(index);
7512 }
7513 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::heads(int index) const {
7514  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
7515  return _internal_heads(index);
7516 }
7517 inline void RoutesConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7518  heads_.Set(index, value);
7519  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
7520 }
7521 inline void RoutesConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7522  heads_.Add(value);
7523 }
7524 inline void RoutesConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
7525  _internal_add_heads(value);
7526  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
7527 }
7528 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7529 RoutesConstraintProto::_internal_heads() const {
7530  return heads_;
7531 }
7532 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7533 RoutesConstraintProto::heads() const {
7534  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
7535  return _internal_heads();
7536 }
7537 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7538 RoutesConstraintProto::_internal_mutable_heads() {
7539  return &heads_;
7540 }
7541 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7542 RoutesConstraintProto::mutable_heads() {
7543  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
7544  return _internal_mutable_heads();
7545 }
7546 
7547 // repeated int32 literals = 3;
7548 inline int RoutesConstraintProto::_internal_literals_size() const {
7549  return literals_.size();
7550 }
7551 inline int RoutesConstraintProto::literals_size() const {
7552  return _internal_literals_size();
7553 }
7554 inline void RoutesConstraintProto::clear_literals() {
7555  literals_.Clear();
7556 }
7557 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_literals(int index) const {
7558  return literals_.Get(index);
7559 }
7560 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::literals(int index) const {
7561  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
7562  return _internal_literals(index);
7563 }
7564 inline void RoutesConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7565  literals_.Set(index, value);
7566  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
7567 }
7568 inline void RoutesConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7569  literals_.Add(value);
7570 }
7571 inline void RoutesConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7572  _internal_add_literals(value);
7573  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
7574 }
7575 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7576 RoutesConstraintProto::_internal_literals() const {
7577  return literals_;
7578 }
7579 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7580 RoutesConstraintProto::literals() const {
7581  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
7582  return _internal_literals();
7583 }
7584 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7585 RoutesConstraintProto::_internal_mutable_literals() {
7586  return &literals_;
7587 }
7588 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7589 RoutesConstraintProto::mutable_literals() {
7590  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
7591  return _internal_mutable_literals();
7592 }
7593 
7594 // repeated int32 demands = 4;
7595 inline int RoutesConstraintProto::_internal_demands_size() const {
7596  return demands_.size();
7597 }
7598 inline int RoutesConstraintProto::demands_size() const {
7599  return _internal_demands_size();
7600 }
7601 inline void RoutesConstraintProto::clear_demands() {
7602  demands_.Clear();
7603 }
7604 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_demands(int index) const {
7605  return demands_.Get(index);
7606 }
7607 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::demands(int index) const {
7608  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
7609  return _internal_demands(index);
7610 }
7611 inline void RoutesConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7612  demands_.Set(index, value);
7613  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
7614 }
7615 inline void RoutesConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7616  demands_.Add(value);
7617 }
7618 inline void RoutesConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7619  _internal_add_demands(value);
7620  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
7621 }
7622 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7623 RoutesConstraintProto::_internal_demands() const {
7624  return demands_;
7625 }
7626 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7627 RoutesConstraintProto::demands() const {
7628  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
7629  return _internal_demands();
7630 }
7631 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7632 RoutesConstraintProto::_internal_mutable_demands() {
7633  return &demands_;
7634 }
7635 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7636 RoutesConstraintProto::mutable_demands() {
7637  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
7638  return _internal_mutable_demands();
7639 }
7640 
7641 // int64 capacity = 5;
7642 inline void RoutesConstraintProto::clear_capacity() {
7643  capacity_ = PROTOBUF_LONGLONG(0);
7644 }
7645 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::_internal_capacity() const {
7646  return capacity_;
7647 }
7649  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
7650  return _internal_capacity();
7651 }
7652 inline void RoutesConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
7653 
7654  capacity_ = value;
7655 }
7656 inline void RoutesConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
7657  _internal_set_capacity(value);
7658  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
7659 }
7660 
7661 // -------------------------------------------------------------------
7662 
7663 // CircuitCoveringConstraintProto
7664 
7665 // repeated int32 nexts = 1;
7666 inline int CircuitCoveringConstraintProto::_internal_nexts_size() const {
7667  return nexts_.size();
7668 }
7669 inline int CircuitCoveringConstraintProto::nexts_size() const {
7670  return _internal_nexts_size();
7671 }
7672 inline void CircuitCoveringConstraintProto::clear_nexts() {
7673  nexts_.Clear();
7674 }
7675 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitCoveringConstraintProto::_internal_nexts(int index) const {
7676  return nexts_.Get(index);
7677 }
7678 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitCoveringConstraintProto::nexts(int index) const {
7679  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7680  return _internal_nexts(index);
7681 }
7682 inline void CircuitCoveringConstraintProto::set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7683  nexts_.Set(index, value);
7684  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7685 }
7686 inline void CircuitCoveringConstraintProto::_internal_add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value) {
7687  nexts_.Add(value);
7688 }
7689 inline void CircuitCoveringConstraintProto::add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value) {
7690  _internal_add_nexts(value);
7691  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7692 }
7693 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7694 CircuitCoveringConstraintProto::_internal_nexts() const {
7695  return nexts_;
7696 }
7697 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7698 CircuitCoveringConstraintProto::nexts() const {
7699  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7700  return _internal_nexts();
7701 }
7702 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7703 CircuitCoveringConstraintProto::_internal_mutable_nexts() {
7704  return &nexts_;
7705 }
7706 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7707 CircuitCoveringConstraintProto::mutable_nexts() {
7708  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitCoveringConstraintProto.nexts)
7709  return _internal_mutable_nexts();
7710 }
7711 
7712 // repeated int64 distinguished_nodes = 2;
7713 inline int CircuitCoveringConstraintProto::_internal_distinguished_nodes_size() const {
7714  return distinguished_nodes_.size();
7715 }
7716 inline int CircuitCoveringConstraintProto::distinguished_nodes_size() const {
7717  return _internal_distinguished_nodes_size();
7718 }
7719 inline void CircuitCoveringConstraintProto::clear_distinguished_nodes() {
7720  distinguished_nodes_.Clear();
7721 }
7722 inline ::PROTOBUF_NAMESPACE_ID::int64 CircuitCoveringConstraintProto::_internal_distinguished_nodes(int index) const {
7723  return distinguished_nodes_.Get(index);
7724 }
7725 inline ::PROTOBUF_NAMESPACE_ID::int64 CircuitCoveringConstraintProto::distinguished_nodes(int index) const {
7726  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7727  return _internal_distinguished_nodes(index);
7728 }
7729 inline void CircuitCoveringConstraintProto::set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7730  distinguished_nodes_.Set(index, value);
7731  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7732 }
7733 inline void CircuitCoveringConstraintProto::_internal_add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value) {
7734  distinguished_nodes_.Add(value);
7735 }
7736 inline void CircuitCoveringConstraintProto::add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value) {
7737  _internal_add_distinguished_nodes(value);
7738  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7739 }
7740 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7741 CircuitCoveringConstraintProto::_internal_distinguished_nodes() const {
7742  return distinguished_nodes_;
7743 }
7744 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7745 CircuitCoveringConstraintProto::distinguished_nodes() const {
7746  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7747  return _internal_distinguished_nodes();
7748 }
7749 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7750 CircuitCoveringConstraintProto::_internal_mutable_distinguished_nodes() {
7751  return &distinguished_nodes_;
7752 }
7753 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7754 CircuitCoveringConstraintProto::mutable_distinguished_nodes() {
7755  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitCoveringConstraintProto.distinguished_nodes)
7756  return _internal_mutable_distinguished_nodes();
7757 }
7758 
7759 // -------------------------------------------------------------------
7760 
7761 // TableConstraintProto
7762 
7763 // repeated int32 vars = 1;
7764 inline int TableConstraintProto::_internal_vars_size() const {
7765  return vars_.size();
7766 }
7767 inline int TableConstraintProto::vars_size() const {
7768  return _internal_vars_size();
7769 }
7770 inline void TableConstraintProto::clear_vars() {
7771  vars_.Clear();
7772 }
7773 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::_internal_vars(int index) const {
7774  return vars_.Get(index);
7775 }
7776 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::vars(int index) const {
7777  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
7778  return _internal_vars(index);
7779 }
7780 inline void TableConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7781  vars_.Set(index, value);
7782  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
7783 }
7784 inline void TableConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7785  vars_.Add(value);
7786 }
7787 inline void TableConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7788  _internal_add_vars(value);
7789  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
7790 }
7791 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7792 TableConstraintProto::_internal_vars() const {
7793  return vars_;
7794 }
7795 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7796 TableConstraintProto::vars() const {
7797  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
7798  return _internal_vars();
7799 }
7800 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7801 TableConstraintProto::_internal_mutable_vars() {
7802  return &vars_;
7803 }
7804 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7805 TableConstraintProto::mutable_vars() {
7806  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
7807  return _internal_mutable_vars();
7808 }
7809 
7810 // repeated int64 values = 2;
7811 inline int TableConstraintProto::_internal_values_size() const {
7812  return values_.size();
7813 }
7814 inline int TableConstraintProto::values_size() const {
7815  return _internal_values_size();
7816 }
7817 inline void TableConstraintProto::clear_values() {
7818  values_.Clear();
7819 }
7820 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::_internal_values(int index) const {
7821  return values_.Get(index);
7822 }
7823 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::values(int index) const {
7824  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
7825  return _internal_values(index);
7826 }
7827 inline void TableConstraintProto::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7828  values_.Set(index, value);
7829  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
7830 }
7831 inline void TableConstraintProto::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
7832  values_.Add(value);
7833 }
7834 inline void TableConstraintProto::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
7835  _internal_add_values(value);
7836  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
7837 }
7838 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7839 TableConstraintProto::_internal_values() const {
7840  return values_;
7841 }
7842 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7843 TableConstraintProto::values() const {
7844  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
7845  return _internal_values();
7846 }
7847 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7848 TableConstraintProto::_internal_mutable_values() {
7849  return &values_;
7850 }
7851 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7852 TableConstraintProto::mutable_values() {
7853  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
7854  return _internal_mutable_values();
7855 }
7856 
7857 // bool negated = 3;
7858 inline void TableConstraintProto::clear_negated() {
7859  negated_ = false;
7860 }
7861 inline bool TableConstraintProto::_internal_negated() const {
7862  return negated_;
7863 }
7864 inline bool TableConstraintProto::negated() const {
7865  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
7866  return _internal_negated();
7867 }
7868 inline void TableConstraintProto::_internal_set_negated(bool value) {
7869 
7870  negated_ = value;
7871 }
7872 inline void TableConstraintProto::set_negated(bool value) {
7873  _internal_set_negated(value);
7874  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
7875 }
7876 
7877 // -------------------------------------------------------------------
7878 
7879 // InverseConstraintProto
7880 
7881 // repeated int32 f_direct = 1;
7882 inline int InverseConstraintProto::_internal_f_direct_size() const {
7883  return f_direct_.size();
7884 }
7885 inline int InverseConstraintProto::f_direct_size() const {
7886  return _internal_f_direct_size();
7887 }
7888 inline void InverseConstraintProto::clear_f_direct() {
7889  f_direct_.Clear();
7890 }
7891 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_direct(int index) const {
7892  return f_direct_.Get(index);
7893 }
7894 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_direct(int index) const {
7895  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
7896  return _internal_f_direct(index);
7897 }
7898 inline void InverseConstraintProto::set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7899  f_direct_.Set(index, value);
7900  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
7901 }
7902 inline void InverseConstraintProto::_internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
7903  f_direct_.Add(value);
7904 }
7905 inline void InverseConstraintProto::add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
7906  _internal_add_f_direct(value);
7907  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
7908 }
7909 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7910 InverseConstraintProto::_internal_f_direct() const {
7911  return f_direct_;
7912 }
7913 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7914 InverseConstraintProto::f_direct() const {
7915  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
7916  return _internal_f_direct();
7917 }
7918 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7919 InverseConstraintProto::_internal_mutable_f_direct() {
7920  return &f_direct_;
7921 }
7922 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7923 InverseConstraintProto::mutable_f_direct() {
7924  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
7925  return _internal_mutable_f_direct();
7926 }
7927 
7928 // repeated int32 f_inverse = 2;
7929 inline int InverseConstraintProto::_internal_f_inverse_size() const {
7930  return f_inverse_.size();
7931 }
7932 inline int InverseConstraintProto::f_inverse_size() const {
7933  return _internal_f_inverse_size();
7934 }
7935 inline void InverseConstraintProto::clear_f_inverse() {
7936  f_inverse_.Clear();
7937 }
7938 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_inverse(int index) const {
7939  return f_inverse_.Get(index);
7940 }
7941 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_inverse(int index) const {
7942  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
7943  return _internal_f_inverse(index);
7944 }
7945 inline void InverseConstraintProto::set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7946  f_inverse_.Set(index, value);
7947  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
7948 }
7949 inline void InverseConstraintProto::_internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
7950  f_inverse_.Add(value);
7951 }
7952 inline void InverseConstraintProto::add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
7953  _internal_add_f_inverse(value);
7954  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
7955 }
7956 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7957 InverseConstraintProto::_internal_f_inverse() const {
7958  return f_inverse_;
7959 }
7960 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7961 InverseConstraintProto::f_inverse() const {
7962  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
7963  return _internal_f_inverse();
7964 }
7965 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7966 InverseConstraintProto::_internal_mutable_f_inverse() {
7967  return &f_inverse_;
7968 }
7969 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7970 InverseConstraintProto::mutable_f_inverse() {
7971  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
7972  return _internal_mutable_f_inverse();
7973 }
7974 
7975 // -------------------------------------------------------------------
7976 
7977 // AutomatonConstraintProto
7978 
7979 // int64 starting_state = 2;
7980 inline void AutomatonConstraintProto::clear_starting_state() {
7981  starting_state_ = PROTOBUF_LONGLONG(0);
7982 }
7983 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_starting_state() const {
7984  return starting_state_;
7985 }
7986 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::starting_state() const {
7987  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
7988  return _internal_starting_state();
7989 }
7990 inline void AutomatonConstraintProto::_internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
7991 
7992  starting_state_ = value;
7993 }
7994 inline void AutomatonConstraintProto::set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
7995  _internal_set_starting_state(value);
7996  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
7997 }
7998 
7999 // repeated int64 final_states = 3;
8000 inline int AutomatonConstraintProto::_internal_final_states_size() const {
8001  return final_states_.size();
8002 }
8003 inline int AutomatonConstraintProto::final_states_size() const {
8004  return _internal_final_states_size();
8005 }
8006 inline void AutomatonConstraintProto::clear_final_states() {
8007  final_states_.Clear();
8008 }
8009 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_final_states(int index) const {
8010  return final_states_.Get(index);
8011 }
8012 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::final_states(int index) const {
8013  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
8014  return _internal_final_states(index);
8015 }
8016 inline void AutomatonConstraintProto::set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8017  final_states_.Set(index, value);
8018  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
8019 }
8020 inline void AutomatonConstraintProto::_internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8021  final_states_.Add(value);
8022 }
8023 inline void AutomatonConstraintProto::add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8024  _internal_add_final_states(value);
8025  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
8026 }
8027 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8028 AutomatonConstraintProto::_internal_final_states() const {
8029  return final_states_;
8030 }
8031 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8032 AutomatonConstraintProto::final_states() const {
8033  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
8034  return _internal_final_states();
8035 }
8036 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8037 AutomatonConstraintProto::_internal_mutable_final_states() {
8038  return &final_states_;
8039 }
8040 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8041 AutomatonConstraintProto::mutable_final_states() {
8042  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
8043  return _internal_mutable_final_states();
8044 }
8045 
8046 // repeated int64 transition_tail = 4;
8047 inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
8048  return transition_tail_.size();
8049 }
8050 inline int AutomatonConstraintProto::transition_tail_size() const {
8051  return _internal_transition_tail_size();
8052 }
8053 inline void AutomatonConstraintProto::clear_transition_tail() {
8054  transition_tail_.Clear();
8055 }
8056 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_tail(int index) const {
8057  return transition_tail_.Get(index);
8058 }
8059 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_tail(int index) const {
8060  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
8061  return _internal_transition_tail(index);
8062 }
8063 inline void AutomatonConstraintProto::set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8064  transition_tail_.Set(index, value);
8065  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
8066 }
8067 inline void AutomatonConstraintProto::_internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8068  transition_tail_.Add(value);
8069 }
8070 inline void AutomatonConstraintProto::add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8071  _internal_add_transition_tail(value);
8072  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
8073 }
8074 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8075 AutomatonConstraintProto::_internal_transition_tail() const {
8076  return transition_tail_;
8077 }
8078 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8079 AutomatonConstraintProto::transition_tail() const {
8080  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8081  return _internal_transition_tail();
8082 }
8083 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8084 AutomatonConstraintProto::_internal_mutable_transition_tail() {
8085  return &transition_tail_;
8086 }
8087 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8088 AutomatonConstraintProto::mutable_transition_tail() {
8089  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8090  return _internal_mutable_transition_tail();
8091 }
8092 
8093 // repeated int64 transition_head = 5;
8094 inline int AutomatonConstraintProto::_internal_transition_head_size() const {
8095  return transition_head_.size();
8096 }
8097 inline int AutomatonConstraintProto::transition_head_size() const {
8098  return _internal_transition_head_size();
8099 }
8100 inline void AutomatonConstraintProto::clear_transition_head() {
8101  transition_head_.Clear();
8102 }
8103 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_head(int index) const {
8104  return transition_head_.Get(index);
8105 }
8106 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_head(int index) const {
8107  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
8108  return _internal_transition_head(index);
8109 }
8110 inline void AutomatonConstraintProto::set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8111  transition_head_.Set(index, value);
8112  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
8113 }
8114 inline void AutomatonConstraintProto::_internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8115  transition_head_.Add(value);
8116 }
8117 inline void AutomatonConstraintProto::add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8118  _internal_add_transition_head(value);
8119  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
8120 }
8121 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8122 AutomatonConstraintProto::_internal_transition_head() const {
8123  return transition_head_;
8124 }
8125 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8126 AutomatonConstraintProto::transition_head() const {
8127  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8128  return _internal_transition_head();
8129 }
8130 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8131 AutomatonConstraintProto::_internal_mutable_transition_head() {
8132  return &transition_head_;
8133 }
8134 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8135 AutomatonConstraintProto::mutable_transition_head() {
8136  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8137  return _internal_mutable_transition_head();
8138 }
8139 
8140 // repeated int64 transition_label = 6;
8141 inline int AutomatonConstraintProto::_internal_transition_label_size() const {
8142  return transition_label_.size();
8143 }
8144 inline int AutomatonConstraintProto::transition_label_size() const {
8145  return _internal_transition_label_size();
8146 }
8147 inline void AutomatonConstraintProto::clear_transition_label() {
8148  transition_label_.Clear();
8149 }
8150 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_label(int index) const {
8151  return transition_label_.Get(index);
8152 }
8153 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_label(int index) const {
8154  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
8155  return _internal_transition_label(index);
8156 }
8157 inline void AutomatonConstraintProto::set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8158  transition_label_.Set(index, value);
8159  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
8160 }
8161 inline void AutomatonConstraintProto::_internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8162  transition_label_.Add(value);
8163 }
8164 inline void AutomatonConstraintProto::add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8165  _internal_add_transition_label(value);
8166  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
8167 }
8168 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8169 AutomatonConstraintProto::_internal_transition_label() const {
8170  return transition_label_;
8171 }
8172 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8173 AutomatonConstraintProto::transition_label() const {
8174  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8175  return _internal_transition_label();
8176 }
8177 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8178 AutomatonConstraintProto::_internal_mutable_transition_label() {
8179  return &transition_label_;
8180 }
8181 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8182 AutomatonConstraintProto::mutable_transition_label() {
8183  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8184  return _internal_mutable_transition_label();
8185 }
8186 
8187 // repeated int32 vars = 7;
8188 inline int AutomatonConstraintProto::_internal_vars_size() const {
8189  return vars_.size();
8190 }
8191 inline int AutomatonConstraintProto::vars_size() const {
8192  return _internal_vars_size();
8193 }
8194 inline void AutomatonConstraintProto::clear_vars() {
8195  vars_.Clear();
8196 }
8197 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::_internal_vars(int index) const {
8198  return vars_.Get(index);
8199 }
8200 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::vars(int index) const {
8201  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
8202  return _internal_vars(index);
8203 }
8204 inline void AutomatonConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8205  vars_.Set(index, value);
8206  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
8207 }
8208 inline void AutomatonConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8209  vars_.Add(value);
8210 }
8211 inline void AutomatonConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8212  _internal_add_vars(value);
8213  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
8214 }
8215 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8216 AutomatonConstraintProto::_internal_vars() const {
8217  return vars_;
8218 }
8219 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8220 AutomatonConstraintProto::vars() const {
8221  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
8222  return _internal_vars();
8223 }
8224 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8225 AutomatonConstraintProto::_internal_mutable_vars() {
8226  return &vars_;
8227 }
8228 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8229 AutomatonConstraintProto::mutable_vars() {
8230  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
8231  return _internal_mutable_vars();
8232 }
8233 
8234 // -------------------------------------------------------------------
8235 
8236 // ConstraintProto
8237 
8238 // string name = 1;
8239 inline void ConstraintProto::clear_name() {
8240  name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8241 }
8242 inline const std::string& ConstraintProto::name() const {
8243  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
8244  return _internal_name();
8245 }
8246 inline void ConstraintProto::set_name(const std::string& value) {
8247  _internal_set_name(value);
8248  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
8249 }
8250 inline std::string* ConstraintProto::mutable_name() {
8251  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
8252  return _internal_mutable_name();
8253 }
8254 inline const std::string& ConstraintProto::_internal_name() const {
8255  return name_.Get();
8256 }
8257 inline void ConstraintProto::_internal_set_name(const std::string& value) {
8258 
8259  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
8260 }
8261 inline void ConstraintProto::set_name(std::string&& value) {
8262 
8263  name_.Set(
8264  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
8265  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.ConstraintProto.name)
8266 }
8267 inline void ConstraintProto::set_name(const char* value) {
8268  GOOGLE_DCHECK(value != nullptr);
8269 
8270  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
8271  GetArena());
8272  // @@protoc_insertion_point(field_set_char:operations_research.sat.ConstraintProto.name)
8273 }
8274 inline void ConstraintProto::set_name(const char* value,
8275  size_t size) {
8276 
8277  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
8278  reinterpret_cast<const char*>(value), size), GetArena());
8279  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.ConstraintProto.name)
8280 }
8281 inline std::string* ConstraintProto::_internal_mutable_name() {
8282 
8283  return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8284 }
8285 inline std::string* ConstraintProto::release_name() {
8286  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
8287  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8288 }
8289 inline void ConstraintProto::set_allocated_name(std::string* name) {
8290  if (name != nullptr) {
8291 
8292  } else {
8293 
8294  }
8295  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
8296  GetArena());
8297  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
8298 }
8299 
8300 // repeated int32 enforcement_literal = 2;
8301 inline int ConstraintProto::_internal_enforcement_literal_size() const {
8302  return enforcement_literal_.size();
8303 }
8304 inline int ConstraintProto::enforcement_literal_size() const {
8305  return _internal_enforcement_literal_size();
8306 }
8307 inline void ConstraintProto::clear_enforcement_literal() {
8308  enforcement_literal_.Clear();
8309 }
8310 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::_internal_enforcement_literal(int index) const {
8311  return enforcement_literal_.Get(index);
8312 }
8313 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::enforcement_literal(int index) const {
8314  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
8315  return _internal_enforcement_literal(index);
8316 }
8317 inline void ConstraintProto::set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8318  enforcement_literal_.Set(index, value);
8319  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
8320 }
8321 inline void ConstraintProto::_internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8322  enforcement_literal_.Add(value);
8323 }
8324 inline void ConstraintProto::add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8325  _internal_add_enforcement_literal(value);
8326  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
8327 }
8328 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8329 ConstraintProto::_internal_enforcement_literal() const {
8330  return enforcement_literal_;
8331 }
8332 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8333 ConstraintProto::enforcement_literal() const {
8334  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
8335  return _internal_enforcement_literal();
8336 }
8337 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8338 ConstraintProto::_internal_mutable_enforcement_literal() {
8339  return &enforcement_literal_;
8340 }
8341 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8342 ConstraintProto::mutable_enforcement_literal() {
8343  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
8344  return _internal_mutable_enforcement_literal();
8345 }
8346 
8347 // .operations_research.sat.BoolArgumentProto bool_or = 3;
8348 inline bool ConstraintProto::_internal_has_bool_or() const {
8349  return constraint_case() == kBoolOr;
8350 }
8351 inline bool ConstraintProto::has_bool_or() const {
8352  return _internal_has_bool_or();
8353 }
8354 inline void ConstraintProto::set_has_bool_or() {
8355  _oneof_case_[0] = kBoolOr;
8356 }
8357 inline void ConstraintProto::clear_bool_or() {
8358  if (_internal_has_bool_or()) {
8359  if (GetArena() == nullptr) {
8360  delete constraint_.bool_or_;
8361  }
8362  clear_has_constraint();
8363  }
8364 }
8365 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
8366  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
8367  if (_internal_has_bool_or()) {
8368  clear_has_constraint();
8369  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8370  if (GetArena() != nullptr) {
8371  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8372  }
8373  constraint_.bool_or_ = nullptr;
8374  return temp;
8375  } else {
8376  return nullptr;
8377  }
8378 }
8379 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
8380  return _internal_has_bool_or()
8381  ? *constraint_.bool_or_
8383 }
8384 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
8385  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
8386  return _internal_bool_or();
8387 }
8388 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_or() {
8389  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
8390  if (_internal_has_bool_or()) {
8391  clear_has_constraint();
8392  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8393  constraint_.bool_or_ = nullptr;
8394  return temp;
8395  } else {
8396  return nullptr;
8397  }
8398 }
8399 inline void ConstraintProto::unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or) {
8400  clear_constraint();
8401  if (bool_or) {
8402  set_has_bool_or();
8403  constraint_.bool_or_ = bool_or;
8404  }
8405  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
8406 }
8407 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_or() {
8408  if (!_internal_has_bool_or()) {
8409  clear_constraint();
8410  set_has_bool_or();
8411  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8412  }
8413  return constraint_.bool_or_;
8414 }
8415 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
8416  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
8417  return _internal_mutable_bool_or();
8418 }
8419 
8420 // .operations_research.sat.BoolArgumentProto bool_and = 4;
8421 inline bool ConstraintProto::_internal_has_bool_and() const {
8422  return constraint_case() == kBoolAnd;
8423 }
8424 inline bool ConstraintProto::has_bool_and() const {
8425  return _internal_has_bool_and();
8426 }
8427 inline void ConstraintProto::set_has_bool_and() {
8428  _oneof_case_[0] = kBoolAnd;
8429 }
8430 inline void ConstraintProto::clear_bool_and() {
8431  if (_internal_has_bool_and()) {
8432  if (GetArena() == nullptr) {
8433  delete constraint_.bool_and_;
8434  }
8435  clear_has_constraint();
8436  }
8437 }
8438 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
8439  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
8440  if (_internal_has_bool_and()) {
8441  clear_has_constraint();
8442  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
8443  if (GetArena() != nullptr) {
8444  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8445  }
8446  constraint_.bool_and_ = nullptr;
8447  return temp;
8448  } else {
8449  return nullptr;
8450  }
8451 }
8452 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
8453  return _internal_has_bool_and()
8454  ? *constraint_.bool_and_
8456 }
8457 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
8458  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
8459  return _internal_bool_and();
8460 }
8461 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_and() {
8462  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
8463  if (_internal_has_bool_and()) {
8464  clear_has_constraint();
8465  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
8466  constraint_.bool_and_ = nullptr;
8467  return temp;
8468  } else {
8469  return nullptr;
8470  }
8471 }
8472 inline void ConstraintProto::unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and) {
8473  clear_constraint();
8474  if (bool_and) {
8475  set_has_bool_and();
8476  constraint_.bool_and_ = bool_and;
8477  }
8478  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
8479 }
8480 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_and() {
8481  if (!_internal_has_bool_and()) {
8482  clear_constraint();
8483  set_has_bool_and();
8484  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8485  }
8486  return constraint_.bool_and_;
8487 }
8488 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
8489  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
8490  return _internal_mutable_bool_and();
8491 }
8492 
8493 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
8494 inline bool ConstraintProto::_internal_has_at_most_one() const {
8495  return constraint_case() == kAtMostOne;
8496 }
8497 inline bool ConstraintProto::has_at_most_one() const {
8498  return _internal_has_at_most_one();
8499 }
8500 inline void ConstraintProto::set_has_at_most_one() {
8501  _oneof_case_[0] = kAtMostOne;
8502 }
8503 inline void ConstraintProto::clear_at_most_one() {
8504  if (_internal_has_at_most_one()) {
8505  if (GetArena() == nullptr) {
8506  delete constraint_.at_most_one_;
8507  }
8508  clear_has_constraint();
8509  }
8510 }
8511 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
8512  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
8513  if (_internal_has_at_most_one()) {
8514  clear_has_constraint();
8515  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
8516  if (GetArena() != nullptr) {
8517  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8518  }
8519  constraint_.at_most_one_ = nullptr;
8520  return temp;
8521  } else {
8522  return nullptr;
8523  }
8524 }
8525 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
8526  return _internal_has_at_most_one()
8527  ? *constraint_.at_most_one_
8529 }
8530 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
8531  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
8532  return _internal_at_most_one();
8533 }
8534 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_at_most_one() {
8535  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
8536  if (_internal_has_at_most_one()) {
8537  clear_has_constraint();
8538  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
8539  constraint_.at_most_one_ = nullptr;
8540  return temp;
8541  } else {
8542  return nullptr;
8543  }
8544 }
8545 inline void ConstraintProto::unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one) {
8546  clear_constraint();
8547  if (at_most_one) {
8548  set_has_at_most_one();
8549  constraint_.at_most_one_ = at_most_one;
8550  }
8551  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
8552 }
8553 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_at_most_one() {
8554  if (!_internal_has_at_most_one()) {
8555  clear_constraint();
8556  set_has_at_most_one();
8557  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8558  }
8559  return constraint_.at_most_one_;
8560 }
8561 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
8562  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
8563  return _internal_mutable_at_most_one();
8564 }
8565 
8566 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
8567 inline bool ConstraintProto::_internal_has_bool_xor() const {
8568  return constraint_case() == kBoolXor;
8569 }
8570 inline bool ConstraintProto::has_bool_xor() const {
8571  return _internal_has_bool_xor();
8572 }
8573 inline void ConstraintProto::set_has_bool_xor() {
8574  _oneof_case_[0] = kBoolXor;
8575 }
8576 inline void ConstraintProto::clear_bool_xor() {
8577  if (_internal_has_bool_xor()) {
8578  if (GetArena() == nullptr) {
8579  delete constraint_.bool_xor_;
8580  }
8581  clear_has_constraint();
8582  }
8583 }
8584 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
8585  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
8586  if (_internal_has_bool_xor()) {
8587  clear_has_constraint();
8588  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
8589  if (GetArena() != nullptr) {
8590  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8591  }
8592  constraint_.bool_xor_ = nullptr;
8593  return temp;
8594  } else {
8595  return nullptr;
8596  }
8597 }
8598 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
8599  return _internal_has_bool_xor()
8600  ? *constraint_.bool_xor_
8602 }
8603 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
8604  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
8605  return _internal_bool_xor();
8606 }
8607 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_xor() {
8608  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
8609  if (_internal_has_bool_xor()) {
8610  clear_has_constraint();
8611  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
8612  constraint_.bool_xor_ = nullptr;
8613  return temp;
8614  } else {
8615  return nullptr;
8616  }
8617 }
8618 inline void ConstraintProto::unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor) {
8619  clear_constraint();
8620  if (bool_xor) {
8621  set_has_bool_xor();
8622  constraint_.bool_xor_ = bool_xor;
8623  }
8624  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
8625 }
8626 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_xor() {
8627  if (!_internal_has_bool_xor()) {
8628  clear_constraint();
8629  set_has_bool_xor();
8630  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
8631  }
8632  return constraint_.bool_xor_;
8633 }
8634 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
8635  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
8636  return _internal_mutable_bool_xor();
8637 }
8638 
8639 // .operations_research.sat.IntegerArgumentProto int_div = 7;
8640 inline bool ConstraintProto::_internal_has_int_div() const {
8641  return constraint_case() == kIntDiv;
8642 }
8643 inline bool ConstraintProto::has_int_div() const {
8644  return _internal_has_int_div();
8645 }
8646 inline void ConstraintProto::set_has_int_div() {
8647  _oneof_case_[0] = kIntDiv;
8648 }
8649 inline void ConstraintProto::clear_int_div() {
8650  if (_internal_has_int_div()) {
8651  if (GetArena() == nullptr) {
8652  delete constraint_.int_div_;
8653  }
8654  clear_has_constraint();
8655  }
8656 }
8657 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_div() {
8658  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
8659  if (_internal_has_int_div()) {
8660  clear_has_constraint();
8661  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
8662  if (GetArena() != nullptr) {
8663  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8664  }
8665  constraint_.int_div_ = nullptr;
8666  return temp;
8667  } else {
8668  return nullptr;
8669  }
8670 }
8671 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_div() const {
8672  return _internal_has_int_div()
8673  ? *constraint_.int_div_
8675 }
8676 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_div() const {
8677  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
8678  return _internal_int_div();
8679 }
8680 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_div() {
8681  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
8682  if (_internal_has_int_div()) {
8683  clear_has_constraint();
8684  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
8685  constraint_.int_div_ = nullptr;
8686  return temp;
8687  } else {
8688  return nullptr;
8689  }
8690 }
8691 inline void ConstraintProto::unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div) {
8692  clear_constraint();
8693  if (int_div) {
8694  set_has_int_div();
8695  constraint_.int_div_ = int_div;
8696  }
8697  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
8698 }
8699 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_div() {
8700  if (!_internal_has_int_div()) {
8701  clear_constraint();
8702  set_has_int_div();
8703  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8704  }
8705  return constraint_.int_div_;
8706 }
8707 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_div() {
8708  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
8709  return _internal_mutable_int_div();
8710 }
8711 
8712 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
8713 inline bool ConstraintProto::_internal_has_int_mod() const {
8714  return constraint_case() == kIntMod;
8715 }
8716 inline bool ConstraintProto::has_int_mod() const {
8717  return _internal_has_int_mod();
8718 }
8719 inline void ConstraintProto::set_has_int_mod() {
8720  _oneof_case_[0] = kIntMod;
8721 }
8722 inline void ConstraintProto::clear_int_mod() {
8723  if (_internal_has_int_mod()) {
8724  if (GetArena() == nullptr) {
8725  delete constraint_.int_mod_;
8726  }
8727  clear_has_constraint();
8728  }
8729 }
8730 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_mod() {
8731  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
8732  if (_internal_has_int_mod()) {
8733  clear_has_constraint();
8734  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
8735  if (GetArena() != nullptr) {
8736  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8737  }
8738  constraint_.int_mod_ = nullptr;
8739  return temp;
8740  } else {
8741  return nullptr;
8742  }
8743 }
8744 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_mod() const {
8745  return _internal_has_int_mod()
8746  ? *constraint_.int_mod_
8748 }
8749 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_mod() const {
8750  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
8751  return _internal_int_mod();
8752 }
8753 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_mod() {
8754  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
8755  if (_internal_has_int_mod()) {
8756  clear_has_constraint();
8757  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
8758  constraint_.int_mod_ = nullptr;
8759  return temp;
8760  } else {
8761  return nullptr;
8762  }
8763 }
8764 inline void ConstraintProto::unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod) {
8765  clear_constraint();
8766  if (int_mod) {
8767  set_has_int_mod();
8768  constraint_.int_mod_ = int_mod;
8769  }
8770  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
8771 }
8772 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_mod() {
8773  if (!_internal_has_int_mod()) {
8774  clear_constraint();
8775  set_has_int_mod();
8776  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8777  }
8778  return constraint_.int_mod_;
8779 }
8780 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_mod() {
8781  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
8782  return _internal_mutable_int_mod();
8783 }
8784 
8785 // .operations_research.sat.IntegerArgumentProto int_max = 9;
8786 inline bool ConstraintProto::_internal_has_int_max() const {
8787  return constraint_case() == kIntMax;
8788 }
8789 inline bool ConstraintProto::has_int_max() const {
8790  return _internal_has_int_max();
8791 }
8792 inline void ConstraintProto::set_has_int_max() {
8793  _oneof_case_[0] = kIntMax;
8794 }
8795 inline void ConstraintProto::clear_int_max() {
8796  if (_internal_has_int_max()) {
8797  if (GetArena() == nullptr) {
8798  delete constraint_.int_max_;
8799  }
8800  clear_has_constraint();
8801  }
8802 }
8803 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_max() {
8804  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_max)
8805  if (_internal_has_int_max()) {
8806  clear_has_constraint();
8807  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
8808  if (GetArena() != nullptr) {
8809  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8810  }
8811  constraint_.int_max_ = nullptr;
8812  return temp;
8813  } else {
8814  return nullptr;
8815  }
8816 }
8817 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_max() const {
8818  return _internal_has_int_max()
8819  ? *constraint_.int_max_
8821 }
8822 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_max() const {
8823  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_max)
8824  return _internal_int_max();
8825 }
8826 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_max() {
8827  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_max)
8828  if (_internal_has_int_max()) {
8829  clear_has_constraint();
8830  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
8831  constraint_.int_max_ = nullptr;
8832  return temp;
8833  } else {
8834  return nullptr;
8835  }
8836 }
8837 inline void ConstraintProto::unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max) {
8838  clear_constraint();
8839  if (int_max) {
8840  set_has_int_max();
8841  constraint_.int_max_ = int_max;
8842  }
8843  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_max)
8844 }
8845 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_max() {
8846  if (!_internal_has_int_max()) {
8847  clear_constraint();
8848  set_has_int_max();
8849  constraint_.int_max_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8850  }
8851  return constraint_.int_max_;
8852 }
8853 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_max() {
8854  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_max)
8855  return _internal_mutable_int_max();
8856 }
8857 
8858 // .operations_research.sat.LinearArgumentProto lin_max = 27;
8859 inline bool ConstraintProto::_internal_has_lin_max() const {
8860  return constraint_case() == kLinMax;
8861 }
8862 inline bool ConstraintProto::has_lin_max() const {
8863  return _internal_has_lin_max();
8864 }
8865 inline void ConstraintProto::set_has_lin_max() {
8866  _oneof_case_[0] = kLinMax;
8867 }
8868 inline void ConstraintProto::clear_lin_max() {
8869  if (_internal_has_lin_max()) {
8870  if (GetArena() == nullptr) {
8871  delete constraint_.lin_max_;
8872  }
8873  clear_has_constraint();
8874  }
8875 }
8876 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_max() {
8877  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
8878  if (_internal_has_lin_max()) {
8879  clear_has_constraint();
8880  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
8881  if (GetArena() != nullptr) {
8882  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8883  }
8884  constraint_.lin_max_ = nullptr;
8885  return temp;
8886  } else {
8887  return nullptr;
8888  }
8889 }
8890 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
8891  return _internal_has_lin_max()
8892  ? *constraint_.lin_max_
8894 }
8895 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const {
8896  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
8897  return _internal_lin_max();
8898 }
8899 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_max() {
8900  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
8901  if (_internal_has_lin_max()) {
8902  clear_has_constraint();
8903  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
8904  constraint_.lin_max_ = nullptr;
8905  return temp;
8906  } else {
8907  return nullptr;
8908  }
8909 }
8910 inline void ConstraintProto::unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max) {
8911  clear_constraint();
8912  if (lin_max) {
8913  set_has_lin_max();
8914  constraint_.lin_max_ = lin_max;
8915  }
8916  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
8917 }
8918 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_max() {
8919  if (!_internal_has_lin_max()) {
8920  clear_constraint();
8921  set_has_lin_max();
8922  constraint_.lin_max_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
8923  }
8924  return constraint_.lin_max_;
8925 }
8926 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_max() {
8927  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
8928  return _internal_mutable_lin_max();
8929 }
8930 
8931 // .operations_research.sat.IntegerArgumentProto int_min = 10;
8932 inline bool ConstraintProto::_internal_has_int_min() const {
8933  return constraint_case() == kIntMin;
8934 }
8935 inline bool ConstraintProto::has_int_min() const {
8936  return _internal_has_int_min();
8937 }
8938 inline void ConstraintProto::set_has_int_min() {
8939  _oneof_case_[0] = kIntMin;
8940 }
8941 inline void ConstraintProto::clear_int_min() {
8942  if (_internal_has_int_min()) {
8943  if (GetArena() == nullptr) {
8944  delete constraint_.int_min_;
8945  }
8946  clear_has_constraint();
8947  }
8948 }
8949 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_min() {
8950  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_min)
8951  if (_internal_has_int_min()) {
8952  clear_has_constraint();
8953  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
8954  if (GetArena() != nullptr) {
8955  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8956  }
8957  constraint_.int_min_ = nullptr;
8958  return temp;
8959  } else {
8960  return nullptr;
8961  }
8962 }
8963 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_min() const {
8964  return _internal_has_int_min()
8965  ? *constraint_.int_min_
8967 }
8968 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_min() const {
8969  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_min)
8970  return _internal_int_min();
8971 }
8972 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_min() {
8973  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_min)
8974  if (_internal_has_int_min()) {
8975  clear_has_constraint();
8976  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
8977  constraint_.int_min_ = nullptr;
8978  return temp;
8979  } else {
8980  return nullptr;
8981  }
8982 }
8983 inline void ConstraintProto::unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min) {
8984  clear_constraint();
8985  if (int_min) {
8986  set_has_int_min();
8987  constraint_.int_min_ = int_min;
8988  }
8989  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_min)
8990 }
8991 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_min() {
8992  if (!_internal_has_int_min()) {
8993  clear_constraint();
8994  set_has_int_min();
8995  constraint_.int_min_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
8996  }
8997  return constraint_.int_min_;
8998 }
8999 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_min() {
9000  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_min)
9001  return _internal_mutable_int_min();
9002 }
9003 
9004 // .operations_research.sat.LinearArgumentProto lin_min = 28;
9005 inline bool ConstraintProto::_internal_has_lin_min() const {
9006  return constraint_case() == kLinMin;
9007 }
9008 inline bool ConstraintProto::has_lin_min() const {
9009  return _internal_has_lin_min();
9010 }
9011 inline void ConstraintProto::set_has_lin_min() {
9012  _oneof_case_[0] = kLinMin;
9013 }
9014 inline void ConstraintProto::clear_lin_min() {
9015  if (_internal_has_lin_min()) {
9016  if (GetArena() == nullptr) {
9017  delete constraint_.lin_min_;
9018  }
9019  clear_has_constraint();
9020  }
9021 }
9022 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_min() {
9023  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_min)
9024  if (_internal_has_lin_min()) {
9025  clear_has_constraint();
9026  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9027  if (GetArena() != nullptr) {
9028  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9029  }
9030  constraint_.lin_min_ = nullptr;
9031  return temp;
9032  } else {
9033  return nullptr;
9034  }
9035 }
9036 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_min() const {
9037  return _internal_has_lin_min()
9038  ? *constraint_.lin_min_
9040 }
9041 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_min() const {
9042  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_min)
9043  return _internal_lin_min();
9044 }
9045 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_min() {
9046  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_min)
9047  if (_internal_has_lin_min()) {
9048  clear_has_constraint();
9049  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9050  constraint_.lin_min_ = nullptr;
9051  return temp;
9052  } else {
9053  return nullptr;
9054  }
9055 }
9056 inline void ConstraintProto::unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min) {
9057  clear_constraint();
9058  if (lin_min) {
9059  set_has_lin_min();
9060  constraint_.lin_min_ = lin_min;
9061  }
9062  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_min)
9063 }
9064 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_min() {
9065  if (!_internal_has_lin_min()) {
9066  clear_constraint();
9067  set_has_lin_min();
9068  constraint_.lin_min_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9069  }
9070  return constraint_.lin_min_;
9071 }
9072 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_min() {
9073  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_min)
9074  return _internal_mutable_lin_min();
9075 }
9076 
9077 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
9078 inline bool ConstraintProto::_internal_has_int_prod() const {
9079  return constraint_case() == kIntProd;
9080 }
9081 inline bool ConstraintProto::has_int_prod() const {
9082  return _internal_has_int_prod();
9083 }
9084 inline void ConstraintProto::set_has_int_prod() {
9085  _oneof_case_[0] = kIntProd;
9086 }
9087 inline void ConstraintProto::clear_int_prod() {
9088  if (_internal_has_int_prod()) {
9089  if (GetArena() == nullptr) {
9090  delete constraint_.int_prod_;
9091  }
9092  clear_has_constraint();
9093  }
9094 }
9095 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_prod() {
9096  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
9097  if (_internal_has_int_prod()) {
9098  clear_has_constraint();
9099  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9100  if (GetArena() != nullptr) {
9101  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9102  }
9103  constraint_.int_prod_ = nullptr;
9104  return temp;
9105  } else {
9106  return nullptr;
9107  }
9108 }
9109 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_prod() const {
9110  return _internal_has_int_prod()
9111  ? *constraint_.int_prod_
9113 }
9114 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_prod() const {
9115  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
9116  return _internal_int_prod();
9117 }
9118 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_prod() {
9119  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
9120  if (_internal_has_int_prod()) {
9121  clear_has_constraint();
9122  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9123  constraint_.int_prod_ = nullptr;
9124  return temp;
9125  } else {
9126  return nullptr;
9127  }
9128 }
9129 inline void ConstraintProto::unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod) {
9130  clear_constraint();
9131  if (int_prod) {
9132  set_has_int_prod();
9133  constraint_.int_prod_ = int_prod;
9134  }
9135  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
9136 }
9137 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_prod() {
9138  if (!_internal_has_int_prod()) {
9139  clear_constraint();
9140  set_has_int_prod();
9141  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9142  }
9143  return constraint_.int_prod_;
9144 }
9145 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_prod() {
9146  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
9147  return _internal_mutable_int_prod();
9148 }
9149 
9150 // .operations_research.sat.LinearConstraintProto linear = 12;
9151 inline bool ConstraintProto::_internal_has_linear() const {
9152  return constraint_case() == kLinear;
9153 }
9154 inline bool ConstraintProto::has_linear() const {
9155  return _internal_has_linear();
9156 }
9157 inline void ConstraintProto::set_has_linear() {
9158  _oneof_case_[0] = kLinear;
9159 }
9160 inline void ConstraintProto::clear_linear() {
9161  if (_internal_has_linear()) {
9162  if (GetArena() == nullptr) {
9163  delete constraint_.linear_;
9164  }
9165  clear_has_constraint();
9166  }
9167 }
9168 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
9169  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
9170  if (_internal_has_linear()) {
9171  clear_has_constraint();
9172  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9173  if (GetArena() != nullptr) {
9174  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9175  }
9176  constraint_.linear_ = nullptr;
9177  return temp;
9178  } else {
9179  return nullptr;
9180  }
9181 }
9182 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
9183  return _internal_has_linear()
9184  ? *constraint_.linear_
9186 }
9187 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
9188  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
9189  return _internal_linear();
9190 }
9191 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::unsafe_arena_release_linear() {
9192  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
9193  if (_internal_has_linear()) {
9194  clear_has_constraint();
9195  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9196  constraint_.linear_ = nullptr;
9197  return temp;
9198  } else {
9199  return nullptr;
9200  }
9201 }
9202 inline void ConstraintProto::unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear) {
9203  clear_constraint();
9204  if (linear) {
9205  set_has_linear();
9206  constraint_.linear_ = linear;
9207  }
9208  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
9209 }
9210 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::_internal_mutable_linear() {
9211  if (!_internal_has_linear()) {
9212  clear_constraint();
9213  set_has_linear();
9214  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(GetArena());
9215  }
9216  return constraint_.linear_;
9217 }
9218 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
9219  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
9220  return _internal_mutable_linear();
9221 }
9222 
9223 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
9224 inline bool ConstraintProto::_internal_has_all_diff() const {
9225  return constraint_case() == kAllDiff;
9226 }
9227 inline bool ConstraintProto::has_all_diff() const {
9228  return _internal_has_all_diff();
9229 }
9230 inline void ConstraintProto::set_has_all_diff() {
9231  _oneof_case_[0] = kAllDiff;
9232 }
9233 inline void ConstraintProto::clear_all_diff() {
9234  if (_internal_has_all_diff()) {
9235  if (GetArena() == nullptr) {
9236  delete constraint_.all_diff_;
9237  }
9238  clear_has_constraint();
9239  }
9240 }
9241 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
9242  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
9243  if (_internal_has_all_diff()) {
9244  clear_has_constraint();
9245  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9246  if (GetArena() != nullptr) {
9247  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9248  }
9249  constraint_.all_diff_ = nullptr;
9250  return temp;
9251  } else {
9252  return nullptr;
9253  }
9254 }
9255 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
9256  return _internal_has_all_diff()
9257  ? *constraint_.all_diff_
9259 }
9260 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
9261  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
9262  return _internal_all_diff();
9263 }
9264 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::unsafe_arena_release_all_diff() {
9265  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
9266  if (_internal_has_all_diff()) {
9267  clear_has_constraint();
9268  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9269  constraint_.all_diff_ = nullptr;
9270  return temp;
9271  } else {
9272  return nullptr;
9273  }
9274 }
9275 inline void ConstraintProto::unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff) {
9276  clear_constraint();
9277  if (all_diff) {
9278  set_has_all_diff();
9279  constraint_.all_diff_ = all_diff;
9280  }
9281  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
9282 }
9283 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::_internal_mutable_all_diff() {
9284  if (!_internal_has_all_diff()) {
9285  clear_constraint();
9286  set_has_all_diff();
9287  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(GetArena());
9288  }
9289  return constraint_.all_diff_;
9290 }
9291 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
9292  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
9293  return _internal_mutable_all_diff();
9294 }
9295 
9296 // .operations_research.sat.ElementConstraintProto element = 14;
9297 inline bool ConstraintProto::_internal_has_element() const {
9298  return constraint_case() == kElement;
9299 }
9300 inline bool ConstraintProto::has_element() const {
9301  return _internal_has_element();
9302 }
9303 inline void ConstraintProto::set_has_element() {
9304  _oneof_case_[0] = kElement;
9305 }
9306 inline void ConstraintProto::clear_element() {
9307  if (_internal_has_element()) {
9308  if (GetArena() == nullptr) {
9309  delete constraint_.element_;
9310  }
9311  clear_has_constraint();
9312  }
9313 }
9314 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
9315  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
9316  if (_internal_has_element()) {
9317  clear_has_constraint();
9318  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
9319  if (GetArena() != nullptr) {
9320  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9321  }
9322  constraint_.element_ = nullptr;
9323  return temp;
9324  } else {
9325  return nullptr;
9326  }
9327 }
9328 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
9329  return _internal_has_element()
9330  ? *constraint_.element_
9332 }
9333 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
9334  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
9335  return _internal_element();
9336 }
9337 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::unsafe_arena_release_element() {
9338  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
9339  if (_internal_has_element()) {
9340  clear_has_constraint();
9341  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
9342  constraint_.element_ = nullptr;
9343  return temp;
9344  } else {
9345  return nullptr;
9346  }
9347 }
9348 inline void ConstraintProto::unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto* element) {
9349  clear_constraint();
9350  if (element) {
9351  set_has_element();
9352  constraint_.element_ = element;
9353  }
9354  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
9355 }
9356 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::_internal_mutable_element() {
9357  if (!_internal_has_element()) {
9358  clear_constraint();
9359  set_has_element();
9360  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(GetArena());
9361  }
9362  return constraint_.element_;
9363 }
9364 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
9365  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
9366  return _internal_mutable_element();
9367 }
9368 
9369 // .operations_research.sat.CircuitConstraintProto circuit = 15;
9370 inline bool ConstraintProto::_internal_has_circuit() const {
9371  return constraint_case() == kCircuit;
9372 }
9373 inline bool ConstraintProto::has_circuit() const {
9374  return _internal_has_circuit();
9375 }
9376 inline void ConstraintProto::set_has_circuit() {
9377  _oneof_case_[0] = kCircuit;
9378 }
9379 inline void ConstraintProto::clear_circuit() {
9380  if (_internal_has_circuit()) {
9381  if (GetArena() == nullptr) {
9382  delete constraint_.circuit_;
9383  }
9384  clear_has_constraint();
9385  }
9386 }
9387 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
9388  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
9389  if (_internal_has_circuit()) {
9390  clear_has_constraint();
9391  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
9392  if (GetArena() != nullptr) {
9393  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9394  }
9395  constraint_.circuit_ = nullptr;
9396  return temp;
9397  } else {
9398  return nullptr;
9399  }
9400 }
9401 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
9402  return _internal_has_circuit()
9403  ? *constraint_.circuit_
9405 }
9406 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
9407  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
9408  return _internal_circuit();
9409 }
9410 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::unsafe_arena_release_circuit() {
9411  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
9412  if (_internal_has_circuit()) {
9413  clear_has_constraint();
9414  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
9415  constraint_.circuit_ = nullptr;
9416  return temp;
9417  } else {
9418  return nullptr;
9419  }
9420 }
9421 inline void ConstraintProto::unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit) {
9422  clear_constraint();
9423  if (circuit) {
9424  set_has_circuit();
9425  constraint_.circuit_ = circuit;
9426  }
9427  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
9428 }
9429 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::_internal_mutable_circuit() {
9430  if (!_internal_has_circuit()) {
9431  clear_constraint();
9432  set_has_circuit();
9433  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(GetArena());
9434  }
9435  return constraint_.circuit_;
9436 }
9437 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
9438  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
9439  return _internal_mutable_circuit();
9440 }
9441 
9442 // .operations_research.sat.RoutesConstraintProto routes = 23;
9443 inline bool ConstraintProto::_internal_has_routes() const {
9444  return constraint_case() == kRoutes;
9445 }
9446 inline bool ConstraintProto::has_routes() const {
9447  return _internal_has_routes();
9448 }
9449 inline void ConstraintProto::set_has_routes() {
9450  _oneof_case_[0] = kRoutes;
9451 }
9452 inline void ConstraintProto::clear_routes() {
9453  if (_internal_has_routes()) {
9454  if (GetArena() == nullptr) {
9455  delete constraint_.routes_;
9456  }
9457  clear_has_constraint();
9458  }
9459 }
9460 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
9461  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
9462  if (_internal_has_routes()) {
9463  clear_has_constraint();
9464  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
9465  if (GetArena() != nullptr) {
9466  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9467  }
9468  constraint_.routes_ = nullptr;
9469  return temp;
9470  } else {
9471  return nullptr;
9472  }
9473 }
9474 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
9475  return _internal_has_routes()
9476  ? *constraint_.routes_
9478 }
9479 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
9480  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
9481  return _internal_routes();
9482 }
9483 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::unsafe_arena_release_routes() {
9484  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
9485  if (_internal_has_routes()) {
9486  clear_has_constraint();
9487  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
9488  constraint_.routes_ = nullptr;
9489  return temp;
9490  } else {
9491  return nullptr;
9492  }
9493 }
9494 inline void ConstraintProto::unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes) {
9495  clear_constraint();
9496  if (routes) {
9497  set_has_routes();
9498  constraint_.routes_ = routes;
9499  }
9500  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
9501 }
9502 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::_internal_mutable_routes() {
9503  if (!_internal_has_routes()) {
9504  clear_constraint();
9505  set_has_routes();
9506  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(GetArena());
9507  }
9508  return constraint_.routes_;
9509 }
9510 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
9511  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
9512  return _internal_mutable_routes();
9513 }
9514 
9515 // .operations_research.sat.CircuitCoveringConstraintProto circuit_covering = 25;
9516 inline bool ConstraintProto::_internal_has_circuit_covering() const {
9517  return constraint_case() == kCircuitCovering;
9518 }
9519 inline bool ConstraintProto::has_circuit_covering() const {
9520  return _internal_has_circuit_covering();
9521 }
9522 inline void ConstraintProto::set_has_circuit_covering() {
9523  _oneof_case_[0] = kCircuitCovering;
9524 }
9525 inline void ConstraintProto::clear_circuit_covering() {
9526  if (_internal_has_circuit_covering()) {
9527  if (GetArena() == nullptr) {
9528  delete constraint_.circuit_covering_;
9529  }
9530  clear_has_constraint();
9531  }
9532 }
9533 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::release_circuit_covering() {
9534  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit_covering)
9535  if (_internal_has_circuit_covering()) {
9536  clear_has_constraint();
9537  ::operations_research::sat::CircuitCoveringConstraintProto* temp = constraint_.circuit_covering_;
9538  if (GetArena() != nullptr) {
9539  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9540  }
9541  constraint_.circuit_covering_ = nullptr;
9542  return temp;
9543  } else {
9544  return nullptr;
9545  }
9546 }
9547 inline const ::operations_research::sat::CircuitCoveringConstraintProto& ConstraintProto::_internal_circuit_covering() const {
9548  return _internal_has_circuit_covering()
9549  ? *constraint_.circuit_covering_
9551 }
9552 inline const ::operations_research::sat::CircuitCoveringConstraintProto& ConstraintProto::circuit_covering() const {
9553  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit_covering)
9554  return _internal_circuit_covering();
9555 }
9556 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::unsafe_arena_release_circuit_covering() {
9557  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit_covering)
9558  if (_internal_has_circuit_covering()) {
9559  clear_has_constraint();
9560  ::operations_research::sat::CircuitCoveringConstraintProto* temp = constraint_.circuit_covering_;
9561  constraint_.circuit_covering_ = nullptr;
9562  return temp;
9563  } else {
9564  return nullptr;
9565  }
9566 }
9567 inline void ConstraintProto::unsafe_arena_set_allocated_circuit_covering(::operations_research::sat::CircuitCoveringConstraintProto* circuit_covering) {
9568  clear_constraint();
9569  if (circuit_covering) {
9570  set_has_circuit_covering();
9571  constraint_.circuit_covering_ = circuit_covering;
9572  }
9573  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit_covering)
9574 }
9575 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::_internal_mutable_circuit_covering() {
9576  if (!_internal_has_circuit_covering()) {
9577  clear_constraint();
9578  set_has_circuit_covering();
9579  constraint_.circuit_covering_ = CreateMaybeMessage< ::operations_research::sat::CircuitCoveringConstraintProto >(GetArena());
9580  }
9581  return constraint_.circuit_covering_;
9582 }
9583 inline ::operations_research::sat::CircuitCoveringConstraintProto* ConstraintProto::mutable_circuit_covering() {
9584  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit_covering)
9585  return _internal_mutable_circuit_covering();
9586 }
9587 
9588 // .operations_research.sat.TableConstraintProto table = 16;
9589 inline bool ConstraintProto::_internal_has_table() const {
9590  return constraint_case() == kTable;
9591 }
9592 inline bool ConstraintProto::has_table() const {
9593  return _internal_has_table();
9594 }
9595 inline void ConstraintProto::set_has_table() {
9596  _oneof_case_[0] = kTable;
9597 }
9598 inline void ConstraintProto::clear_table() {
9599  if (_internal_has_table()) {
9600  if (GetArena() == nullptr) {
9601  delete constraint_.table_;
9602  }
9603  clear_has_constraint();
9604  }
9605 }
9606 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
9607  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
9608  if (_internal_has_table()) {
9609  clear_has_constraint();
9610  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
9611  if (GetArena() != nullptr) {
9612  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9613  }
9614  constraint_.table_ = nullptr;
9615  return temp;
9616  } else {
9617  return nullptr;
9618  }
9619 }
9620 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
9621  return _internal_has_table()
9622  ? *constraint_.table_
9624 }
9625 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
9626  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
9627  return _internal_table();
9628 }
9629 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::unsafe_arena_release_table() {
9630  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
9631  if (_internal_has_table()) {
9632  clear_has_constraint();
9633  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
9634  constraint_.table_ = nullptr;
9635  return temp;
9636  } else {
9637  return nullptr;
9638  }
9639 }
9640 inline void ConstraintProto::unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto* table) {
9641  clear_constraint();
9642  if (table) {
9643  set_has_table();
9644  constraint_.table_ = table;
9645  }
9646  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
9647 }
9648 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::_internal_mutable_table() {
9649  if (!_internal_has_table()) {
9650  clear_constraint();
9651  set_has_table();
9652  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(GetArena());
9653  }
9654  return constraint_.table_;
9655 }
9656 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
9657  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
9658  return _internal_mutable_table();
9659 }
9660 
9661 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
9662 inline bool ConstraintProto::_internal_has_automaton() const {
9663  return constraint_case() == kAutomaton;
9664 }
9665 inline bool ConstraintProto::has_automaton() const {
9666  return _internal_has_automaton();
9667 }
9668 inline void ConstraintProto::set_has_automaton() {
9669  _oneof_case_[0] = kAutomaton;
9670 }
9671 inline void ConstraintProto::clear_automaton() {
9672  if (_internal_has_automaton()) {
9673  if (GetArena() == nullptr) {
9674  delete constraint_.automaton_;
9675  }
9676  clear_has_constraint();
9677  }
9678 }
9679 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
9680  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
9681  if (_internal_has_automaton()) {
9682  clear_has_constraint();
9683  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
9684  if (GetArena() != nullptr) {
9685  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9686  }
9687  constraint_.automaton_ = nullptr;
9688  return temp;
9689  } else {
9690  return nullptr;
9691  }
9692 }
9693 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
9694  return _internal_has_automaton()
9695  ? *constraint_.automaton_
9697 }
9698 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
9699  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
9700  return _internal_automaton();
9701 }
9702 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::unsafe_arena_release_automaton() {
9703  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
9704  if (_internal_has_automaton()) {
9705  clear_has_constraint();
9706  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
9707  constraint_.automaton_ = nullptr;
9708  return temp;
9709  } else {
9710  return nullptr;
9711  }
9712 }
9713 inline void ConstraintProto::unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton) {
9714  clear_constraint();
9715  if (automaton) {
9716  set_has_automaton();
9717  constraint_.automaton_ = automaton;
9718  }
9719  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
9720 }
9721 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::_internal_mutable_automaton() {
9722  if (!_internal_has_automaton()) {
9723  clear_constraint();
9724  set_has_automaton();
9725  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(GetArena());
9726  }
9727  return constraint_.automaton_;
9728 }
9729 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
9730  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
9731  return _internal_mutable_automaton();
9732 }
9733 
9734 // .operations_research.sat.InverseConstraintProto inverse = 18;
9735 inline bool ConstraintProto::_internal_has_inverse() const {
9736  return constraint_case() == kInverse;
9737 }
9738 inline bool ConstraintProto::has_inverse() const {
9739  return _internal_has_inverse();
9740 }
9741 inline void ConstraintProto::set_has_inverse() {
9742  _oneof_case_[0] = kInverse;
9743 }
9744 inline void ConstraintProto::clear_inverse() {
9745  if (_internal_has_inverse()) {
9746  if (GetArena() == nullptr) {
9747  delete constraint_.inverse_;
9748  }
9749  clear_has_constraint();
9750  }
9751 }
9752 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
9753  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
9754  if (_internal_has_inverse()) {
9755  clear_has_constraint();
9756  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
9757  if (GetArena() != nullptr) {
9758  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9759  }
9760  constraint_.inverse_ = nullptr;
9761  return temp;
9762  } else {
9763  return nullptr;
9764  }
9765 }
9766 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
9767  return _internal_has_inverse()
9768  ? *constraint_.inverse_
9770 }
9771 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
9772  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
9773  return _internal_inverse();
9774 }
9775 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::unsafe_arena_release_inverse() {
9776  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
9777  if (_internal_has_inverse()) {
9778  clear_has_constraint();
9779  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
9780  constraint_.inverse_ = nullptr;
9781  return temp;
9782  } else {
9783  return nullptr;
9784  }
9785 }
9786 inline void ConstraintProto::unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse) {
9787  clear_constraint();
9788  if (inverse) {
9789  set_has_inverse();
9790  constraint_.inverse_ = inverse;
9791  }
9792  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
9793 }
9794 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::_internal_mutable_inverse() {
9795  if (!_internal_has_inverse()) {
9796  clear_constraint();
9797  set_has_inverse();
9798  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(GetArena());
9799  }
9800  return constraint_.inverse_;
9801 }
9802 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
9803  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
9804  return _internal_mutable_inverse();
9805 }
9806 
9807 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
9808 inline bool ConstraintProto::_internal_has_reservoir() const {
9809  return constraint_case() == kReservoir;
9810 }
9811 inline bool ConstraintProto::has_reservoir() const {
9812  return _internal_has_reservoir();
9813 }
9814 inline void ConstraintProto::set_has_reservoir() {
9815  _oneof_case_[0] = kReservoir;
9816 }
9817 inline void ConstraintProto::clear_reservoir() {
9818  if (_internal_has_reservoir()) {
9819  if (GetArena() == nullptr) {
9820  delete constraint_.reservoir_;
9821  }
9822  clear_has_constraint();
9823  }
9824 }
9825 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
9826  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
9827  if (_internal_has_reservoir()) {
9828  clear_has_constraint();
9829  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
9830  if (GetArena() != nullptr) {
9831  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9832  }
9833  constraint_.reservoir_ = nullptr;
9834  return temp;
9835  } else {
9836  return nullptr;
9837  }
9838 }
9839 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
9840  return _internal_has_reservoir()
9841  ? *constraint_.reservoir_
9843 }
9844 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
9845  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
9846  return _internal_reservoir();
9847 }
9848 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::unsafe_arena_release_reservoir() {
9849  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
9850  if (_internal_has_reservoir()) {
9851  clear_has_constraint();
9852  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
9853  constraint_.reservoir_ = nullptr;
9854  return temp;
9855  } else {
9856  return nullptr;
9857  }
9858 }
9859 inline void ConstraintProto::unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir) {
9860  clear_constraint();
9861  if (reservoir) {
9862  set_has_reservoir();
9863  constraint_.reservoir_ = reservoir;
9864  }
9865  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
9866 }
9867 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::_internal_mutable_reservoir() {
9868  if (!_internal_has_reservoir()) {
9869  clear_constraint();
9870  set_has_reservoir();
9871  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(GetArena());
9872  }
9873  return constraint_.reservoir_;
9874 }
9875 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
9876  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
9877  return _internal_mutable_reservoir();
9878 }
9879 
9880 // .operations_research.sat.IntervalConstraintProto interval = 19;
9881 inline bool ConstraintProto::_internal_has_interval() const {
9882  return constraint_case() == kInterval;
9883 }
9884 inline bool ConstraintProto::has_interval() const {
9885  return _internal_has_interval();
9886 }
9887 inline void ConstraintProto::set_has_interval() {
9888  _oneof_case_[0] = kInterval;
9889 }
9890 inline void ConstraintProto::clear_interval() {
9891  if (_internal_has_interval()) {
9892  if (GetArena() == nullptr) {
9893  delete constraint_.interval_;
9894  }
9895  clear_has_constraint();
9896  }
9897 }
9898 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
9899  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
9900  if (_internal_has_interval()) {
9901  clear_has_constraint();
9902  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
9903  if (GetArena() != nullptr) {
9904  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9905  }
9906  constraint_.interval_ = nullptr;
9907  return temp;
9908  } else {
9909  return nullptr;
9910  }
9911 }
9912 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
9913  return _internal_has_interval()
9914  ? *constraint_.interval_
9916 }
9917 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
9918  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
9919  return _internal_interval();
9920 }
9921 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::unsafe_arena_release_interval() {
9922  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
9923  if (_internal_has_interval()) {
9924  clear_has_constraint();
9925  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
9926  constraint_.interval_ = nullptr;
9927  return temp;
9928  } else {
9929  return nullptr;
9930  }
9931 }
9932 inline void ConstraintProto::unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval) {
9933  clear_constraint();
9934  if (interval) {
9935  set_has_interval();
9936  constraint_.interval_ = interval;
9937  }
9938  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
9939 }
9940 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::_internal_mutable_interval() {
9941  if (!_internal_has_interval()) {
9942  clear_constraint();
9943  set_has_interval();
9944  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(GetArena());
9945  }
9946  return constraint_.interval_;
9947 }
9948 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
9949  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
9950  return _internal_mutable_interval();
9951 }
9952 
9953 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
9954 inline bool ConstraintProto::_internal_has_no_overlap() const {
9955  return constraint_case() == kNoOverlap;
9956 }
9957 inline bool ConstraintProto::has_no_overlap() const {
9958  return _internal_has_no_overlap();
9959 }
9960 inline void ConstraintProto::set_has_no_overlap() {
9961  _oneof_case_[0] = kNoOverlap;
9962 }
9963 inline void ConstraintProto::clear_no_overlap() {
9964  if (_internal_has_no_overlap()) {
9965  if (GetArena() == nullptr) {
9966  delete constraint_.no_overlap_;
9967  }
9968  clear_has_constraint();
9969  }
9970 }
9971 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
9972  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
9973  if (_internal_has_no_overlap()) {
9974  clear_has_constraint();
9975  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
9976  if (GetArena() != nullptr) {
9977  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9978  }
9979  constraint_.no_overlap_ = nullptr;
9980  return temp;
9981  } else {
9982  return nullptr;
9983  }
9984 }
9985 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
9986  return _internal_has_no_overlap()
9987  ? *constraint_.no_overlap_
9989 }
9990 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
9991  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
9992  return _internal_no_overlap();
9993 }
9994 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap() {
9995  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
9996  if (_internal_has_no_overlap()) {
9997  clear_has_constraint();
9998  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
9999  constraint_.no_overlap_ = nullptr;
10000  return temp;
10001  } else {
10002  return nullptr;
10003  }
10004 }
10005 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap) {
10006  clear_constraint();
10007  if (no_overlap) {
10008  set_has_no_overlap();
10009  constraint_.no_overlap_ = no_overlap;
10010  }
10011  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
10012 }
10013 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::_internal_mutable_no_overlap() {
10014  if (!_internal_has_no_overlap()) {
10015  clear_constraint();
10016  set_has_no_overlap();
10017  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(GetArena());
10018  }
10019  return constraint_.no_overlap_;
10020 }
10021 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
10022  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
10023  return _internal_mutable_no_overlap();
10024 }
10025 
10026 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
10027 inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
10028  return constraint_case() == kNoOverlap2D;
10029 }
10030 inline bool ConstraintProto::has_no_overlap_2d() const {
10031  return _internal_has_no_overlap_2d();
10032 }
10033 inline void ConstraintProto::set_has_no_overlap_2d() {
10034  _oneof_case_[0] = kNoOverlap2D;
10035 }
10036 inline void ConstraintProto::clear_no_overlap_2d() {
10037  if (_internal_has_no_overlap_2d()) {
10038  if (GetArena() == nullptr) {
10039  delete constraint_.no_overlap_2d_;
10040  }
10041  clear_has_constraint();
10042  }
10043 }
10044 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
10045  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10046  if (_internal_has_no_overlap_2d()) {
10047  clear_has_constraint();
10048  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10049  if (GetArena() != nullptr) {
10050  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10051  }
10052  constraint_.no_overlap_2d_ = nullptr;
10053  return temp;
10054  } else {
10055  return nullptr;
10056  }
10057 }
10058 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
10059  return _internal_has_no_overlap_2d()
10060  ? *constraint_.no_overlap_2d_
10062 }
10063 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
10064  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
10065  return _internal_no_overlap_2d();
10066 }
10067 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap_2d() {
10068  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10069  if (_internal_has_no_overlap_2d()) {
10070  clear_has_constraint();
10071  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10072  constraint_.no_overlap_2d_ = nullptr;
10073  return temp;
10074  } else {
10075  return nullptr;
10076  }
10077 }
10078 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d) {
10079  clear_constraint();
10080  if (no_overlap_2d) {
10081  set_has_no_overlap_2d();
10082  constraint_.no_overlap_2d_ = no_overlap_2d;
10083  }
10084  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
10085 }
10086 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::_internal_mutable_no_overlap_2d() {
10087  if (!_internal_has_no_overlap_2d()) {
10088  clear_constraint();
10089  set_has_no_overlap_2d();
10090  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(GetArena());
10091  }
10092  return constraint_.no_overlap_2d_;
10093 }
10094 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
10095  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
10096  return _internal_mutable_no_overlap_2d();
10097 }
10098 
10099 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
10100 inline bool ConstraintProto::_internal_has_cumulative() const {
10101  return constraint_case() == kCumulative;
10102 }
10103 inline bool ConstraintProto::has_cumulative() const {
10104  return _internal_has_cumulative();
10105 }
10106 inline void ConstraintProto::set_has_cumulative() {
10107  _oneof_case_[0] = kCumulative;
10108 }
10109 inline void ConstraintProto::clear_cumulative() {
10110  if (_internal_has_cumulative()) {
10111  if (GetArena() == nullptr) {
10112  delete constraint_.cumulative_;
10113  }
10114  clear_has_constraint();
10115  }
10116 }
10117 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
10118  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
10119  if (_internal_has_cumulative()) {
10120  clear_has_constraint();
10121  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10122  if (GetArena() != nullptr) {
10123  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10124  }
10125  constraint_.cumulative_ = nullptr;
10126  return temp;
10127  } else {
10128  return nullptr;
10129  }
10130 }
10131 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
10132  return _internal_has_cumulative()
10133  ? *constraint_.cumulative_
10135 }
10136 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
10137  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
10138  return _internal_cumulative();
10139 }
10140 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::unsafe_arena_release_cumulative() {
10141  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
10142  if (_internal_has_cumulative()) {
10143  clear_has_constraint();
10144  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10145  constraint_.cumulative_ = nullptr;
10146  return temp;
10147  } else {
10148  return nullptr;
10149  }
10150 }
10151 inline void ConstraintProto::unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative) {
10152  clear_constraint();
10153  if (cumulative) {
10154  set_has_cumulative();
10155  constraint_.cumulative_ = cumulative;
10156  }
10157  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
10158 }
10159 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::_internal_mutable_cumulative() {
10160  if (!_internal_has_cumulative()) {
10161  clear_constraint();
10162  set_has_cumulative();
10163  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(GetArena());
10164  }
10165  return constraint_.cumulative_;
10166 }
10167 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
10168  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
10169  return _internal_mutable_cumulative();
10170 }
10171 
10172 inline bool ConstraintProto::has_constraint() const {
10173  return constraint_case() != CONSTRAINT_NOT_SET;
10174 }
10175 inline void ConstraintProto::clear_has_constraint() {
10176  _oneof_case_[0] = CONSTRAINT_NOT_SET;
10177 }
10178 inline ConstraintProto::ConstraintCase ConstraintProto::constraint_case() const {
10179  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
10180 }
10181 // -------------------------------------------------------------------
10182 
10183 // CpObjectiveProto
10184 
10185 // repeated int32 vars = 1;
10186 inline int CpObjectiveProto::_internal_vars_size() const {
10187  return vars_.size();
10188 }
10189 inline int CpObjectiveProto::vars_size() const {
10190  return _internal_vars_size();
10191 }
10192 inline void CpObjectiveProto::clear_vars() {
10193  vars_.Clear();
10194 }
10195 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::_internal_vars(int index) const {
10196  return vars_.Get(index);
10197 }
10198 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::vars(int index) const {
10199  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
10200  return _internal_vars(index);
10201 }
10202 inline void CpObjectiveProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10203  vars_.Set(index, value);
10204  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
10205 }
10206 inline void CpObjectiveProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10207  vars_.Add(value);
10208 }
10209 inline void CpObjectiveProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10210  _internal_add_vars(value);
10211  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
10212 }
10213 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10214 CpObjectiveProto::_internal_vars() const {
10215  return vars_;
10216 }
10217 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10218 CpObjectiveProto::vars() const {
10219  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
10220  return _internal_vars();
10221 }
10222 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10223 CpObjectiveProto::_internal_mutable_vars() {
10224  return &vars_;
10225 }
10226 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10227 CpObjectiveProto::mutable_vars() {
10228  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
10229  return _internal_mutable_vars();
10230 }
10231 
10232 // repeated int64 coeffs = 4;
10233 inline int CpObjectiveProto::_internal_coeffs_size() const {
10234  return coeffs_.size();
10235 }
10236 inline int CpObjectiveProto::coeffs_size() const {
10237  return _internal_coeffs_size();
10238 }
10239 inline void CpObjectiveProto::clear_coeffs() {
10240  coeffs_.Clear();
10241 }
10242 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_coeffs(int index) const {
10243  return coeffs_.Get(index);
10244 }
10245 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::coeffs(int index) const {
10246  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
10247  return _internal_coeffs(index);
10248 }
10249 inline void CpObjectiveProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10250  coeffs_.Set(index, value);
10251  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
10252 }
10253 inline void CpObjectiveProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10254  coeffs_.Add(value);
10255 }
10256 inline void CpObjectiveProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10257  _internal_add_coeffs(value);
10258  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
10259 }
10260 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10261 CpObjectiveProto::_internal_coeffs() const {
10262  return coeffs_;
10263 }
10264 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10265 CpObjectiveProto::coeffs() const {
10266  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
10267  return _internal_coeffs();
10268 }
10269 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10270 CpObjectiveProto::_internal_mutable_coeffs() {
10271  return &coeffs_;
10272 }
10273 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10274 CpObjectiveProto::mutable_coeffs() {
10275  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
10276  return _internal_mutable_coeffs();
10277 }
10278 
10279 // double offset = 2;
10280 inline void CpObjectiveProto::clear_offset() {
10281  offset_ = 0;
10282 }
10283 inline double CpObjectiveProto::_internal_offset() const {
10284  return offset_;
10285 }
10286 inline double CpObjectiveProto::offset() const {
10287  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
10288  return _internal_offset();
10289 }
10290 inline void CpObjectiveProto::_internal_set_offset(double value) {
10291 
10292  offset_ = value;
10293 }
10294 inline void CpObjectiveProto::set_offset(double value) {
10295  _internal_set_offset(value);
10296  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
10297 }
10298 
10299 // double scaling_factor = 3;
10300 inline void CpObjectiveProto::clear_scaling_factor() {
10301  scaling_factor_ = 0;
10302 }
10303 inline double CpObjectiveProto::_internal_scaling_factor() const {
10304  return scaling_factor_;
10305 }
10306 inline double CpObjectiveProto::scaling_factor() const {
10307  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
10308  return _internal_scaling_factor();
10309 }
10310 inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
10311 
10312  scaling_factor_ = value;
10313 }
10314 inline void CpObjectiveProto::set_scaling_factor(double value) {
10315  _internal_set_scaling_factor(value);
10316  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
10317 }
10318 
10319 // repeated int64 domain = 5;
10320 inline int CpObjectiveProto::_internal_domain_size() const {
10321  return domain_.size();
10322 }
10323 inline int CpObjectiveProto::domain_size() const {
10324  return _internal_domain_size();
10325 }
10326 inline void CpObjectiveProto::clear_domain() {
10327  domain_.Clear();
10328 }
10329 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_domain(int index) const {
10330  return domain_.Get(index);
10331 }
10332 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::domain(int index) const {
10333  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
10334  return _internal_domain(index);
10335 }
10336 inline void CpObjectiveProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10337  domain_.Set(index, value);
10338  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
10339 }
10340 inline void CpObjectiveProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10341  domain_.Add(value);
10342 }
10343 inline void CpObjectiveProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10344  _internal_add_domain(value);
10345  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
10346 }
10347 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10348 CpObjectiveProto::_internal_domain() const {
10349  return domain_;
10350 }
10351 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10352 CpObjectiveProto::domain() const {
10353  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
10354  return _internal_domain();
10355 }
10356 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10357 CpObjectiveProto::_internal_mutable_domain() {
10358  return &domain_;
10359 }
10360 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10361 CpObjectiveProto::mutable_domain() {
10362  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
10363  return _internal_mutable_domain();
10364 }
10365 
10366 // -------------------------------------------------------------------
10367 
10368 // DecisionStrategyProto_AffineTransformation
10369 
10370 // int32 var = 1;
10371 inline void DecisionStrategyProto_AffineTransformation::clear_var() {
10372  var_ = 0;
10373 }
10374 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::_internal_var() const {
10375  return var_;
10376 }
10378  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10379  return _internal_var();
10380 }
10381 inline void DecisionStrategyProto_AffineTransformation::_internal_set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10382 
10383  var_ = value;
10384 }
10385 inline void DecisionStrategyProto_AffineTransformation::set_var(::PROTOBUF_NAMESPACE_ID::int32 value) {
10386  _internal_set_var(value);
10387  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.var)
10388 }
10389 
10390 // int64 offset = 2;
10391 inline void DecisionStrategyProto_AffineTransformation::clear_offset() {
10392  offset_ = PROTOBUF_LONGLONG(0);
10393 }
10394 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_offset() const {
10395  return offset_;
10396 }
10397 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::offset() const {
10398  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10399  return _internal_offset();
10400 }
10401 inline void DecisionStrategyProto_AffineTransformation::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10402 
10403  offset_ = value;
10404 }
10405 inline void DecisionStrategyProto_AffineTransformation::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
10406  _internal_set_offset(value);
10407  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
10408 }
10409 
10410 // int64 positive_coeff = 3;
10411 inline void DecisionStrategyProto_AffineTransformation::clear_positive_coeff() {
10412  positive_coeff_ = PROTOBUF_LONGLONG(0);
10413 }
10414 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_positive_coeff() const {
10415  return positive_coeff_;
10416 }
10417 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::positive_coeff() const {
10418  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
10419  return _internal_positive_coeff();
10420 }
10421 inline void DecisionStrategyProto_AffineTransformation::_internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
10422 
10423  positive_coeff_ = value;
10424 }
10425 inline void DecisionStrategyProto_AffineTransformation::set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
10426  _internal_set_positive_coeff(value);
10427  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
10428 }
10429 
10430 // -------------------------------------------------------------------
10431 
10432 // DecisionStrategyProto
10433 
10434 // repeated int32 variables = 1;
10435 inline int DecisionStrategyProto::_internal_variables_size() const {
10436  return variables_.size();
10437 }
10438 inline int DecisionStrategyProto::variables_size() const {
10439  return _internal_variables_size();
10440 }
10441 inline void DecisionStrategyProto::clear_variables() {
10442  variables_.Clear();
10443 }
10444 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::_internal_variables(int index) const {
10445  return variables_.Get(index);
10446 }
10447 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::variables(int index) const {
10448  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
10449  return _internal_variables(index);
10450 }
10451 inline void DecisionStrategyProto::set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10452  variables_.Set(index, value);
10453  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
10454 }
10455 inline void DecisionStrategyProto::_internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
10456  variables_.Add(value);
10457 }
10458 inline void DecisionStrategyProto::add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
10459  _internal_add_variables(value);
10460  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
10461 }
10462 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10463 DecisionStrategyProto::_internal_variables() const {
10464  return variables_;
10465 }
10466 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10467 DecisionStrategyProto::variables() const {
10468  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
10469  return _internal_variables();
10470 }
10471 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10472 DecisionStrategyProto::_internal_mutable_variables() {
10473  return &variables_;
10474 }
10475 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10476 DecisionStrategyProto::mutable_variables() {
10477  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
10478  return _internal_mutable_variables();
10479 }
10480 
10481 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
10482 inline void DecisionStrategyProto::clear_variable_selection_strategy() {
10483  variable_selection_strategy_ = 0;
10484 }
10485 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
10486  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
10487 }
10488 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::variable_selection_strategy() const {
10489  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
10490  return _internal_variable_selection_strategy();
10491 }
10492 inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
10493 
10494  variable_selection_strategy_ = value;
10495 }
10496 inline void DecisionStrategyProto::set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
10497  _internal_set_variable_selection_strategy(value);
10498  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
10499 }
10500 
10501 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
10502 inline void DecisionStrategyProto::clear_domain_reduction_strategy() {
10503  domain_reduction_strategy_ = 0;
10504 }
10505 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
10506  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
10507 }
10508 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::domain_reduction_strategy() const {
10509  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
10510  return _internal_domain_reduction_strategy();
10511 }
10512 inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
10513 
10514  domain_reduction_strategy_ = value;
10515 }
10516 inline void DecisionStrategyProto::set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
10517  _internal_set_domain_reduction_strategy(value);
10518  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
10519 }
10520 
10521 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
10522 inline int DecisionStrategyProto::_internal_transformations_size() const {
10523  return transformations_.size();
10524 }
10525 inline int DecisionStrategyProto::transformations_size() const {
10526  return _internal_transformations_size();
10527 }
10528 inline void DecisionStrategyProto::clear_transformations() {
10529  transformations_.Clear();
10530 }
10531 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
10532  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
10533  return transformations_.Mutable(index);
10534 }
10535 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
10536 DecisionStrategyProto::mutable_transformations() {
10537  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
10538  return &transformations_;
10539 }
10540 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::_internal_transformations(int index) const {
10541  return transformations_.Get(index);
10542 }
10543 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
10544  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
10545  return _internal_transformations(index);
10546 }
10547 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::_internal_add_transformations() {
10548  return transformations_.Add();
10549 }
10550 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
10551  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
10552  return _internal_add_transformations();
10553 }
10554 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
10555 DecisionStrategyProto::transformations() const {
10556  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
10557  return transformations_;
10558 }
10559 
10560 // -------------------------------------------------------------------
10561 
10562 // PartialVariableAssignment
10563 
10564 // repeated int32 vars = 1;
10565 inline int PartialVariableAssignment::_internal_vars_size() const {
10566  return vars_.size();
10567 }
10568 inline int PartialVariableAssignment::vars_size() const {
10569  return _internal_vars_size();
10570 }
10571 inline void PartialVariableAssignment::clear_vars() {
10572  vars_.Clear();
10573 }
10574 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::_internal_vars(int index) const {
10575  return vars_.Get(index);
10576 }
10577 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::vars(int index) const {
10578  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
10579  return _internal_vars(index);
10580 }
10581 inline void PartialVariableAssignment::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10582  vars_.Set(index, value);
10583  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
10584 }
10585 inline void PartialVariableAssignment::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10586  vars_.Add(value);
10587 }
10588 inline void PartialVariableAssignment::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10589  _internal_add_vars(value);
10590  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
10591 }
10592 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10593 PartialVariableAssignment::_internal_vars() const {
10594  return vars_;
10595 }
10596 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10597 PartialVariableAssignment::vars() const {
10598  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
10599  return _internal_vars();
10600 }
10601 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10602 PartialVariableAssignment::_internal_mutable_vars() {
10603  return &vars_;
10604 }
10605 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10606 PartialVariableAssignment::mutable_vars() {
10607  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
10608  return _internal_mutable_vars();
10609 }
10610 
10611 // repeated int64 values = 2;
10612 inline int PartialVariableAssignment::_internal_values_size() const {
10613  return values_.size();
10614 }
10615 inline int PartialVariableAssignment::values_size() const {
10616  return _internal_values_size();
10617 }
10618 inline void PartialVariableAssignment::clear_values() {
10619  values_.Clear();
10620 }
10621 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::_internal_values(int index) const {
10622  return values_.Get(index);
10623 }
10624 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::values(int index) const {
10625  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
10626  return _internal_values(index);
10627 }
10628 inline void PartialVariableAssignment::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10629  values_.Set(index, value);
10630  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
10631 }
10632 inline void PartialVariableAssignment::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
10633  values_.Add(value);
10634 }
10635 inline void PartialVariableAssignment::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
10636  _internal_add_values(value);
10637  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
10638 }
10639 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10640 PartialVariableAssignment::_internal_values() const {
10641  return values_;
10642 }
10643 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10644 PartialVariableAssignment::values() const {
10645  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
10646  return _internal_values();
10647 }
10648 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10649 PartialVariableAssignment::_internal_mutable_values() {
10650  return &values_;
10651 }
10652 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10653 PartialVariableAssignment::mutable_values() {
10654  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
10655  return _internal_mutable_values();
10656 }
10657 
10658 // -------------------------------------------------------------------
10659 
10660 // CpModelProto
10661 
10662 // string name = 1;
10663 inline void CpModelProto::clear_name() {
10664  name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
10665 }
10666 inline const std::string& CpModelProto::name() const {
10667  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
10668  return _internal_name();
10669 }
10670 inline void CpModelProto::set_name(const std::string& value) {
10671  _internal_set_name(value);
10672  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
10673 }
10674 inline std::string* CpModelProto::mutable_name() {
10675  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
10676  return _internal_mutable_name();
10677 }
10678 inline const std::string& CpModelProto::_internal_name() const {
10679  return name_.Get();
10680 }
10681 inline void CpModelProto::_internal_set_name(const std::string& value) {
10682 
10683  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
10684 }
10685 inline void CpModelProto::set_name(std::string&& value) {
10686 
10687  name_.Set(
10688  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
10689  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpModelProto.name)
10690 }
10691 inline void CpModelProto::set_name(const char* value) {
10692  GOOGLE_DCHECK(value != nullptr);
10693 
10694  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
10695  GetArena());
10696  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpModelProto.name)
10697 }
10698 inline void CpModelProto::set_name(const char* value,
10699  size_t size) {
10700 
10701  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
10702  reinterpret_cast<const char*>(value), size), GetArena());
10703  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpModelProto.name)
10704 }
10705 inline std::string* CpModelProto::_internal_mutable_name() {
10706 
10707  return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
10708 }
10709 inline std::string* CpModelProto::release_name() {
10710  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
10711  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
10712 }
10713 inline void CpModelProto::set_allocated_name(std::string* name) {
10714  if (name != nullptr) {
10715 
10716  } else {
10717 
10718  }
10719  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
10720  GetArena());
10721  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
10722 }
10723 
10724 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
10725 inline int CpModelProto::_internal_variables_size() const {
10726  return variables_.size();
10727 }
10728 inline int CpModelProto::variables_size() const {
10729  return _internal_variables_size();
10730 }
10731 inline void CpModelProto::clear_variables() {
10732  variables_.Clear();
10733 }
10734 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
10735  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
10736  return variables_.Mutable(index);
10737 }
10738 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
10739 CpModelProto::mutable_variables() {
10740  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
10741  return &variables_;
10742 }
10743 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::_internal_variables(int index) const {
10744  return variables_.Get(index);
10745 }
10746 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
10747  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
10748  return _internal_variables(index);
10749 }
10750 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::_internal_add_variables() {
10751  return variables_.Add();
10752 }
10753 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
10754  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
10755  return _internal_add_variables();
10756 }
10757 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
10758 CpModelProto::variables() const {
10759  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
10760  return variables_;
10761 }
10762 
10763 // repeated .operations_research.sat.ConstraintProto constraints = 3;
10764 inline int CpModelProto::_internal_constraints_size() const {
10765  return constraints_.size();
10766 }
10767 inline int CpModelProto::constraints_size() const {
10768  return _internal_constraints_size();
10769 }
10770 inline void CpModelProto::clear_constraints() {
10771  constraints_.Clear();
10772 }
10773 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
10774  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
10775  return constraints_.Mutable(index);
10776 }
10777 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
10778 CpModelProto::mutable_constraints() {
10779  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
10780  return &constraints_;
10781 }
10782 inline const ::operations_research::sat::ConstraintProto& CpModelProto::_internal_constraints(int index) const {
10783  return constraints_.Get(index);
10784 }
10785 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
10786  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
10787  return _internal_constraints(index);
10788 }
10789 inline ::operations_research::sat::ConstraintProto* CpModelProto::_internal_add_constraints() {
10790  return constraints_.Add();
10791 }
10792 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
10793  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
10794  return _internal_add_constraints();
10795 }
10796 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
10797 CpModelProto::constraints() const {
10798  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
10799  return constraints_;
10800 }
10801 
10802 // .operations_research.sat.CpObjectiveProto objective = 4;
10803 inline bool CpModelProto::_internal_has_objective() const {
10804  return this != internal_default_instance() && objective_ != nullptr;
10805 }
10806 inline bool CpModelProto::has_objective() const {
10807  return _internal_has_objective();
10808 }
10809 inline void CpModelProto::clear_objective() {
10810  if (GetArena() == nullptr && objective_ != nullptr) {
10811  delete objective_;
10812  }
10813  objective_ = nullptr;
10814 }
10815 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
10816  const ::operations_research::sat::CpObjectiveProto* p = objective_;
10817  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::CpObjectiveProto*>(
10819 }
10820 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
10821  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
10822  return _internal_objective();
10823 }
10824 inline void CpModelProto::unsafe_arena_set_allocated_objective(
10826  if (GetArena() == nullptr) {
10827  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
10828  }
10829  objective_ = objective;
10830  if (objective) {
10831 
10832  } else {
10833 
10834  }
10835  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
10836 }
10837 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
10838 
10839  ::operations_research::sat::CpObjectiveProto* temp = objective_;
10840  objective_ = nullptr;
10841  if (GetArena() != nullptr) {
10842  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10843  }
10844  return temp;
10845 }
10846 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::unsafe_arena_release_objective() {
10847  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
10848 
10849  ::operations_research::sat::CpObjectiveProto* temp = objective_;
10850  objective_ = nullptr;
10851  return temp;
10852 }
10853 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::_internal_mutable_objective() {
10854 
10855  if (objective_ == nullptr) {
10856  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArena());
10857  objective_ = p;
10858  }
10859  return objective_;
10860 }
10861 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
10862  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
10863  return _internal_mutable_objective();
10864 }
10865 inline void CpModelProto::set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective) {
10866  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
10867  if (message_arena == nullptr) {
10868  delete objective_;
10869  }
10870  if (objective) {
10871  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
10872  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(objective);
10873  if (message_arena != submessage_arena) {
10874  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
10875  message_arena, objective, submessage_arena);
10876  }
10877 
10878  } else {
10879 
10880  }
10881  objective_ = objective;
10882  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
10883 }
10884 
10885 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
10886 inline int CpModelProto::_internal_search_strategy_size() const {
10887  return search_strategy_.size();
10888 }
10889 inline int CpModelProto::search_strategy_size() const {
10890  return _internal_search_strategy_size();
10891 }
10892 inline void CpModelProto::clear_search_strategy() {
10893  search_strategy_.Clear();
10894 }
10895 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
10896  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
10897  return search_strategy_.Mutable(index);
10898 }
10899 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
10900 CpModelProto::mutable_search_strategy() {
10901  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
10902  return &search_strategy_;
10903 }
10904 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::_internal_search_strategy(int index) const {
10905  return search_strategy_.Get(index);
10906 }
10907 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
10908  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
10909  return _internal_search_strategy(index);
10910 }
10911 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::_internal_add_search_strategy() {
10912  return search_strategy_.Add();
10913 }
10914 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
10915  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
10916  return _internal_add_search_strategy();
10917 }
10918 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
10919 CpModelProto::search_strategy() const {
10920  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
10921  return search_strategy_;
10922 }
10923 
10924 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
10925 inline bool CpModelProto::_internal_has_solution_hint() const {
10926  return this != internal_default_instance() && solution_hint_ != nullptr;
10927 }
10928 inline bool CpModelProto::has_solution_hint() const {
10929  return _internal_has_solution_hint();
10930 }
10931 inline void CpModelProto::clear_solution_hint() {
10932  if (GetArena() == nullptr && solution_hint_ != nullptr) {
10933  delete solution_hint_;
10934  }
10935  solution_hint_ = nullptr;
10936 }
10937 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
10938  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
10939  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment*>(
10941 }
10942 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
10943  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
10944  return _internal_solution_hint();
10945 }
10946 inline void CpModelProto::unsafe_arena_set_allocated_solution_hint(
10948  if (GetArena() == nullptr) {
10949  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
10950  }
10951  solution_hint_ = solution_hint;
10952  if (solution_hint) {
10953 
10954  } else {
10955 
10956  }
10957  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
10958 }
10959 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
10960 
10961  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
10962  solution_hint_ = nullptr;
10963  if (GetArena() != nullptr) {
10964  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10965  }
10966  return temp;
10967 }
10968 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::unsafe_arena_release_solution_hint() {
10969  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
10970 
10971  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
10972  solution_hint_ = nullptr;
10973  return temp;
10974 }
10975 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::_internal_mutable_solution_hint() {
10976 
10977  if (solution_hint_ == nullptr) {
10978  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArena());
10979  solution_hint_ = p;
10980  }
10981  return solution_hint_;
10982 }
10983 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
10984  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
10985  return _internal_mutable_solution_hint();
10986 }
10987 inline void CpModelProto::set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint) {
10988  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
10989  if (message_arena == nullptr) {
10990  delete solution_hint_;
10991  }
10992  if (solution_hint) {
10993  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
10994  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(solution_hint);
10995  if (message_arena != submessage_arena) {
10996  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
10997  message_arena, solution_hint, submessage_arena);
10998  }
10999 
11000  } else {
11001 
11002  }
11003  solution_hint_ = solution_hint;
11004  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11005 }
11006 
11007 // repeated int32 assumptions = 7;
11008 inline int CpModelProto::_internal_assumptions_size() const {
11009  return assumptions_.size();
11010 }
11011 inline int CpModelProto::assumptions_size() const {
11012  return _internal_assumptions_size();
11013 }
11014 inline void CpModelProto::clear_assumptions() {
11015  assumptions_.Clear();
11016 }
11017 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::_internal_assumptions(int index) const {
11018  return assumptions_.Get(index);
11019 }
11020 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::assumptions(int index) const {
11021  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
11022  return _internal_assumptions(index);
11023 }
11024 inline void CpModelProto::set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11025  assumptions_.Set(index, value);
11026  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
11027 }
11028 inline void CpModelProto::_internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11029  assumptions_.Add(value);
11030 }
11031 inline void CpModelProto::add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11032  _internal_add_assumptions(value);
11033  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
11034 }
11035 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11036 CpModelProto::_internal_assumptions() const {
11037  return assumptions_;
11038 }
11039 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11040 CpModelProto::assumptions() const {
11041  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
11042  return _internal_assumptions();
11043 }
11044 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11045 CpModelProto::_internal_mutable_assumptions() {
11046  return &assumptions_;
11047 }
11048 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11049 CpModelProto::mutable_assumptions() {
11050  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
11051  return _internal_mutable_assumptions();
11052 }
11053 
11054 // -------------------------------------------------------------------
11055 
11056 // CpSolverResponse
11057 
11058 // .operations_research.sat.CpSolverStatus status = 1;
11059 inline void CpSolverResponse::clear_status() {
11060  status_ = 0;
11061 }
11062 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
11063  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
11064 }
11065 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::status() const {
11066  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
11067  return _internal_status();
11068 }
11069 inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
11070 
11071  status_ = value;
11072 }
11073 inline void CpSolverResponse::set_status(::operations_research::sat::CpSolverStatus value) {
11074  _internal_set_status(value);
11075  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
11076 }
11077 
11078 // repeated int64 solution = 2;
11079 inline int CpSolverResponse::_internal_solution_size() const {
11080  return solution_.size();
11081 }
11082 inline int CpSolverResponse::solution_size() const {
11083  return _internal_solution_size();
11084 }
11085 inline void CpSolverResponse::clear_solution() {
11086  solution_.Clear();
11087 }
11088 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution(int index) const {
11089  return solution_.Get(index);
11090 }
11091 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution(int index) const {
11092  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
11093  return _internal_solution(index);
11094 }
11095 inline void CpSolverResponse::set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11096  solution_.Set(index, value);
11097  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
11098 }
11099 inline void CpSolverResponse::_internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
11100  solution_.Add(value);
11101 }
11102 inline void CpSolverResponse::add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
11103  _internal_add_solution(value);
11104  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
11105 }
11106 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11107 CpSolverResponse::_internal_solution() const {
11108  return solution_;
11109 }
11110 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11111 CpSolverResponse::solution() const {
11112  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
11113  return _internal_solution();
11114 }
11115 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11116 CpSolverResponse::_internal_mutable_solution() {
11117  return &solution_;
11118 }
11119 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11120 CpSolverResponse::mutable_solution() {
11121  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
11122  return _internal_mutable_solution();
11123 }
11124 
11125 // double objective_value = 3;
11126 inline void CpSolverResponse::clear_objective_value() {
11127  objective_value_ = 0;
11128 }
11129 inline double CpSolverResponse::_internal_objective_value() const {
11130  return objective_value_;
11131 }
11132 inline double CpSolverResponse::objective_value() const {
11133  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
11134  return _internal_objective_value();
11135 }
11136 inline void CpSolverResponse::_internal_set_objective_value(double value) {
11137 
11138  objective_value_ = value;
11139 }
11140 inline void CpSolverResponse::set_objective_value(double value) {
11141  _internal_set_objective_value(value);
11142  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
11143 }
11144 
11145 // double best_objective_bound = 4;
11146 inline void CpSolverResponse::clear_best_objective_bound() {
11147  best_objective_bound_ = 0;
11148 }
11149 inline double CpSolverResponse::_internal_best_objective_bound() const {
11150  return best_objective_bound_;
11151 }
11152 inline double CpSolverResponse::best_objective_bound() const {
11153  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
11154  return _internal_best_objective_bound();
11155 }
11156 inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
11157 
11158  best_objective_bound_ = value;
11159 }
11160 inline void CpSolverResponse::set_best_objective_bound(double value) {
11161  _internal_set_best_objective_bound(value);
11162  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
11163 }
11164 
11165 // repeated int64 solution_lower_bounds = 18;
11166 inline int CpSolverResponse::_internal_solution_lower_bounds_size() const {
11167  return solution_lower_bounds_.size();
11168 }
11169 inline int CpSolverResponse::solution_lower_bounds_size() const {
11170  return _internal_solution_lower_bounds_size();
11171 }
11172 inline void CpSolverResponse::clear_solution_lower_bounds() {
11173  solution_lower_bounds_.Clear();
11174 }
11175 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_lower_bounds(int index) const {
11176  return solution_lower_bounds_.Get(index);
11177 }
11178 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_lower_bounds(int index) const {
11179  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11180  return _internal_solution_lower_bounds(index);
11181 }
11182 inline void CpSolverResponse::set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11183  solution_lower_bounds_.Set(index, value);
11184  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11185 }
11186 inline void CpSolverResponse::_internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11187  solution_lower_bounds_.Add(value);
11188 }
11189 inline void CpSolverResponse::add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11190  _internal_add_solution_lower_bounds(value);
11191  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11192 }
11193 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11194 CpSolverResponse::_internal_solution_lower_bounds() const {
11195  return solution_lower_bounds_;
11196 }
11197 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11198 CpSolverResponse::solution_lower_bounds() const {
11199  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11200  return _internal_solution_lower_bounds();
11201 }
11202 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11203 CpSolverResponse::_internal_mutable_solution_lower_bounds() {
11204  return &solution_lower_bounds_;
11205 }
11206 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11207 CpSolverResponse::mutable_solution_lower_bounds() {
11208  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
11209  return _internal_mutable_solution_lower_bounds();
11210 }
11211 
11212 // repeated int64 solution_upper_bounds = 19;
11213 inline int CpSolverResponse::_internal_solution_upper_bounds_size() const {
11214  return solution_upper_bounds_.size();
11215 }
11216 inline int CpSolverResponse::solution_upper_bounds_size() const {
11217  return _internal_solution_upper_bounds_size();
11218 }
11219 inline void CpSolverResponse::clear_solution_upper_bounds() {
11220  solution_upper_bounds_.Clear();
11221 }
11222 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_upper_bounds(int index) const {
11223  return solution_upper_bounds_.Get(index);
11224 }
11225 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_upper_bounds(int index) const {
11226  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11227  return _internal_solution_upper_bounds(index);
11228 }
11229 inline void CpSolverResponse::set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11230  solution_upper_bounds_.Set(index, value);
11231  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11232 }
11233 inline void CpSolverResponse::_internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11234  solution_upper_bounds_.Add(value);
11235 }
11236 inline void CpSolverResponse::add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
11237  _internal_add_solution_upper_bounds(value);
11238  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11239 }
11240 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11241 CpSolverResponse::_internal_solution_upper_bounds() const {
11242  return solution_upper_bounds_;
11243 }
11244 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11245 CpSolverResponse::solution_upper_bounds() const {
11246  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11247  return _internal_solution_upper_bounds();
11248 }
11249 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11250 CpSolverResponse::_internal_mutable_solution_upper_bounds() {
11251  return &solution_upper_bounds_;
11252 }
11253 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11254 CpSolverResponse::mutable_solution_upper_bounds() {
11255  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
11256  return _internal_mutable_solution_upper_bounds();
11257 }
11258 
11259 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
11260 inline int CpSolverResponse::_internal_tightened_variables_size() const {
11261  return tightened_variables_.size();
11262 }
11263 inline int CpSolverResponse::tightened_variables_size() const {
11264  return _internal_tightened_variables_size();
11265 }
11266 inline void CpSolverResponse::clear_tightened_variables() {
11267  tightened_variables_.Clear();
11268 }
11269 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
11270  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
11271  return tightened_variables_.Mutable(index);
11272 }
11273 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
11274 CpSolverResponse::mutable_tightened_variables() {
11275  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
11276  return &tightened_variables_;
11277 }
11278 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::_internal_tightened_variables(int index) const {
11279  return tightened_variables_.Get(index);
11280 }
11281 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
11282  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
11283  return _internal_tightened_variables(index);
11284 }
11285 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::_internal_add_tightened_variables() {
11286  return tightened_variables_.Add();
11287 }
11288 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
11289  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
11290  return _internal_add_tightened_variables();
11291 }
11292 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
11293 CpSolverResponse::tightened_variables() const {
11294  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
11295  return tightened_variables_;
11296 }
11297 
11298 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
11299 inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
11300  return sufficient_assumptions_for_infeasibility_.size();
11301 }
11302 inline int CpSolverResponse::sufficient_assumptions_for_infeasibility_size() const {
11303  return _internal_sufficient_assumptions_for_infeasibility_size();
11304 }
11305 inline void CpSolverResponse::clear_sufficient_assumptions_for_infeasibility() {
11306  sufficient_assumptions_for_infeasibility_.Clear();
11307 }
11308 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility(int index) const {
11309  return sufficient_assumptions_for_infeasibility_.Get(index);
11310 }
11311 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
11312  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11313  return _internal_sufficient_assumptions_for_infeasibility(index);
11314 }
11315 inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11316  sufficient_assumptions_for_infeasibility_.Set(index, value);
11317  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11318 }
11319 inline void CpSolverResponse::_internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
11320  sufficient_assumptions_for_infeasibility_.Add(value);
11321 }
11322 inline void CpSolverResponse::add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
11323  _internal_add_sufficient_assumptions_for_infeasibility(value);
11324  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11325 }
11326 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11327 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
11328  return sufficient_assumptions_for_infeasibility_;
11329 }
11330 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11331 CpSolverResponse::sufficient_assumptions_for_infeasibility() const {
11332  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11333  return _internal_sufficient_assumptions_for_infeasibility();
11334 }
11335 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11336 CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
11337  return &sufficient_assumptions_for_infeasibility_;
11338 }
11339 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11340 CpSolverResponse::mutable_sufficient_assumptions_for_infeasibility() {
11341  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
11342  return _internal_mutable_sufficient_assumptions_for_infeasibility();
11343 }
11344 
11345 // bool all_solutions_were_found = 5;
11346 inline void CpSolverResponse::clear_all_solutions_were_found() {
11347  all_solutions_were_found_ = false;
11348 }
11349 inline bool CpSolverResponse::_internal_all_solutions_were_found() const {
11350  return all_solutions_were_found_;
11351 }
11352 inline bool CpSolverResponse::all_solutions_were_found() const {
11353  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.all_solutions_were_found)
11354  return _internal_all_solutions_were_found();
11355 }
11356 inline void CpSolverResponse::_internal_set_all_solutions_were_found(bool value) {
11357 
11358  all_solutions_were_found_ = value;
11359 }
11360 inline void CpSolverResponse::set_all_solutions_were_found(bool value) {
11361  _internal_set_all_solutions_were_found(value);
11362  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.all_solutions_were_found)
11363 }
11364 
11365 // int64 num_booleans = 10;
11366 inline void CpSolverResponse::clear_num_booleans() {
11367  num_booleans_ = PROTOBUF_LONGLONG(0);
11368 }
11369 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_booleans() const {
11370  return num_booleans_;
11371 }
11372 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_booleans() const {
11373  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
11374  return _internal_num_booleans();
11375 }
11376 inline void CpSolverResponse::_internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
11377 
11378  num_booleans_ = value;
11379 }
11380 inline void CpSolverResponse::set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
11381  _internal_set_num_booleans(value);
11382  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
11383 }
11384 
11385 // int64 num_conflicts = 11;
11386 inline void CpSolverResponse::clear_num_conflicts() {
11387  num_conflicts_ = PROTOBUF_LONGLONG(0);
11388 }
11389 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_conflicts() const {
11390  return num_conflicts_;
11391 }
11392 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_conflicts() const {
11393  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
11394  return _internal_num_conflicts();
11395 }
11396 inline void CpSolverResponse::_internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11397 
11398  num_conflicts_ = value;
11399 }
11400 inline void CpSolverResponse::set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
11401  _internal_set_num_conflicts(value);
11402  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
11403 }
11404 
11405 // int64 num_branches = 12;
11406 inline void CpSolverResponse::clear_num_branches() {
11407  num_branches_ = PROTOBUF_LONGLONG(0);
11408 }
11409 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_branches() const {
11410  return num_branches_;
11411 }
11412 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_branches() const {
11413  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
11414  return _internal_num_branches();
11415 }
11416 inline void CpSolverResponse::_internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
11417 
11418  num_branches_ = value;
11419 }
11420 inline void CpSolverResponse::set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
11421  _internal_set_num_branches(value);
11422  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
11423 }
11424 
11425 // int64 num_binary_propagations = 13;
11426 inline void CpSolverResponse::clear_num_binary_propagations() {
11427  num_binary_propagations_ = PROTOBUF_LONGLONG(0);
11428 }
11429 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_binary_propagations() const {
11430  return num_binary_propagations_;
11431 }
11432 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_binary_propagations() const {
11433  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
11434  return _internal_num_binary_propagations();
11435 }
11436 inline void CpSolverResponse::_internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11437 
11438  num_binary_propagations_ = value;
11439 }
11440 inline void CpSolverResponse::set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11441  _internal_set_num_binary_propagations(value);
11442  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
11443 }
11444 
11445 // int64 num_integer_propagations = 14;
11446 inline void CpSolverResponse::clear_num_integer_propagations() {
11447  num_integer_propagations_ = PROTOBUF_LONGLONG(0);
11448 }
11449 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_integer_propagations() const {
11450  return num_integer_propagations_;
11451 }
11452 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_integer_propagations() const {
11453  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
11454  return _internal_num_integer_propagations();
11455 }
11456 inline void CpSolverResponse::_internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11457 
11458  num_integer_propagations_ = value;
11459 }
11460 inline void CpSolverResponse::set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
11461  _internal_set_num_integer_propagations(value);
11462  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
11463 }
11464 
11465 // double wall_time = 15;
11466 inline void CpSolverResponse::clear_wall_time() {
11467  wall_time_ = 0;
11468 }
11469 inline double CpSolverResponse::_internal_wall_time() const {
11470  return wall_time_;
11471 }
11472 inline double CpSolverResponse::wall_time() const {
11473  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
11474  return _internal_wall_time();
11475 }
11476 inline void CpSolverResponse::_internal_set_wall_time(double value) {
11477 
11478  wall_time_ = value;
11479 }
11480 inline void CpSolverResponse::set_wall_time(double value) {
11481  _internal_set_wall_time(value);
11482  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
11483 }
11484 
11485 // double user_time = 16;
11486 inline void CpSolverResponse::clear_user_time() {
11487  user_time_ = 0;
11488 }
11489 inline double CpSolverResponse::_internal_user_time() const {
11490  return user_time_;
11491 }
11492 inline double CpSolverResponse::user_time() const {
11493  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
11494  return _internal_user_time();
11495 }
11496 inline void CpSolverResponse::_internal_set_user_time(double value) {
11497 
11498  user_time_ = value;
11499 }
11500 inline void CpSolverResponse::set_user_time(double value) {
11501  _internal_set_user_time(value);
11502  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
11503 }
11504 
11505 // double deterministic_time = 17;
11506 inline void CpSolverResponse::clear_deterministic_time() {
11507  deterministic_time_ = 0;
11508 }
11509 inline double CpSolverResponse::_internal_deterministic_time() const {
11510  return deterministic_time_;
11511 }
11512 inline double CpSolverResponse::deterministic_time() const {
11513  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
11514  return _internal_deterministic_time();
11515 }
11516 inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
11517 
11518  deterministic_time_ = value;
11519 }
11520 inline void CpSolverResponse::set_deterministic_time(double value) {
11521  _internal_set_deterministic_time(value);
11522  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
11523 }
11524 
11525 // double primal_integral = 22;
11526 inline void CpSolverResponse::clear_primal_integral() {
11527  primal_integral_ = 0;
11528 }
11529 inline double CpSolverResponse::_internal_primal_integral() const {
11530  return primal_integral_;
11531 }
11532 inline double CpSolverResponse::primal_integral() const {
11533  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.primal_integral)
11534  return _internal_primal_integral();
11535 }
11536 inline void CpSolverResponse::_internal_set_primal_integral(double value) {
11537 
11538  primal_integral_ = value;
11539 }
11540 inline void CpSolverResponse::set_primal_integral(double value) {
11541  _internal_set_primal_integral(value);
11542  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.primal_integral)
11543 }
11544 
11545 // string solution_info = 20;
11546 inline void CpSolverResponse::clear_solution_info() {
11547  solution_info_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11548 }
11549 inline const std::string& CpSolverResponse::solution_info() const {
11550  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
11551  return _internal_solution_info();
11552 }
11553 inline void CpSolverResponse::set_solution_info(const std::string& value) {
11554  _internal_set_solution_info(value);
11555  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
11556 }
11557 inline std::string* CpSolverResponse::mutable_solution_info() {
11558  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
11559  return _internal_mutable_solution_info();
11560 }
11561 inline const std::string& CpSolverResponse::_internal_solution_info() const {
11562  return solution_info_.Get();
11563 }
11564 inline void CpSolverResponse::_internal_set_solution_info(const std::string& value) {
11565 
11566  solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
11567 }
11568 inline void CpSolverResponse::set_solution_info(std::string&& value) {
11569 
11570  solution_info_.Set(
11571  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
11572  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.solution_info)
11573 }
11574 inline void CpSolverResponse::set_solution_info(const char* value) {
11575  GOOGLE_DCHECK(value != nullptr);
11576 
11577  solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
11578  GetArena());
11579  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.solution_info)
11580 }
11581 inline void CpSolverResponse::set_solution_info(const char* value,
11582  size_t size) {
11583 
11584  solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
11585  reinterpret_cast<const char*>(value), size), GetArena());
11586  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.solution_info)
11587 }
11588 inline std::string* CpSolverResponse::_internal_mutable_solution_info() {
11589 
11590  return solution_info_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11591 }
11592 inline std::string* CpSolverResponse::release_solution_info() {
11593  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
11594  return solution_info_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11595 }
11596 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
11597  if (solution_info != nullptr) {
11598 
11599  } else {
11600 
11601  }
11602  solution_info_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info,
11603  GetArena());
11604  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
11605 }
11606 
11607 #ifdef __GNUC__
11608  #pragma GCC diagnostic pop
11609 #endif // __GNUC__
11610 // -------------------------------------------------------------------
11611 
11612 // -------------------------------------------------------------------
11613 
11614 // -------------------------------------------------------------------
11615 
11616 // -------------------------------------------------------------------
11617 
11618 // -------------------------------------------------------------------
11619 
11620 // -------------------------------------------------------------------
11621 
11622 // -------------------------------------------------------------------
11623 
11624 // -------------------------------------------------------------------
11625 
11626 // -------------------------------------------------------------------
11627 
11628 // -------------------------------------------------------------------
11629 
11630 // -------------------------------------------------------------------
11631 
11632 // -------------------------------------------------------------------
11633 
11634 // -------------------------------------------------------------------
11635 
11636 // -------------------------------------------------------------------
11637 
11638 // -------------------------------------------------------------------
11639 
11640 // -------------------------------------------------------------------
11641 
11642 // -------------------------------------------------------------------
11643 
11644 // -------------------------------------------------------------------
11645 
11646 // -------------------------------------------------------------------
11647 
11648 // -------------------------------------------------------------------
11649 
11650 // -------------------------------------------------------------------
11651 
11652 // -------------------------------------------------------------------
11653 
11654 // -------------------------------------------------------------------
11655 
11656 // -------------------------------------------------------------------
11657 
11658 // -------------------------------------------------------------------
11659 
11660 
11661 // @@protoc_insertion_point(namespace_scope)
11662 
11663 } // namespace sat
11664 } // namespace operations_research
11665 
11666 PROTOBUF_NAMESPACE_OPEN
11667 
11668 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
11669 template <>
11670 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
11672 }
11673 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
11674 template <>
11675 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
11677 }
11678 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
11679 template <>
11680 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
11682 }
11683 
11684 PROTOBUF_NAMESPACE_CLOSE
11685 
11686 // @@protoc_insertion_point(global_scope)
11687 
11688 #include <google/protobuf/port_undef.inc>
11689 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_bool_or
void unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
operations_research::sat::PROTOBUF_FINAL::set_allocated_table
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
operations_research::sat::PROTOBUF_FINAL::LinearExpressionProto
LinearExpressionProto(const LinearExpressionProto &from)
operations_research::sat::CpSolverStatus_Name
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:243
operations_research::sat::PROTOBUF_FINAL::IntervalConstraintProto
IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::RoutesConstraintProto
RoutesConstraintProto(const RoutesConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::New
IntervalConstraintProto * New() const final
Definition: cp_model.pb.h:1680
operations_research::sat::PROTOBUF_FINAL::reservoir
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1823
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
Definition: cp_model.pb.h:301
operations_research::sat::PROTOBUF_FINAL::set_enforcement_literal
void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::RoutesConstraintProto
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2769
operations_research::sat::PROTOBUF_FINAL::AllDifferentConstraintProto
AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::variables_size
int variables_size() const
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:178
var
IntVar * var
Definition: expr_array.cc:1858
operations_research::sat::PROTOBUF_FINAL::has_bool_or
bool has_bool_or() const
operations_research::sat::PROTOBUF_FINAL::var
::PROTOBUF_NAMESPACE_ID::int32 var() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_at_most_one
void unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
operations_research::sat::PROTOBUF_FINAL::CpObjectiveProto
CpObjectiveProto(const CpObjectiveProto &from)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:4915
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:5634
operations_research::sat::ElementConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:71
operations_research::sat::PROTOBUF_FINAL::transition_head_size
int transition_head_size() const
operations_research::sat::PROTOBUF_FINAL::set_f_direct
void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_allocated_name
void set_allocated_name(std::string *name)
operations_research::sat::PROTOBUF_FINAL::name
const std::string & name() const
operations_research::sat::ReservoirConstraintProto
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const TableConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3175
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:963
operations_research::sat::PROTOBUF_FINAL::~CircuitCoveringConstraintProto
virtual ~CircuitCoveringConstraintProto()
operations_research::sat::PROTOBUF_FINAL::operator=
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:1255
operations_research::sat::PROTOBUF_FINAL::final_states
::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:463
operations_research::sat::PROTOBUF_FINAL::add_demands
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::best_objective_bound
double best_objective_bound() const
operations_research::sat::PROTOBUF_FINAL::mutable_variables
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_variables()
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const IntervalConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::default_instance
static const RoutesConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:621
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(LinearExpressionProto *other)
Definition: cp_model.pb.h:794
operations_research::sat::PROTOBUF_FINAL::values_size
int values_size() const
operations_research::sat::PROTOBUF_FINAL::f_inverse_size
int f_inverse_size() const
operations_research::sat::PROTOBUF_FINAL::default_instance
static const IntegerArgumentProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::release_lin_min
::operations_research::sat::LinearArgumentProto * release_lin_min()
operations_research::sat::PROTOBUF_FINAL::clear_y_intervals
void clear_y_intervals()
operations_research::sat::PROTOBUF_FINAL::set_allocated_linear
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
operations_research::sat::PROTOBUF_FINAL::release_reservoir
::operations_research::sat::ReservoirConstraintProto * release_reservoir()
operations_research::sat::PROTOBUF_FINAL::add_demands
void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::release_cumulative
::operations_research::sat::CumulativeConstraintProto * release_cumulative()
operations_research::sat::_DecisionStrategyProto_AffineTransformation_default_instance_
class operations_research::sat::DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.h:94
operations_research::sat::PROTOBUF_FINAL::set_num_binary_propagations
void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::add_search_strategy
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
operations_research::sat::FEASIBLE
@ FEASIBLE
Definition: cp_model.pb.h:230
min
int64 min
Definition: alldiff_cst.cc:138
operations_research::sat::PROTOBUF_FINAL::mutable_tails
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2161
operations_research::sat::PROTOBUF_FINAL::CircuitConstraintProto
CircuitConstraintProto()
Definition: cp_model.pb.h:2527
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_lin_max
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_max()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const AutomatonConstraintProto & default_instance()
operations_research::sat::AllDifferentConstraintProto
operations_research::sat::PROTOBUF_FINAL::mutable_solution_hint
::operations_research::sat::PartialVariableAssignment * mutable_solution_hint()
operations_research::sat::PROTOBUF_FINAL::mutable_bool_or
::operations_research::sat::BoolArgumentProto * mutable_bool_or()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_circuit_covering
void unsafe_arena_set_allocated_circuit_covering(::operations_research::sat::CircuitCoveringConstraintProto *circuit_covering)
operations_research::sat::PROTOBUF_FINAL::clear_starting_state
void clear_starting_state()
operations_research::sat::PROTOBUF_FINAL::set_user_time
void set_user_time(double value)
operations_research::sat::PROTOBUF_FINAL::mutable_search_strategy
::operations_research::sat::DecisionStrategyProto * mutable_search_strategy(int index)
operations_research::sat::_InverseConstraintProto_default_instance_
class operations_research::sat::InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.h:109
operations_research::sat::PROTOBUF_FINAL::ElementConstraintProto
ElementConstraintProto(const ElementConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::set_allocated_target
void set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
operations_research::sat::PROTOBUF_FINAL::GetMetadata
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_element
void unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
operations_research::sat::PROTOBUF_FINAL::default_instance
static const LinearArgumentProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::variables
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & variables() const
operations_research::sat::PROTOBUF_FINAL::operator=
IntervalConstraintProto & operator=(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1633
operations_research::sat::PROTOBUF_FINAL::interval
const ::operations_research::sat::IntervalConstraintProto & interval() const
operations_research::sat::PROTOBUF_FINAL::mutable_distinguished_nodes
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_distinguished_nodes()
operations_research::sat::PROTOBUF_FINAL::ConstraintProto
ConstraintProto(const ConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::PartialVariableAssignment
PartialVariableAssignment(const PartialVariableAssignment &from)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const CircuitCoveringConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::IntegerVariableProto
IntegerVariableProto()
Definition: cp_model.pb.h:260
operations_research::sat::PROTOBUF_FINAL::set_allocated_circuit
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
operations_research::sat::PROTOBUF_FINAL::mutable_vars
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
operations_research::sat::TableConstraintProto
operations_research::sat::PROTOBUF_FINAL::set_values
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const DecisionStrategyProto_AffineTransformation * internal_default_instance()
Definition: cp_model.pb.h:4756
max
int64 max
Definition: alldiff_cst.cc:139
operations_research::sat::PROTOBUF_FINAL::operator=
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1629
operations_research::sat::PROTOBUF_FINAL::has_inverse
bool has_inverse() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_automaton
::operations_research::sat::AutomatonConstraintProto * unsafe_arena_release_automaton()
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_IsValid
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.cc:1063
operations_research::sat::ReservoirConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:91
operations_research::sat::PROTOBUF_FINAL::end
::PROTOBUF_NAMESPACE_ID::int32 end() const
operations_research::sat::PROTOBUF_FINAL::NoOverlap2DConstraintProto
NoOverlap2DConstraintProto()
Definition: cp_model.pb.h:1930
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST
Definition: cp_model.pb.h:172
operations_research::sat::PROTOBUF_FINAL::mutable_constraints
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const IntegerArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:614
operations_research::sat::PROTOBUF_FINAL::add_assumptions
void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::PartialVariableAssignment
PartialVariableAssignment()
Definition: cp_model.pb.h:5148
operations_research::sat::PROTOBUF_FINAL::num_branches
::PROTOBUF_NAMESPACE_ID::int64 num_branches() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_inverse
void unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
operations_research::sat::PROTOBUF_FINAL::New
CircuitCoveringConstraintProto * New() const final
Definition: cp_model.pb.h:3025
operations_research::sat::PROTOBUF_FINAL::set_assumptions
void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::operator=
IntegerArgumentProto & operator=(const IntegerArgumentProto &from)
Definition: cp_model.pb.h:589
operations_research::sat::PROTOBUF_FINAL::add_transition_head
void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::add_x_intervals
void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_no_overlap_2d
void unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
operations_research::sat::PROTOBUF_FINAL::New
TableConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3205
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_interval
::operations_research::sat::IntervalConstraintProto * unsafe_arena_release_interval()
operations_research::sat::PROTOBUF_FINAL::mutable_tightened_variables
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_tightened_variables()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_circuit
::operations_research::sat::CircuitConstraintProto * unsafe_arena_release_circuit()
operations_research::sat::PROTOBUF_FINAL::CircuitCoveringConstraintProto
CircuitCoveringConstraintProto()
Definition: cp_model.pb.h:2965
operations_research::sat::CircuitCoveringConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:103
operations_research::sat::PROTOBUF_FINAL::release_circuit_covering
::operations_research::sat::CircuitCoveringConstraintProto * release_circuit_covering()
operations_research::sat::PROTOBUF_FINAL::InverseConstraintProto
InverseConstraintProto(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3332
operations_research::sat::PROTOBUF_FINAL::clear_domain
void clear_domain()
operations_research::sat::PROTOBUF_FINAL::operator=
LinearExpressionProto & operator=(const LinearExpressionProto &from)
Definition: cp_model.pb.h:751
operations_research::sat::PROTOBUF_FINAL::release_circuit
::operations_research::sat::CircuitConstraintProto * release_circuit()
operations_research::sat::DecisionStrategyProto_AffineTransformationDefaultTypeInternal
Definition: cp_model.pb.cc:152
operations_research::sat::PROTOBUF_FINAL::set_offset
void set_offset(double value)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(CircuitCoveringConstraintProto &a, CircuitCoveringConstraintProto &b)
Definition: cp_model.pb.h:3006
operations_research::sat::PROTOBUF_FINAL::CpModelProto
CpModelProto()
Definition: cp_model.pb.h:5324
operations_research::sat::PROTOBUF_FINAL::clear_reservoir
void clear_reservoir()
operations_research::sat::PROTOBUF_FINAL::clear_offset
void clear_offset()
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const InverseConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3362
operations_research::sat::PROTOBUF_FINAL::clear_bool_and
void clear_bool_and()
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const BoolArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_int_prod
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_prod()
operations_research::sat::PROTOBUF_FINAL::set_solution_lower_bounds
void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::literals_size
int literals_size() const
operations_research::sat::PROTOBUF_FINAL::set_start
void set_start(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::mutable_inverse
::operations_research::sat::InverseConstraintProto * mutable_inverse()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_all_diff
void unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_table
::operations_research::sat::TableConstraintProto * unsafe_arena_release_table()
operations_research::sat::PROTOBUF_FINAL::int_div
const ::operations_research::sat::IntegerArgumentProto & int_div() const
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:5627
operations_research::sat::PROTOBUF_FINAL::default_instance
static const ReservoirConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:3369
operations_research::sat::PROTOBUF_FINAL::mutable_search_strategy
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > * mutable_search_strategy()
operations_research::sat::PROTOBUF_FINAL::mutable_bool_and
::operations_research::sat::BoolArgumentProto * mutable_bool_and()
operations_research::sat::PROTOBUF_FINAL::clear_interval
void clear_interval()
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const BoolArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::intervals
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
Definition: cp_model.pb.h:1820
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(AllDifferentConstraintProto &a, AllDifferentConstraintProto &b)
Definition: cp_model.pb.h:1136
operations_research::sat::PROTOBUF_FINAL::default_instance
static const DecisionStrategyProto_AffineTransformation & default_instance()
operations_research::sat::PROTOBUF_FINAL::ConstraintProto
ConstraintProto(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3770
operations_research::sat::_LinearConstraintProto_default_instance_
class operations_research::sat::LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.h:115
operations_research::sat::PROTOBUF_FINAL::literals
::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(IntegerVariableProto *other)
Definition: cp_model.pb.h:304
operations_research::sat::PROTOBUF_FINAL::IntegerArgumentProto
IntegerArgumentProto(const IntegerArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::clear_no_overlap_2d
void clear_no_overlap_2d()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_at_most_one
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_at_most_one()
operations_research::sat::PROTOBUF_FINAL::operator=
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:3150
operations_research::sat::PROTOBUF_FINAL::default_instance
static const AllDifferentConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::operator=
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
Definition: cp_model.pb.h:1939
operations_research::sat::PROTOBUF_FINAL::mutable_no_overlap
::operations_research::sat::NoOverlapConstraintProto * mutable_no_overlap()
operations_research::sat::PROTOBUF_FINAL::has_objective
bool has_objective() const
operations_research::sat::PROTOBUF_FINAL::CircuitConstraintProto
CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::ReservoirConstraintProto
ReservoirConstraintProto(const ReservoirConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_reservoir
::operations_research::sat::ReservoirConstraintProto * unsafe_arena_release_reservoir()
operations_research::sat::PROTOBUF_FINAL::clear_min_level
void clear_min_level()
operations_research::sat::PROTOBUF_FINAL::NoOverlap2DConstraintProto
NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::release_bool_xor
::operations_research::sat::BoolArgumentProto * release_bool_xor()
operations_research::sat::PROTOBUF_FINAL::has_no_overlap
bool has_no_overlap() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_target
void unsafe_arena_set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
operations_research::sat::PROTOBUF_FINAL::set_nexts
void set_nexts(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_int_mod
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_mod()
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy
DecisionStrategyProto_DomainReductionStrategy
Definition: cp_model.pb.h:199
operations_research::sat::PROTOBUF_FINAL::GetDescriptor
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:285
operations_research::sat::PROTOBUF_FINAL::set_allocated_lin_max
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
operations_research::sat::PartialVariableAssignment
operations_research::sat::PROTOBUF_FINAL::clear_routes
void clear_routes()
operations_research::sat::PROTOBUF_FINAL::clear_element
void clear_element()
operations_research::sat::PROTOBUF_FINAL::cumulative
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:1974
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_descriptor
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.cc:1059
operations_research::sat::CumulativeConstraintProto
operations_research::sat::PROTOBUF_FINAL::operator=
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:438
operations_research::sat::PROTOBUF_FINAL::status
::operations_research::sat::CpSolverStatus status() const
operations_research::sat::PROTOBUF_FINAL::heads
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
operations_research::sat::PROTOBUF_FINAL::LinearConstraintProto
LinearConstraintProto()
Definition: cp_model.pb.h:1246
operations_research::sat::PROTOBUF_FINAL::New
CumulativeConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2181
operations_research::sat::PROTOBUF_FINAL::set_demands
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::New
InverseConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3392
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const ConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::add_f_direct
void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::clear_objective_value
void clear_objective_value()
operations_research::sat::MODEL_INVALID
@ MODEL_INVALID
Definition: cp_model.pb.h:229
operations_research::sat::PROTOBUF_FINAL::mutable_variables
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_variables()
operations_research::sat::PROTOBUF_FINAL::add_times
void add_times(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::bool_and
const ::operations_research::sat::BoolArgumentProto & bool_and() const
operations_research::sat::PROTOBUF_FINAL::~NoOverlap2DConstraintProto
virtual ~NoOverlap2DConstraintProto()
operations_research::sat::PROTOBUF_FINAL::New
DecisionStrategyProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4945
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3556
operations_research::sat::PROTOBUF_FINAL::f_inverse
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_inverse() const
operations_research::sat::PROTOBUF_FINAL::operator=
LinearArgumentProto & operator=(const LinearArgumentProto &from)
Definition: cp_model.pb.h:938
operations_research::sat::PROTOBUF_FINAL::IntegerVariableProto
IntegerVariableProto(const IntegerVariableProto &from)
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto_AffineTransformation
DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation &from)
operations_research::sat::PROTOBUF_FINAL::operator=
DecisionStrategyProto & operator=(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4894
operations_research::sat::PROTOBUF_FINAL::capacity
::PROTOBUF_NAMESPACE_ID::int32 capacity() const
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(ConstraintProto *other)
Definition: cp_model.pb.h:3847
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const AllDifferentConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::operator=
ReservoirConstraintProto & operator=(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2317
operations_research::sat::PROTOBUF_FINAL::NoOverlap2DConstraintProto
NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::New
CumulativeConstraintProto * New() const final
Definition: cp_model.pb.h:2177
operations_research::sat::PROTOBUF_FINAL::demands_size
int demands_size() const
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const RoutesConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const ReservoirConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:783
operations_research::sat::PROTOBUF_FINAL::set_allocated_lin_min
void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
operations_research::sat::PROTOBUF_FINAL::mutable_int_max
::operations_research::sat::IntegerArgumentProto * mutable_int_max()
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const CpObjectiveProto &from)
operations_research::sat::PROTOBUF_FINAL::clear_search_strategy
void clear_search_strategy()
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(BoolArgumentProto *other)
Definition: cp_model.pb.h:473
operations_research::sat::PROTOBUF_FINAL::assumptions_size
int assumptions_size() const
operations_research::sat::CumulativeConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:87
operations_research::sat::PROTOBUF_FINAL::has_lin_min
bool has_lin_min() const
operations_research::sat::PROTOBUF_FINAL::objective_value
double objective_value() const
operations_research::sat::CpModelProtoDefaultTypeInternal
Definition: cp_model.pb.cc:164
operations_research::sat::PROTOBUF_FINAL::solution_upper_bounds
::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_bool_or
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_or()
operations_research::sat::PROTOBUF_FINAL::clear_constraint
void clear_constraint()
operations_research::sat::PROTOBUF_FINAL::add_coeffs
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::table
const ::operations_research::sat::TableConstraintProto & table() const
operations_research::sat::LinearExpressionProto
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const CircuitConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::has_circuit_covering
bool has_circuit_covering() const
operations_research::sat::PROTOBUF_FINAL::clear_solution_lower_bounds
void clear_solution_lower_bounds()
operations_research::sat::PROTOBUF_FINAL::int_mod
const ::operations_research::sat::IntegerArgumentProto & int_mod() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_target
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_target()
operations_research::sat::PROTOBUF_FINAL::New
NoOverlapConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1843
operations_research::sat::BoolArgumentProtoDefaultTypeInternal
Definition: cp_model.pb.cc:47
operations_research::sat::PROTOBUF_FINAL::IntegerVariableProto
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:264
operations_research::sat::PROTOBUF_FINAL::variables
const ::operations_research::sat::IntegerVariableProto & variables(int index) const
operations_research::sat::PROTOBUF_FINAL::set_solution_upper_bounds
void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::set_allocated_objective
void set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
operations_research::sat::PROTOBUF_FINAL::New
DecisionStrategyProto_AffineTransformation * New() const final
Definition: cp_model.pb.h:4782
operations_research::sat::PROTOBUF_FINAL::PartialVariableAssignment
PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::release_name
std::string * release_name()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const BoolArgumentProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(CpModelProto *other)
Definition: cp_model.pb.h:5368
operations_research::sat::IntegerArgumentProtoDefaultTypeInternal
Definition: cp_model.pb.cc:51
operations_research::sat::PROTOBUF_FINAL::operator=
CpModelProto & operator=(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5337
operations_research::sat::LinearConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:67
operations_research::sat::PROTOBUF_FINAL::~IntegerVariableProto
virtual ~IntegerVariableProto()
operations_research::sat::PROTOBUF_FINAL::mutable_values
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
operations_research::sat::CpSolverStatus_descriptor
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
Definition: cp_model.pb.cc:1113
operations_research::sat::PROTOBUF_FINAL::operator=
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
Definition: cp_model.pb.h:5157
operations_research::sat::PROTOBUF_FINAL::int_prod
const ::operations_research::sat::IntegerArgumentProto & int_prod() const
operations_research::sat::PROTOBUF_FINAL::~LinearConstraintProto
virtual ~LinearConstraintProto()
operations_research::sat::PROTOBUF_FINAL::clear_index
void clear_index()
operations_research::sat::PROTOBUF_FINAL::LinearArgumentProto
LinearArgumentProto()
Definition: cp_model.pb.h:929
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2772
operations_research::sat::PROTOBUF_FINAL::set_allocated_bool_xor
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
operations_research::sat::PROTOBUF_FINAL::domain_size
int domain_size() const
operations_research::sat::BoolArgumentProto
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto
DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
value
int64 value
Definition: demon_profiler.cc:43
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2579
operations_research::sat::PROTOBUF_FINAL::tails_size
int tails_size() const
operations_research::sat::PROTOBUF_FINAL::set_allocated_at_most_one
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
operations_research::sat::PROTOBUF_FINAL::set_max_level
void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::default_instance
static const PartialVariableAssignment & default_instance()
operations_research::sat::_AllDifferentConstraintProto_default_instance_
class operations_research::sat::AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.h:61
operations_research::sat::PROTOBUF_FINAL::mutable_enforcement_literal
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_enforcement_literal()
operations_research::sat::PROTOBUF_FINAL::ElementConstraintProto
ElementConstraintProto()
Definition: cp_model.pb.h:1447
operations_research::sat::PROTOBUF_FINAL::has_lin_max
bool has_lin_max() const
operations_research::sat::PROTOBUF_FINAL::NoOverlap2DConstraintProto
NoOverlap2DConstraintProto(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1934
operations_research::sat::PROTOBUF_FINAL::set_transition_label
void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:4922
operations_research::sat::PROTOBUF_FINAL::mutable_bool_xor
::operations_research::sat::BoolArgumentProto * mutable_bool_xor()
operations_research::sat::PROTOBUF_FINAL::New
LinearConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1310
operations_research::sat::PROTOBUF_FINAL::clear_domain_reduction_strategy
void clear_domain_reduction_strategy()
operations_research::sat::PROTOBUF_FINAL::clear_linear
void clear_linear()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_lin_min
void unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
operations_research::sat::PROTOBUF_FINAL::mutable_no_overlap_2d
::operations_research::sat::NoOverlap2DConstraintProto * mutable_no_overlap_2d()
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:470
operations_research::sat::PROTOBUF_FINAL::~TableConstraintProto
virtual ~TableConstraintProto()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2169
operations_research::sat::PROTOBUF_FINAL::clear_transformations
void clear_transformations()
operations_research::sat::PROTOBUF_FINAL::final_states
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & final_states() const
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto
DecisionStrategyProto(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4885
operations_research::sat::PROTOBUF_FINAL::ReservoirConstraintProto
ReservoirConstraintProto(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2308
operations_research::sat::PROTOBUF_FINAL::clear_tails
void clear_tails()
operations_research::sat::LinearArgumentProto
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:5182
operations_research::sat::PROTOBUF_FINAL::vars
::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_routes
::operations_research::sat::RoutesConstraintProto * unsafe_arena_release_routes()
operations_research::sat::PROTOBUF_FINAL::search_strategy
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() const
operations_research::sat::PROTOBUF_FINAL::ConstraintCase
ConstraintCase
Definition: cp_model.pb.h:3799
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2158
operations_research::sat::PROTOBUF_FINAL::NoOverlapConstraintProto
NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::Clear
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4933
operations_research::sat::PROTOBUF_FINAL::New
ElementConstraintProto * New() const final
Definition: cp_model.pb.h:1507
operations_research::sat::_NoOverlap2DConstraintProto_default_instance_
class operations_research::sat::NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.h:121
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_Parse
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:194
operations_research::sat::PROTOBUF_FINAL::ConstraintProto
ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::BoolArgumentProto
BoolArgumentProto(const BoolArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::coeffs
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3372
operations_research::sat::PROTOBUF_FINAL::exprs
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
operations_research::sat::PROTOBUF_FINAL::operator=
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:3513
operations_research
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
Definition: dense_doubly_linked_list.h:21
operations_research::sat::PROTOBUF_FINAL::heads_size
int heads_size() const
operations_research::sat::PROTOBUF_FINAL::release_int_min
::operations_research::sat::IntegerArgumentProto * release_int_min()
operations_research::sat::PROTOBUF_FINAL::mutable_transformations
::operations_research::sat::DecisionStrategyProto_AffineTransformation * mutable_transformations(int index)
operations_research::sat::PROTOBUF_FINAL::add_exprs
::operations_research::sat::LinearExpressionProto * add_exprs()
operations_research::sat::PROTOBUF_FINAL::NoOverlapConstraintProto
NoOverlapConstraintProto()
Definition: cp_model.pb.h:1779
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const IntegerArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::RoutesConstraintProto
RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::has_bool_xor
bool has_bool_xor() const
operations_research::sat::IntegerVariableProtoDefaultTypeInternal
Definition: cp_model.pb.cc:43
operations_research::sat::PROTOBUF_FINAL::operator=
ElementConstraintProto & operator=(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1460
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const AutomatonConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3538
operations_research::sat::PROTOBUF_FINAL::has_reservoir
bool has_reservoir() const
operations_research::sat::PROTOBUF_FINAL::distinguished_nodes_size
int distinguished_nodes_size() const
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
operations_research::sat::PROTOBUF_FINAL::operator=
BoolArgumentProto & operator=(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:442
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const AllDifferentConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1813
operations_research::sat::PROTOBUF_FINAL::clear_inverse
void clear_inverse()
operations_research::sat::PROTOBUF_FINAL::BoolArgumentProto
BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3380
operations_research::sat::PROTOBUF_FINAL::clear_all_diff
void clear_all_diff()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_linear
void unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:970
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const TableConstraintProto &from)
operations_research::sat::_LinearExpressionProto_default_instance_
class operations_research::sat::LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.h:118
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_objective
void unsafe_arena_set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
operations_research::sat::PROTOBUF_FINAL::enforcement_literal
::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const
operations_research::sat::_ReservoirConstraintProto_default_instance_
class operations_research::sat::ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.h:130
operations_research::sat::PROTOBUF_FINAL::assumptions
::PROTOBUF_NAMESPACE_ID::int32 assumptions(int index) const
operations_research::sat::PROTOBUF_FINAL::clear_best_objective_bound
void clear_best_objective_bound()
operations_research::sat::PROTOBUF_FINAL::New
LinearConstraintProto * New() const final
Definition: cp_model.pb.h:1306
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:205
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(CpSolverResponse *other)
Definition: cp_model.pb.h:5645
operations_research::sat::PROTOBUF_FINAL::has_routes
bool has_routes() const
operations_research::sat::CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_
@ CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:233
operations_research::sat::PROTOBUF_FINAL::clear_nexts
void clear_nexts()
operations_research::sat::UNKNOWN
@ UNKNOWN
Definition: cp_model.pb.h:228
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const LinearExpressionProto &from)
operations_research::sat::PROTOBUF_FINAL::New
DecisionStrategyProto * New() const final
Definition: cp_model.pb.h:4941
operations_research::sat::PROTOBUF_FINAL::release_int_mod
::operations_research::sat::IntegerArgumentProto * release_int_mod()
operations_research::sat::PROTOBUF_FINAL::set_distinguished_nodes
void set_distinguished_nodes(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::domain
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(CpModelProto *other)
Definition: cp_model.pb.h:5376
operations_research::sat::PROTOBUF_FINAL::DomainReductionStrategy_Parse
static bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DomainReductionStrategy *value)
Definition: cp_model.pb.h:5057
operations_research::sat::PROTOBUF_FINAL::clear_objective
void clear_objective()
operations_research::sat::AutomatonConstraintProto
operations_research::sat::PROTOBUF_FINAL::variable_selection_strategy
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
operations_research::sat::PROTOBUF_FINAL::has_solution_hint
bool has_solution_hint() const
operations_research::sat::PROTOBUF_FINAL::vars
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
operations_research::sat::PROTOBUF_FINAL::~AllDifferentConstraintProto
virtual ~AllDifferentConstraintProto()
operations_research::sat::_ConstraintProto_default_instance_
class operations_research::sat::ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.h:76
operations_research::sat::PROTOBUF_FINAL::AllDifferentConstraintProto
AllDifferentConstraintProto()
Definition: cp_model.pb.h:1095
operations_research::sat::PROTOBUF_FINAL::set_final_states
void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::default_instance
static const NoOverlap2DConstraintProto & default_instance()
operations_research::sat::AllDifferentConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:63
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1654
operations_research::sat::PROTOBUF_FINAL::set_actives
void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::transformations_size
int transformations_size() const
operations_research::sat::PROTOBUF_FINAL::clear_variable_selection_strategy
void clear_variable_selection_strategy()
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1280
operations_research::sat::PROTOBUF_FINAL::clear_negated
void clear_negated()
operations_research::sat::PROTOBUF_FINAL::operator=
DecisionStrategyProto_AffineTransformation & operator=(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4735
operations_research::sat::PROTOBUF_FINAL::New
ConstraintProto * New() const final
Definition: cp_model.pb.h:3855
int64
int64_t int64
Definition: integral_types.h:34
operations_research::sat::PROTOBUF_FINAL::add_sufficient_assumptions_for_infeasibility
void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::constraints
const ::operations_research::sat::ConstraintProto & constraints(int index) const
operations_research::sat::DecisionStrategyProtoDefaultTypeInternal
Definition: cp_model.pb.cc:156
operations_research::sat::PROTOBUF_FINAL::search_strategy_size
int search_strategy_size() const
operations_research::sat::PROTOBUF_FINAL::clear_solution_upper_bounds
void clear_solution_upper_bounds()
operations_research::sat::PROTOBUF_FINAL::operator=
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:269
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
operations_research::sat::PROTOBUF_FINAL::add_domain
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_bool_and
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_and()
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::PROTOBUF_SECTION_VARIABLE
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_Name
const std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:215
operations_research::sat::PROTOBUF_FINAL::RoutesConstraintProto
RoutesConstraintProto(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2732
operations_research::sat::PROTOBUF_FINAL::set_domain
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::clear_demands
void clear_demands()
operations_research::sat::PROTOBUF_FINAL::release_lin_max
::operations_research::sat::LinearArgumentProto * release_lin_max()
operations_research::sat::PROTOBUF_FINAL::set_allocated_solution_info
void set_allocated_solution_info(std::string *solution_info)
operations_research::sat::PROTOBUF_FINAL::default_instance
static const LinearExpressionProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::clear_x_intervals
void clear_x_intervals()
operations_research::sat::PROTOBUF_FINAL::New
IntegerArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:644
operations_research::sat::PROTOBUF_FINAL::release_all_diff
::operations_research::sat::AllDifferentConstraintProto * release_all_diff()
operations_research::sat::PROTOBUF_FINAL::mutable_assumptions
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_assumptions()
operations_research::sat::PROTOBUF_FINAL::New
LinearArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:993
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1290
operations_research::sat::PROTOBUF_FINAL::clear_intervals
void clear_intervals()
operations_research::sat::PROTOBUF_FINAL::clear_target
void clear_target()
operations_research::sat::PROTOBUF_FINAL::deterministic_time
double deterministic_time() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_int_max
void unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
operations_research::sat::PROTOBUF_FINAL::f_direct
::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const
operations_research::sat::PROTOBUF_FINAL::CpModelProto
CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::clear_literals
void clear_literals()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_bool_xor
void unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
operations_research::sat::PROTOBUF_FINAL::AutomatonConstraintProto
AutomatonConstraintProto(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3508
operations_research::sat::PROTOBUF_FINAL::mutable_reservoir
::operations_research::sat::ReservoirConstraintProto * mutable_reservoir()
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const LinearArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::CircuitConstraintProto
CircuitConstraintProto(const CircuitConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::clear_user_time
void clear_user_time()
operations_research::sat::PROTOBUF_FINAL::~CpSolverResponse
virtual ~CpSolverResponse()
operations_research::sat::ConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:119
operations_research::sat::PROTOBUF_FINAL::literals
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4551
index
int index
Definition: pack.cc:508
operations_research::sat::PROTOBUF_FINAL::set_times
void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_allocated_solution_hint
void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
int32
int int32
Definition: integral_types.h:33
offset_
const int64 offset_
Definition: interval.cc:2076
operations_research::sat::PROTOBUF_FINAL::AllDifferentConstraintProto
AllDifferentConstraintProto(const AllDifferentConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL
Definition: boolean_problem.pb.h:85
operations_research::sat::PROTOBUF_FINAL::clear_lin_max
void clear_lin_max()
operations_research::sat::CircuitCoveringConstraintProto
operations_research::sat::PROTOBUF_FINAL::operator=
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5161
operations_research::sat::PROTOBUF_FINAL::has_int_mod
bool has_int_mod() const
operations_research::sat::PROTOBUF_FINAL::mutable_tightened_variables
::operations_research::sat::IntegerVariableProto * mutable_tightened_variables(int index)
operations_research::sat::PROTOBUF_FINAL::add_transition_label
void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_Parse
bool DecisionStrategyProto_DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:222
operations_research::sat::PROTOBUF_FINAL::set_name
void set_name(const char *value, size_t size)
operations_research::sat::PROTOBUF_FINAL::operator=
CpSolverResponse & operator=(const CpSolverResponse &from)
Definition: cp_model.pb.h:5602
operations_research::sat::PROTOBUF_FINAL::New
InverseConstraintProto * New() const final
Definition: cp_model.pb.h:3388
operations_research::sat::PROTOBUF_FINAL::add_transition_tail
void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::set_allocated_no_overlap
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
operations_research::sat::PROTOBUF_FINAL::LinearExpressionProto
LinearExpressionProto(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:746
operations_research::sat::PROTOBUF_FINAL::set_heads
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_allocated_bool_or
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const LinearConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::solution_upper_bounds_size
int solution_upper_bounds_size() const
operations_research::sat::PROTOBUF_FINAL::New
LinearArgumentProto * New() const final
Definition: cp_model.pb.h:989
operations_research::sat::PROTOBUF_FINAL::clear_deterministic_time
void clear_deterministic_time()
operations_research::sat::PROTOBUF_FINAL::clear_actives
void clear_actives()
operations_research::sat::PROTOBUF_FINAL::descriptor
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:282
operations_research::sat::PROTOBUF_FINAL::add_variables
void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::default_instance
static const CpObjectiveProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::CumulativeConstraintProto
CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1481
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:209
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4925
operations_research::sat::PROTOBUF_FINAL::target
::PROTOBUF_NAMESPACE_ID::int32 target() const
operations_research::sat::PROTOBUF_FINAL::tails
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:3182
operations_research::sat::PROTOBUF_FINAL::IntegerArgumentProto
IntegerArgumentProto()
Definition: cp_model.pb.h:580
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const NoOverlap2DConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::VariableSelectionStrategy_Name
static const std::string & VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:5015
operations_research::sat::PROTOBUF_FINAL::has_bool_and
bool has_bool_and() const
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:1287
operations_research::sat::PROTOBUF_FINAL::ReservoirConstraintProto
ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::New
ConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3859
operations_research::sat::PROTOBUF_FINAL::clear_at_most_one
void clear_at_most_one()
operations_research::sat::PROTOBUF_FINAL::add_tightened_variables
::operations_research::sat::IntegerVariableProto * add_tightened_variables()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const CpModelProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const CpModelProto &from)
operations_research::sat::CircuitConstraintProto
operations_research::sat::PROTOBUF_FINAL::clear_transition_head
void clear_transition_head()
operations_research::sat::PROTOBUF_FINAL::operator=
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
Definition: cp_model.pb.h:1788
operations_research::sat::PROTOBUF_FINAL::set_allocated_int_mod
void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const IntegerVariableProto &from)
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:176
operations_research::sat::PROTOBUF_FINAL::operator=
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:4508
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE
Definition: cp_model.pb.h:201
operations_research::sat::PROTOBUF_FINAL::IntervalConstraintProto
IntervalConstraintProto(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1624
operations_research::sat::PROTOBUF_FINAL::has_no_overlap_2d
bool has_no_overlap_2d() const
operations_research::sat::PROTOBUF_FINAL::clear_num_branches
void clear_num_branches()
operations_research::sat::PROTOBUF_FINAL::DomainReductionStrategy_Name
static const std::string & DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:5051
operations_research::sat::PROTOBUF_FINAL::linear
const ::operations_research::sat::LinearConstraintProto & linear() const
operations_research::sat::PROTOBUF_FINAL::default_instance
static const IntegerVariableProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::at_most_one
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
operations_research::sat::PROTOBUF_FINAL::clear_bool_or
void clear_bool_or()
operations_research::sat::PROTOBUF_FINAL::~CpModelProto
virtual ~CpModelProto()
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:5358
operations_research::sat::PROTOBUF_FINAL::mutable_exprs
::operations_research::sat::LinearExpressionProto * mutable_exprs(int index)
operations_research::sat::PROTOBUF_FINAL::add_heads
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(LinearArgumentProto *other)
Definition: cp_model.pb.h:973
operations_research::sat::PROTOBUF_FINAL::actives_size
int actives_size() const
operations_research::sat::_IntegerArgumentProto_default_instance_
class operations_research::sat::IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
Definition: cp_model.pb.h:100
operations_research::sat::IntervalConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:75
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const CircuitCoveringConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_int_prod
void unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
operations_research::sat::PROTOBUF_FINAL::operator=
DecisionStrategyProto & operator=(const DecisionStrategyProto &from)
Definition: cp_model.pb.h:4890
operations_research::sat::PROTOBUF_FINAL::clear_status
void clear_status()
operations_research::sat::PROTOBUF_FINAL::solution_upper_bounds
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_upper_bounds() const
operations_research::sat::PROTOBUF_FINAL::mutable_solution
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution()
operations_research::sat::PROTOBUF_FINAL::New
BoolArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:493
operations_research::sat::_DecisionStrategyProto_default_instance_
class operations_research::sat::DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.h:91
operations_research::sat::PROTOBUF_FINAL::num_booleans
::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const
operations_research::sat::PROTOBUF_FINAL::New
NoOverlapConstraintProto * New() const final
Definition: cp_model.pb.h:1839
operations_research::sat::PROTOBUF_FINAL::mutable_lin_max
::operations_research::sat::LinearArgumentProto * mutable_lin_max()
operations_research::sat::PROTOBUF_FINAL::operator=
CircuitCoveringConstraintProto & operator=(CircuitCoveringConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2978
a
int64 a
Definition: constraint_solver/table.cc:42
operations_research::sat::PROTOBUF_FINAL::transition_head
::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const
operations_research::sat::PROTOBUF_FINAL::clear_times
void clear_times()
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const CumulativeConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const CircuitConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::enforcement_literal_size
int enforcement_literal_size() const
operations_research::sat::PROTOBUF_FINAL::int_max
const ::operations_research::sat::IntegerArgumentProto & int_max() const
operations_research::sat::PROTOBUF_FINAL::tightened_variables
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & tightened_variables() const
operations_research::sat::PROTOBUF_FINAL::BoolArgumentProto
BoolArgumentProto()
Definition: cp_model.pb.h:429
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5200
operations_research::sat::PROTOBUF_FINAL::has_table
bool has_table() const
operations_research::sat::PROTOBUF_FINAL::clear_capacity
void clear_capacity()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_no_overlap
::operations_research::sat::NoOverlapConstraintProto * unsafe_arena_release_no_overlap()
operations_research::sat::PROTOBUF_FINAL::automaton
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
operations_research::sat::INFEASIBLE
@ INFEASIBLE
Definition: cp_model.pb.h:231
operations_research::sat::PROTOBUF_FINAL::~DecisionStrategyProto
virtual ~DecisionStrategyProto()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_solution_hint
void unsafe_arena_set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto_AffineTransformation
DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::mutable_sufficient_assumptions_for_infeasibility
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_sufficient_assumptions_for_infeasibility()
operations_research::sat::PROTOBUF_FINAL::mutable_target
::operations_research::sat::LinearExpressionProto * mutable_target()
operations_research::sat::PROTOBUF_FINAL::sufficient_assumptions_for_infeasibility
::PROTOBUF_NAMESPACE_ID::int32 sufficient_assumptions_for_infeasibility(int index) const
operations_research::sat::PROTOBUF_FINAL::IntervalConstraintProto
IntervalConstraintProto(const IntervalConstraintProto &from)
operations_research::sat::_RoutesConstraintProto_default_instance_
class operations_research::sat::RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.h:133
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:210
operations_research::sat::PROTOBUF_FINAL::operator=
TableConstraintProto & operator=(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3154
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1499
operations_research::sat::PROTOBUF_FINAL::actives
::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const
operations_research::sat::IntervalConstraintProto
operations_research::sat::PROTOBUF_FINAL::primal_integral
double primal_integral() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_inverse
::operations_research::sat::InverseConstraintProto * unsafe_arena_release_inverse()
operations_research::sat::PROTOBUF_FINAL::New
CpSolverResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5657
operations_research::sat::PROTOBUF_FINAL::default_instance
static const CircuitConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::enforcement_literal
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & enforcement_literal() const
operations_research::sat::PROTOBUF_FINAL::add_literals
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_num_integer_propagations
void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:4540
operations_research::sat::PROTOBUF_FINAL::x_intervals
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & x_intervals() const
operations_research::sat::PROTOBUF_FINAL::New
NoOverlap2DConstraintProto * New() const final
Definition: cp_model.pb.h:1990
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_int_min
void unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
operations_research::sat::PROTOBUF_FINAL::mutable_actives
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_actives()
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:211
operations_research::sat::PROTOBUF_FINAL::mutable_exprs
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_automaton
void unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
operations_research::sat::PROTOBUF_FINAL::~CumulativeConstraintProto
virtual ~CumulativeConstraintProto()
operations_research::sat::PROTOBUF_FINAL::add_vars
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_cumulative
::operations_research::sat::CumulativeConstraintProto * unsafe_arena_release_cumulative()
operations_research::sat::PROTOBUF_FINAL::scaling_factor
double scaling_factor() const
operations_research::sat::PROTOBUF_FINAL::tightened_variables
const ::operations_research::sat::IntegerVariableProto & tightened_variables(int index) const
operations_research::sat::PROTOBUF_FINAL::TableConstraintProto
TableConstraintProto()
Definition: cp_model.pb.h:3141
operations_research::sat::PROTOBUF_FINAL::New
IntegerVariableProto * New() const final
Definition: cp_model.pb.h:320
operations_research::sat::PROTOBUF_FINAL::operator=
CpSolverResponse & operator=(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:5606
operations_research::sat::PROTOBUF_FINAL::constraint_case
ConstraintCase constraint_case() const
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy
DecisionStrategyProto_VariableSelectionStrategy
Definition: cp_model.pb.h:171
operations_research::sat::PROTOBUF_FINAL::clear_size
void clear_size()
operations_research::sat::PROTOBUF_FINAL::clear_vars
void clear_vars()
operations_research::sat::PROTOBUF_FINAL::times
::PROTOBUF_NAMESPACE_ID::int32 times(int index) const
operations_research::sat::PROTOBUF_FINAL::has_at_most_one
bool has_at_most_one() const
operations_research::sat::PROTOBUF_FINAL::mutable_demands
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
operations_research::sat::CpSolverStatus_IsValid
bool CpSolverStatus_IsValid(int value)
Definition: cp_model.pb.cc:1117
operations_research::sat::PROTOBUF_FINAL::RoutesConstraintProto
RoutesConstraintProto()
Definition: cp_model.pb.h:2728
operations_research::sat::PROTOBUF_FINAL::lin_max
const ::operations_research::sat::LinearArgumentProto & lin_max() const
operations_research::sat::PROTOBUF_FINAL::has_int_prod
bool has_int_prod() const
operations_research::sat::PROTOBUF_FINAL::add_solution_upper_bounds
void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::clear_num_binary_propagations
void clear_num_binary_propagations()
operations_research::sat::PROTOBUF_FINAL::offset
double offset() const
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const IntegerArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::operator=
IntegerArgumentProto & operator=(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:593
operations_research::sat::PROTOBUF_FINAL::mutable_y_intervals
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_y_intervals()
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1491
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5192
operations_research::sat::PROTOBUF_FINAL::~InverseConstraintProto
virtual ~InverseConstraintProto()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const IntervalConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::set_allocated_routes
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const PartialVariableAssignment &from)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_linear
::operations_research::sat::LinearConstraintProto * unsafe_arena_release_linear()
operations_research::sat::PROTOBUF_FINAL::set_best_objective_bound
void set_best_objective_bound(double value)
operations_research::sat::PROTOBUF_FINAL::set_domain_reduction_strategy
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
operations_research::sat::PROTOBUF_FINAL::operator=
CpObjectiveProto & operator=(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4512
operations_research::sat::PROTOBUF_FINAL::mutable_x_intervals
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_x_intervals()
operations_research::sat::PROTOBUF_FINAL::tightened_variables_size
int tightened_variables_size() const
operations_research::sat::PROTOBUF_FINAL::mutable_coeffs
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
uint32
unsigned int uint32
Definition: integral_types.h:38
operations_research::sat::PROTOBUF_FINAL::~IntegerArgumentProto
virtual ~IntegerArgumentProto()
operations_research::sat::PROTOBUF_FINAL::operator=
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:3775
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_IsValid
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.cc:1090
operations_research::sat::PROTOBUF_FINAL::set_num_booleans
void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::New
IntervalConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1684
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const LinearExpressionProto &from)
operations_research::sat::PROTOBUF_FINAL::circuit_covering
const ::operations_research::sat::CircuitCoveringConstraintProto & circuit_covering() const
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto_AffineTransformation
DecisionStrategyProto_AffineTransformation()
Definition: cp_model.pb.h:4722
operations_research::sat::PROTOBUF_FINAL::nexts
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & nexts() const
operations_research::sat::PROTOBUF_FINAL::clear_table
void clear_table()
operations_research::sat::PROTOBUF_FINAL::wall_time
double wall_time() const
operations_research::sat::PROTOBUF_FINAL::add_constraints
::operations_research::sat::ConstraintProto * add_constraints()
operations_research::sat::PROTOBUF_FINAL::add_enforcement_literal
void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::f_inverse
::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const
operations_research::sat::PROTOBUF_FINAL::mutable_f_direct
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_direct()
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:294
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const IntervalConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::y_intervals
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & y_intervals() const
operations_research::sat::PROTOBUF_FINAL::operator=
CumulativeConstraintProto & operator=(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2130
operations_research::sat::PROTOBUF_FINAL::AutomatonConstraintProto
AutomatonConstraintProto()
Definition: cp_model.pb.h:3504
operations_research::sat::AutomatonConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:115
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_circuit_covering
::operations_research::sat::CircuitCoveringConstraintProto * unsafe_arena_release_circuit_covering()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_int_div
void unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
operations_research::sat::PROTOBUF_FINAL::has_circuit
bool has_circuit() const
operations_research::sat::PROTOBUF_FINAL::demands
::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const
operations_research::sat::PROTOBUF_FINAL::solution
::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const
operations_research::sat::PROTOBUF_FINAL::max_level
::PROTOBUF_NAMESPACE_ID::int64 max_level() const
operations_research::sat::PROTOBUF_FINAL::no_overlap_2d
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
operations_research::sat::PROTOBUF_FINAL::release_int_div
::operations_research::sat::IntegerArgumentProto * release_int_div()
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:206
operations_research::sat::PROTOBUF_FINAL::AutomatonConstraintProto
AutomatonConstraintProto(const AutomatonConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::operator=
AllDifferentConstraintProto & operator=(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1108
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_descriptor
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
Definition: cp_model.pb.cc:1086
operations_research::sat::NoOverlapConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:79
operations_research::sat::PROTOBUF_FINAL::release_at_most_one
::operations_research::sat::BoolArgumentProto * release_at_most_one()
operations_research::sat::PROTOBUF_FINAL::clear_no_overlap
void clear_no_overlap()
operations_research::sat::PROTOBUF_FINAL::user_time
double user_time() const
operations_research::sat::PROTOBUF_FINAL::CumulativeConstraintProto
CumulativeConstraintProto(const CumulativeConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::mutable_variables
::operations_research::sat::IntegerVariableProto * mutable_variables(int index)
operations_research::sat::PROTOBUF_FINAL::InverseConstraintProto
InverseConstraintProto()
Definition: cp_model.pb.h:3328
operations_research::sat::PROTOBUF_FINAL::solution
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution() const
operations_research::sat::PROTOBUF_FINAL::mutable_times
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_times()
operations_research::sat::PROTOBUF_FINAL::mutable_circuit_covering
::operations_research::sat::CircuitCoveringConstraintProto * mutable_circuit_covering()
operations_research::sat::PROTOBUF_FINAL::has_element
bool has_element() const
operations_research::sat::PROTOBUF_FINAL::clear_automaton
void clear_automaton()
operations_research::sat::InverseConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:111
operations_research::sat::PROTOBUF_FINAL::IntegerArgumentProto
IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::clear_name
void clear_name()
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::offsets
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:55
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1831
operations_research::sat::PROTOBUF_FINAL::set_solution
void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::InitAsDefaultInstance
static void InitAsDefaultInstance()
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const LinearExpressionProto * internal_default_instance()
Definition: cp_model.pb.h:776
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1964
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_bool_and
void unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
operations_research::sat::PROTOBUF_FINAL::has_int_max
bool has_int_max() const
operations_research::sat::PROTOBUF_FINAL::set_name
void set_name(const char *value)
operations_research::sat::PROTOBUF_FINAL::clear_int_min
void clear_int_min()
operations_research::sat::PROTOBUF_FINAL::capacity
::PROTOBUF_NAMESPACE_ID::int64 capacity() const
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:177
operations_research::sat::IntegerArgumentProto
operations_research::sat::PROTOBUF_FINAL::domain_reduction_strategy
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
operations_research::sat::PROTOBUF_FINAL::mutable_element
::operations_research::sat::ElementConstraintProto * mutable_element()
operations_research::sat::PROTOBUF_FINAL::CircuitConstraintProto
CircuitConstraintProto(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2531
operations_research::sat::PROTOBUF_FINAL::New
AllDifferentConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1159
operations_research::sat::PROTOBUF_FINAL::final_states_size
int final_states_size() const
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const ElementConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::operator=
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:3337
operations_research::sat::PROTOBUF_FINAL::mutable_transition_tail
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_tail()
operations_research::sat::PROTOBUF_FINAL::release_bool_and
::operations_research::sat::BoolArgumentProto * release_bool_and()
operations_research::sat::PROTOBUF_FINAL::operator=
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:2126
operations_research::sat::PROTOBUF_FINAL::mutable_solution_info
std::string * mutable_solution_info()
operations_research::sat::PROTOBUF_FINAL::operator=
AutomatonConstraintProto & operator=(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3517
operations_research::sat::PROTOBUF_FINAL::min_level
::PROTOBUF_NAMESPACE_ID::int64 min_level() const
operations_research::sat::PROTOBUF_FINAL::transformations
const ::operations_research::sat::DecisionStrategyProto_AffineTransformation & transformations(int index) const
operations_research::sat::PROTOBUF_FINAL::f_direct
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_direct() const
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const CpObjectiveProto &from)
operations_research::sat::PROTOBUF_FINAL::clear_end
void clear_end()
operations_research::sat::PROTOBUF_FINAL::set_solution_info
void set_solution_info(const char *value, size_t size)
operations_research::sat::PROTOBUF_FINAL::operator=
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:2536
operations_research::sat::PROTOBUF_FINAL::set_index
void set_index(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::LinearArgumentProto
LinearArgumentProto(const LinearArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::set_offset
void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_element
::operations_research::sat::ElementConstraintProto * unsafe_arena_release_element()
operations_research::sat::CpSolverStatus_Parse
bool CpSolverStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus *value)
Definition: cp_model.pb.h:250
operations_research::sat::PROTOBUF_FINAL::boxes_with_null_area_can_overlap
bool boxes_with_null_area_can_overlap() const
operations_research::sat::PROTOBUF_FINAL::LinearConstraintProto
LinearConstraintProto(const LinearConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::operator=
CpModelProto & operator=(const CpModelProto &from)
Definition: cp_model.pb.h:5333
operations_research::sat::PROTOBUF_FINAL::add_intervals
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_status
void set_status(::operations_research::sat::CpSolverStatus value)
operations_research::sat::PROTOBUF_FINAL::transition_label_size
int transition_label_size() const
operations_research::sat::PROTOBUF_FINAL::CpSolverResponse
CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena *arena)
objective_
IntVar *const objective_
Definition: search.cc:2945
operations_research::sat::PROTOBUF_FINAL::set_scaling_factor
void set_scaling_factor(double value)
operations_research::sat::PROTOBUF_FINAL::exprs_size
int exprs_size() const
operations_research::sat::PROTOBUF_FINAL::add_solution_lower_bounds
void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2561
operations_research::sat::PROTOBUF_FINAL::mutable_lin_min
::operations_research::sat::LinearArgumentProto * mutable_lin_min()
operations_research::sat::PROTOBUF_FINAL::mutable_solution_lower_bounds
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_lower_bounds()
operations_research::sat::PROTOBUF_FINAL::f_direct_size
int f_direct_size() const
operations_research::sat::PROTOBUF_FINAL::VariableSelectionStrategy
DecisionStrategyProto_VariableSelectionStrategy VariableSelectionStrategy
Definition: cp_model.pb.h:4990
operations_research::sat::PROTOBUF_FINAL::mutable_int_prod
::operations_research::sat::IntegerArgumentProto * mutable_int_prod()
operations_research::sat::_ElementConstraintProto_default_instance_
class operations_research::sat::ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.h:97
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_routes
void unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
operations_research::sat::PROTOBUF_FINAL::mutable_final_states
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_final_states()
operations_research::sat::PROTOBUF_FINAL::inverse
const ::operations_research::sat::InverseConstraintProto & inverse() const
operations_research::sat::PROTOBUF_FINAL::default_instance
static const TableConstraintProto & default_instance()
operations_research::sat::OPTIMAL
@ OPTIMAL
Definition: cp_model.pb.h:232
operations_research::sat::PROTOBUF_FINAL::release_table
::operations_research::sat::TableConstraintProto * release_table()
operations_research::sat::PROTOBUF_FINAL::transition_tail_size
int transition_tail_size() const
operations_research::sat::PROTOBUF_FINAL::has_target
bool has_target() const
operations_research::sat::PROTOBUF_FINAL::CircuitCoveringConstraintProto
CircuitCoveringConstraintProto(const CircuitCoveringConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::nexts
::PROTOBUF_NAMESPACE_ID::int32 nexts(int index) const
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::field_metadata
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: cp_model.pb.h:53
operations_research::sat::PROTOBUF_FINAL::set_positive_coeff
void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const InverseConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::operator=
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:1104
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:3836
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF
Definition: cp_model.pb.h:202
operations_research::sat::PROTOBUF_FINAL::set_num_conflicts
void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::search_strategy
const ::operations_research::sat::DecisionStrategyProto & search_strategy(int index) const
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE
Definition: cp_model.pb.h:200
operations_research::sat::PROTOBUF_FINAL::clear_start
void clear_start()
operations_research::sat::PROTOBUF_FINAL::set_capacity
void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::AllDifferentConstraintProto
AllDifferentConstraintProto(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1099
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_int_mod
void unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_int_div
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_div()
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1664
operations_research::sat::PROTOBUF_FINAL::clear_exprs
void clear_exprs()
operations_research::sat::PROTOBUF_FINAL::clear_constraints
void clear_constraints()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const LinearConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::~LinearExpressionProto
virtual ~LinearExpressionProto()
operations_research::sat::PROTOBUF_FINAL::operator=
InverseConstraintProto & operator=(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3341
operations_research::sat::PROTOBUF_FINAL::mutable_interval
::operations_research::sat::IntervalConstraintProto * mutable_interval()
operations_research::sat::RoutesConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:99
operations_research::sat::PROTOBUF_FINAL::set_allocated_reservoir
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
operations_research::sat::PROTOBUF_FINAL::tails
::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const
operations_research::sat::PROTOBUF_FINAL::CpObjectiveProto
CpObjectiveProto(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4503
operations_research::sat::PROTOBUF_FINAL::transformations
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > & transformations() const
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::PROTOBUF_SECTION_VARIABLE
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[26] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
operations_research::sat::PROTOBUF_FINAL::set_name
void set_name(std::string &&value)
operations_research::sat::PROTOBUF_FINAL::clear_num_booleans
void clear_num_booleans()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_lin_max
void unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
operations_research::sat::PROTOBUF_FINAL::set_allocated_bool_and
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
operations_research::sat::PROTOBUF_FINAL::clear_all_solutions_were_found
void clear_all_solutions_were_found()
operations_research::sat::PROTOBUF_FINAL::clear_circuit
void clear_circuit()
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const AutomatonConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::release_no_overlap
::operations_research::sat::NoOverlapConstraintProto * release_no_overlap()
operations_research::sat::PROTOBUF_FINAL::nexts_size
int nexts_size() const
operations_research::sat::PROTOBUF_FINAL::clear_boxes_with_null_area_can_overlap
void clear_boxes_with_null_area_can_overlap()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const CircuitCoveringConstraintProto & default_instance()
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.h:46
operations_research::sat::PROTOBUF_FINAL::~IntervalConstraintProto
virtual ~IntervalConstraintProto()
operations_research::sat::PROTOBUF_FINAL::mutable_cumulative
::operations_research::sat::CumulativeConstraintProto * mutable_cumulative()
operations_research::sat::CpSolverStatus
CpSolverStatus
Definition: cp_model.pb.h:227
operations_research::sat::PROTOBUF_FINAL::~CpObjectiveProto
virtual ~CpObjectiveProto()
operations_research::sat::PROTOBUF_FINAL::clear_bool_xor
void clear_bool_xor()
operations_research::sat::PROTOBUF_FINAL::ElementConstraintProto
ElementConstraintProto(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1451
operations_research::sat::PROTOBUF_FINAL::set_all_solutions_were_found
void set_all_solutions_were_found(bool value)
operations_research::sat::PROTOBUF_FINAL::CumulativeConstraintProto
CumulativeConstraintProto(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2121
operations_research::sat::PROTOBUF_FINAL::release_inverse
::operations_research::sat::InverseConstraintProto * release_inverse()
operations_research::sat::PROTOBUF_FINAL::release_bool_or
::operations_research::sat::BoolArgumentProto * release_bool_or()
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:624
operations_research::sat::PROTOBUF_FINAL::clear_wall_time
void clear_wall_time()
operations_research::sat::PROTOBUF_FINAL::solution_size
int solution_size() const
operations_research::sat::PROTOBUF_FINAL::set_variables
void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::InverseConstraintProto
operations_research::sat::_IntegerVariableProto_default_instance_
class operations_research::sat::IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
Definition: cp_model.pb.h:103
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto
DecisionStrategyProto(const DecisionStrategyProto &from)
operations_research::sat::PROTOBUF_FINAL::New
CpObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4563
operations_research::sat::PROTOBUF_FINAL::release_target
::operations_research::sat::LinearExpressionProto * release_target()
operations_research::sat::PROTOBUF_FINAL::CpModelProto
CpModelProto(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5328
operations_research::sat::PROTOBUF_FINAL::VariableSelectionStrategy_Parse
static bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableSelectionStrategy *value)
Definition: cp_model.pb.h:5021
operations_research::sat::PROTOBUF_FINAL::clear_heads
void clear_heads()
operations_research::sat::PROTOBUF_FINAL::clear_circuit_covering
void clear_circuit_covering()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const ConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::transition_label
::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const
operations_research::sat::PROTOBUF_FINAL::positive_coeff
::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const
operations_research::sat::PROTOBUF_FINAL::clear_solution
void clear_solution()
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1139
operations_research::sat::PROTOBUF_FINAL::x_intervals_size
int x_intervals_size() const
operations_research::sat::PROTOBUF_FINAL::PartialVariableAssignment
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5152
operations_research::sat::PROTOBUF_FINAL::operator=
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:4731
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_Name
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:187
operations_research::sat::PROTOBUF_FINAL::New
IntegerArgumentProto * New() const final
Definition: cp_model.pb.h:640
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:174
operations_research::sat::PROTOBUF_FINAL::x_intervals
::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const PartialVariableAssignment &from)
operations_research::sat::PROTOBUF_FINAL::set_starting_state
void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::~DecisionStrategyProto_AffineTransformation
virtual ~DecisionStrategyProto_AffineTransformation()
operations_research::sat::PROTOBUF_FINAL::release_automaton
::operations_research::sat::AutomatonConstraintProto * release_automaton()
operations_research::sat::PROTOBUF_FINAL::intervals_size
int intervals_size() const
operations_research::sat::LinearExpressionProtoDefaultTypeInternal
Definition: cp_model.pb.cc:55
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4533
operations_research::sat::PROTOBUF_FINAL::clear_coeffs
void clear_coeffs()
descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:1048
operations_research::sat::PROTOBUF_FINAL::clear_solution_info
void clear_solution_info()
operations_research::sat::PROTOBUF_FINAL::release_routes
::operations_research::sat::RoutesConstraintProto * release_routes()
operations_research::sat::PROTOBUF_FINAL::has_interval
bool has_interval() const
operations_research::sat::PROTOBUF_FINAL::has_int_div
bool has_int_div() const
operations_research::sat::PROTOBUF_FINAL::int_min
const ::operations_research::sat::IntegerArgumentProto & int_min() const
operations_research::sat::PROTOBUF_FINAL::mutable_routes
::operations_research::sat::RoutesConstraintProto * mutable_routes()
operations_research::sat::PROTOBUF_FINAL::set_size
void set_size(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::LinearExpressionProto
LinearExpressionProto()
Definition: cp_model.pb.h:742
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_no_overlap
void unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
operations_research::sat::PROTOBUF_FINAL::New
IntegerVariableProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:324
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const RoutesConstraintProto &from)
operations_research::PROTOBUF_FINAL
Definition: assignment.pb.h:86
operations_research::sat::CpObjectiveProto
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1672
operations_research::sat::PROTOBUF_FINAL::all_diff
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
operations_research::sat::PROTOBUF_FINAL::New
CircuitConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2591
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:1971
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const CircuitCoveringConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2999
operations_research::sat::PROTOBUF_FINAL::release_solution_hint
::operations_research::sat::PartialVariableAssignment * release_solution_hint()
operations_research::sat::PROTOBUF_FINAL::~CircuitConstraintProto
virtual ~CircuitConstraintProto()
operations_research::sat::PROTOBUF_FINAL::set_demands
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:2568
operations_research::sat::PROTOBUF_FINAL::DomainReductionStrategy
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
Definition: cp_model.pb.h:5026
operations_research::sat::PROTOBUF_FINAL::set_variable_selection_strategy
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
operations_research::sat::_CpModelProto_default_instance_
class operations_research::sat::CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
Definition: cp_model.pb.h:79
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(CircuitCoveringConstraintProto *other)
Definition: cp_model.pb.h:3009
operations_research::sat::PROTOBUF_FINAL::LinearConstraintProto
LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::circuit
const ::operations_research::sat::CircuitConstraintProto & circuit() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_no_overlap_2d
::operations_research::sat::NoOverlap2DConstraintProto * unsafe_arena_release_no_overlap_2d()
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const InverseConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::mutable_literals
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
operations_research::sat::PROTOBUF_FINAL::add_tails
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::operator=
CircuitConstraintProto & operator=(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2540
operations_research::sat::PROTOBUF_FINAL::DomainReductionStrategy_IsValid
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:5037
operations_research::sat::PROTOBUF_FINAL::mutable_intervals
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
operations_research::sat::PROTOBUF_FINAL::set_deterministic_time
void set_deterministic_time(double value)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const RoutesConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2762
operations_research::sat::PROTOBUF_FINAL::New
AutomatonConstraintProto * New() const final
Definition: cp_model.pb.h:3564
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto
DecisionStrategyProto()
Definition: cp_model.pb.h:4881
operations_research::sat::PROTOBUF_FINAL::solution_lower_bounds
::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const
operations_research::sat::ElementConstraintProto
operations_research::sat::PROTOBUF_FINAL::default_instance
static const NoOverlapConstraintProto & default_instance()
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:173
operations_research::sat::PROTOBUF_FINAL::transition_tail
::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const
operations_research::sat::NoOverlap2DConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:83
operations_research::sat::CpSolverStatus_MAX
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:238
operations_research::sat::PROTOBUF_FINAL::mutable_int_div
::operations_research::sat::IntegerArgumentProto * mutable_int_div()
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:175
operations_research::sat::PROTOBUF_FINAL::New
ReservoirConstraintProto * New() const final
Definition: cp_model.pb.h:2364
operations_research::sat::PROTOBUF_FINAL::assumptions
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & assumptions() const
operations_research::sat::PROTOBUF_FINAL::IntegerVariableProto
IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_int_max
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_max()
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3545
operations_research::sat::PROTOBUF_FINAL::all_solutions_were_found
bool all_solutions_were_found() const
operations_research::sat::PROTOBUF_FINAL::ReservoirConstraintProto
ReservoirConstraintProto()
Definition: cp_model.pb.h:2304
operations_research::sat::PROTOBUF_FINAL::CpSolverResponse
CpSolverResponse(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:5597
operations_research::sat::PROTOBUF_FINAL::set_literals
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::~PartialVariableAssignment
virtual ~PartialVariableAssignment()
operations_research::sat::_AutomatonConstraintProto_default_instance_
class operations_research::sat::AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.h:64
operations_research::sat::PROTOBUF_FINAL::solution_hint
const ::operations_research::sat::PartialVariableAssignment & solution_hint() const
operations_research::sat::PROTOBUF_FINAL::clear_var
void clear_var()
operations_research::sat::PROTOBUF_FINAL::index
::PROTOBUF_NAMESPACE_ID::int32 index() const
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4774
operations_research::sat::PROTOBUF_FINAL::set_end
void set_end(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::operator=
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2737
operations_research::sat::PROTOBUF_FINAL::bool_xor
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
operations_research::sat::PROTOBUF_FINAL::set_objective_value
void set_objective_value(double value)
operations_research::sat::PROTOBUF_FINAL::mutable_demands
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_demands()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_circuit
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
operations_research::sat::PROTOBUF_FINAL::VariableSelectionStrategy_descriptor
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.h:5011
operations_research::sat::PROTOBUF_FINAL::domain
::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const
operations_research::sat::PROTOBUF_FINAL::New
DecisionStrategyProto_AffineTransformation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4786
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2348
operations_research::sat::PROTOBUF_FINAL::AffineTransformation
DecisionStrategyProto_AffineTransformation AffineTransformation
Definition: cp_model.pb.h:4988
operations_research::sat::PROTOBUF_FINAL::bool_or
const ::operations_research::sat::BoolArgumentProto & bool_or() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_solution_hint
::operations_research::sat::PartialVariableAssignment * unsafe_arena_release_solution_hint()
operations_research::sat::PROTOBUF_FINAL::set_transition_tail
void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::target
const ::operations_research::sat::LinearExpressionProto & target() const
operations_research::sat::PROTOBUF_FINAL::CpObjectiveProto
CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::New
CpSolverResponse * New() const final
Definition: cp_model.pb.h:5653
operations_research::sat::PROTOBUF_FINAL::clear_f_direct
void clear_f_direct()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_table
void unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto *table)
operations_research::sat::PROTOBUF_FINAL::add_values
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::set_solution_info
void set_solution_info(const char *value)
operations_research::sat::PROTOBUF_FINAL::has_int_min
bool has_int_min() const
operations_research::sat::PROTOBUF_FINAL::clear_int_mod
void clear_int_mod()
operations_research::sat::CpSolverStatus_MIN
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:237
operations_research::sat::PROTOBUF_FINAL::set_transition_head
void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::clear_enforcement_literal
void clear_enforcement_literal()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2780
operations_research::sat::PROTOBUF_FINAL::set_solution_info
void set_solution_info(const std::string &value)
operations_research::sat::PROTOBUF_FINAL::set_x_intervals
void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::solution_lower_bounds_size
int solution_lower_bounds_size() const
operations_research::sat::PROTOBUF_FINAL::operator=
LinearConstraintProto & operator=(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1259
operations_research::sat::PROTOBUF_FINAL::release_linear
::operations_research::sat::LinearConstraintProto * release_linear()
operations_research::sat::PROTOBUF_FINAL::release_solution_info
std::string * release_solution_info()
operations_research::sat::PROTOBUF_FINAL::add_distinguished_nodes
void add_distinguished_nodes(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const AutomatonConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const LinearConstraintProto &from)
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::serialization_table
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: cp_model.pb.h:54
operations_research::sat::PROTOBUF_FINAL::LinearConstraintProto
LinearConstraintProto(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1250
operations_research::sat::PROTOBUF_FINAL::sufficient_assumptions_for_infeasibility
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & sufficient_assumptions_for_infeasibility() const
operations_research::sat::PROTOBUF_FINAL::release_interval
::operations_research::sat::IntervalConstraintProto * release_interval()
operations_research::sat::PROTOBUF_FINAL::New
NoOverlap2DConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1994
operations_research::sat::PROTOBUF_FINAL::InverseConstraintProto
InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2151
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const DecisionStrategyProto_AffineTransformation &from)
operations_research::sat::PROTOBUF_FINAL::DecisionStrategyProto_AffineTransformation
DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4726
operations_research::sat::_CpObjectiveProto_default_instance_
class operations_research::sat::CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.h:82
operations_research::sat::PROTOBUF_FINAL::operator=
IntegerVariableProto & operator=(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:273
operations_research::sat::PROTOBUF_FINAL::IntegerArgumentProto
IntegerArgumentProto(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:584
operations_research::sat::PROTOBUF_FINAL::default_instance
static const CumulativeConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::NoOverlapConstraintProto
NoOverlapConstraintProto(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1783
operations_research::sat::PROTOBUF_FINAL::clear_int_prod
void clear_int_prod()
operations_research::sat::PROTOBUF_FINAL::set_boxes_with_null_area_can_overlap
void set_boxes_with_null_area_can_overlap(bool value)
operations_research::sat::PROTOBUF_FINAL::times_size
int times_size() const
operations_research::sat::PROTOBUF_FINAL::New
RoutesConstraintProto * New() const final
Definition: cp_model.pb.h:2788
operations_research::sat::PROTOBUF_FINAL::mutable_domain
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
operations_research::sat::PROTOBUF_FINAL::clear_num_conflicts
void clear_num_conflicts()
operations_research::sat::PROTOBUF_FINAL::variables
::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const
operations_research::sat::PROTOBUF_FINAL::mutable_f_inverse
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_inverse()
operations_research::sat::PROTOBUF_FINAL::add_actives
void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(TableConstraintProto *other)
Definition: cp_model.pb.h:3193
operations_research::sat::PROTOBUF_FINAL::release_element
::operations_research::sat::ElementConstraintProto * release_element()
operations_research::sat::PROTOBUF_FINAL::exprs
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
operations_research::sat::PROTOBUF_FINAL::set_var
void set_var(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_solution_info
void set_solution_info(std::string &&value)
operations_research::sat::PROTOBUF_FINAL::New
AutomatonConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3568
operations_research::sat::PROTOBUF_FINAL::set_coeffs
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::New
LinearExpressionProto * New() const final
Definition: cp_model.pb.h:802
operations_research::sat::CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_
@ CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:234
operations_research::sat::PROTOBUF_FINAL::TableConstraintProto
TableConstraintProto(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3145
operations_research::sat::PROTOBUF_FINAL::sufficient_assumptions_for_infeasibility_size
int sufficient_assumptions_for_infeasibility_size() const
operations_research::sat::PROTOBUF_FINAL::clear_transition_label
void clear_transition_label()
operations_research::sat::PROTOBUF_FINAL::New
RoutesConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2792
operations_research::sat::PROTOBUF_FINAL::~AutomatonConstraintProto
virtual ~AutomatonConstraintProto()
operations_research::sat::PROTOBUF_FINAL::set_tails
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:181
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(CpSolverResponse *other)
Definition: cp_model.pb.h:5637
operations_research::sat::PROTOBUF_FINAL::New
CpObjectiveProto * New() const final
Definition: cp_model.pb.h:4559
operations_research::sat::_TableConstraintProto_default_instance_
class operations_research::sat::TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.h:136
operations_research::sat::PROTOBUF_FINAL::add_transformations
::operations_research::sat::DecisionStrategyProto_AffineTransformation * add_transformations()
operations_research::sat::PROTOBUF_FINAL::clear_lin_min
void clear_lin_min()
operations_research::sat::PROTOBUF_FINAL::set_capacity
void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_allocated_int_prod
void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
operations_research::sat::PROTOBUF_FINAL::negated
bool negated() const
operations_research::_PartialVariableAssignment_default_instance_
class operations_research::PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: linear_solver.pb.h:118
uint8
unsigned char uint8
Definition: integral_types.h:36
operations_research::sat::CircuitConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:95
operations_research::sat::PROTOBUF_FINAL::set_allocated_int_div
void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:182
vars_
const std::vector< IntVar * > vars_
Definition: alldiff_cst.cc:43
operations_research::sat::PROTOBUF_FINAL::clear_solution_hint
void clear_solution_hint()
operations_research::sat::_BoolArgumentProto_default_instance_
class operations_research::sat::BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
Definition: cp_model.pb.h:67
operations_research::sat::PROTOBUF_FINAL::add_y_intervals
void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(DecisionStrategyProto_AffineTransformation &a, DecisionStrategyProto_AffineTransformation &b)
Definition: cp_model.pb.h:4763
operations_research::sat::PROTOBUF_FINAL::start
::PROTOBUF_NAMESPACE_ID::int32 start() const
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(LinearArgumentProto *other)
Definition: cp_model.pb.h:981
operations_research::sat::NoOverlapConstraintProto
operations_research::sat::PROTOBUF_FINAL::add_final_states
void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::CircuitCoveringConstraintProto
CircuitCoveringConstraintProto(CircuitCoveringConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2969
operations_research::sat::PROTOBUF_FINAL::set_name
void set_name(const std::string &value)
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_reservoir
void unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
operations_research::sat::PROTOBUF_FINAL::add_solution
void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const DecisionStrategyProto &from)
operations_research::sat::PROTOBUF_FINAL::CpSolverResponse
CpSolverResponse(const CpSolverResponse &from)
operations_research::sat::PROTOBUF_FINAL::AutomatonConstraintProto
AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4766
operations_research::sat::PROTOBUF_FINAL::release_objective
::operations_research::sat::CpObjectiveProto * release_objective()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_int_min
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_min()
operations_research::sat::PROTOBUF_FINAL::clear_variables
void clear_variables()
operations_research::sat::PROTOBUF_FINAL::clear_positive_coeff
void clear_positive_coeff()
operations_research::sat::PROTOBUF_FINAL::New
CircuitConstraintProto * New() const final
Definition: cp_model.pb.h:2587
operations_research::sat::PROTOBUF_FINAL::size
::PROTOBUF_NAMESPACE_ID::int32 size() const
operations_research::sat::PROTOBUF_FINAL::ConstraintProto
ConstraintProto()
Definition: cp_model.pb.h:3766
operations_research::sat::PROTOBUF_FINAL::clear_primal_integral
void clear_primal_integral()
operations_research::sat::PROTOBUF_FINAL::demands
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
operations_research::sat::PROTOBUF_FINAL::New
ElementConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1511
operations_research::sat::PROTOBUF_FINAL::coeffs_size
int coeffs_size() const
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:183
operations_research::sat::PROTOBUF_FINAL::set_allocated_interval
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
operations_research::sat::PROTOBUF_FINAL::has_all_diff
bool has_all_diff() const
operations_research::sat::PROTOBUF_FINAL::add_variables
::operations_research::sat::IntegerVariableProto * add_variables()
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const NoOverlapConstraintProto &from)
operations_research::sat::CpSolverResponseDefaultTypeInternal
Definition: cp_model.pb.cc:168
operations_research::sat::PROTOBUF_FINAL::clear_int_div
void clear_int_div()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_lin_min
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_min()
operations_research::sat::PROTOBUF_FINAL::CpObjectiveProto
CpObjectiveProto()
Definition: cp_model.pb.h:4499
operations_research::sat::PROTOBUF_FINAL::intervals
::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::PROTOBUF_SECTION_VARIABLE
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const CpSolverResponse &from)
operations_research::sat::LinearConstraintProto
operations_research::sat::PROTOBUF_FINAL::mutable_transition_head
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_head()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_interval
void unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
operations_research::sat::CpObjectiveProtoDefaultTypeInternal
Definition: cp_model.pb.cc:148
b
int64 b
Definition: constraint_solver/table.cc:43
operations_research::sat::PROTOBUF_FINAL::IntervalConstraintProto
IntervalConstraintProto()
Definition: cp_model.pb.h:1620
operations_research::sat::PROTOBUF_FINAL::constraints_size
int constraints_size() const
operations_research::sat::PROTOBUF_FINAL::release_int_prod
::operations_research::sat::IntegerArgumentProto * release_int_prod()
operations_research::sat::PROTOBUF_FINAL::CpModelProto
CpModelProto(const CpModelProto &from)
operations_research::sat::PROTOBUF_FINAL::~ConstraintProto
virtual ~ConstraintProto()
operations_research::sat::PROTOBUF_FINAL::operator=
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:1456
operations_research::sat::PROTOBUF_FINAL::operator=
NoOverlapConstraintProto & operator=(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1792
operations_research::sat::PROTOBUF_FINAL::mutable_objective
::operations_research::sat::CpObjectiveProto * mutable_objective()
operations_research::sat::PROTOBUF_FINAL::set_negated
void set_negated(bool value)
operations_research::sat::PROTOBUF_FINAL::~ElementConstraintProto
virtual ~ElementConstraintProto()
operations_research::sat::PROTOBUF_FINAL::has_cumulative
bool has_cumulative() const
operations_research::sat::_IntervalConstraintProto_default_instance_
class operations_research::sat::IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.h:106
operations_research::sat::PROTOBUF_FINAL::offset
::PROTOBUF_NAMESPACE_ID::int64 offset() const
operations_research::sat::PROTOBUF_FINAL::has_linear
bool has_linear() const
operations_research::sat::PROTOBUF_FINAL::LinearArgumentProto
LinearArgumentProto(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:933
operations_research::sat::PROTOBUF_FINAL::mutable_name
std::string * mutable_name()
operations_research::sat::PROTOBUF_FINAL::release_no_overlap_2d
::operations_research::sat::NoOverlap2DConstraintProto * release_no_overlap_2d()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2356
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(TableConstraintProto *other)
Definition: cp_model.pb.h:3185
operations_research::sat::PROTOBUF_FINAL::operator=
LinearExpressionProto & operator=(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:755
operations_research::sat::NoOverlap2DConstraintProto
operations_research::sat::_CpSolverResponse_default_instance_
class operations_research::sat::CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.h:85
operations_research::sat::PROTOBUF_FINAL::values
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
operations_research::sat::PROTOBUF_FINAL::set_intervals
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const NoOverlapConstraintProto &from)
operations_research::sat::_PartialVariableAssignment_default_instance_
class operations_research::sat::PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.h:127
operations_research::sat::PROTOBUF_FINAL::transition_head
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_head() const
operations_research::sat::PROTOBUF_FINAL::clear_values
void clear_values()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:1982
capacity
int64 capacity
Definition: routing_flow.cc:129
interval
IntervalVar * interval
Definition: resource.cc:98
operations_research::sat::PROTOBUF_FINAL::clear_f_inverse
void clear_f_inverse()
operations_research::sat::_LinearArgumentProto_default_instance_
class operations_research::sat::LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.h:112
operations_research::sat::PROTOBUF_FINAL::solution_info
const std::string & solution_info() const
operations_research::sat::PROTOBUF_FINAL::LinearArgumentProto
LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const CpModelProto &from)
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(CircuitCoveringConstraintProto *other)
Definition: cp_model.pb.h:3017
operations_research::sat::PROTOBUF_FINAL::set_sufficient_assumptions_for_infeasibility
void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::constraints
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > & constraints() const
operations_research::sat::PROTOBUF_FINAL::routes
const ::operations_research::sat::RoutesConstraintProto & routes() const
operations_research::sat::PROTOBUF_FINAL::default_instance
static const CpSolverResponse & default_instance()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(IntegerVariableProto *other)
Definition: cp_model.pb.h:312
internal
Definition: bop_parameters.pb.h:40
operations_research::sat::PROTOBUF_FINAL::element
const ::operations_research::sat::ElementConstraintProto & element() const
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:632
operations_research::sat::PROTOBUF_FINAL::mutable_nexts
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_nexts()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1147
operations_research::sat::PROTOBUF_FINAL::ElementConstraintProto
ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::set_vars
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::vars_size
int vars_size() const
operations_research::sat::PROTOBUF_FINAL::InverseConstraintProto
InverseConstraintProto(const InverseConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::VariableSelectionStrategy_IsValid
static bool VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.h:5001
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4543
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const ElementConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::~BoolArgumentProto
virtual ~BoolArgumentProto()
operations_research::sat::PROTOBUF_FINAL::CircuitCoveringConstraintProto
CircuitCoveringConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::mutable_int_mod
::operations_research::sat::IntegerArgumentProto * mutable_int_mod()
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1488
operations_research::sat::PROTOBUF_FINAL::New
CpModelProto * New() const final
Definition: cp_model.pb.h:5384
operations_research::sat::PROTOBUF_FINAL::mutable_all_diff
::operations_research::sat::AllDifferentConstraintProto * mutable_all_diff()
operations_research::sat::_CumulativeConstraintProto_default_instance_
class operations_research::sat::CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.h:88
operations_research::sat::PROTOBUF_FINAL::demands
::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
Definition: cp_model.pb.h:2345
operations_research::sat::PROTOBUF_FINAL::~RoutesConstraintProto
virtual ~RoutesConstraintProto()
operations_research::sat::PROTOBUF_FINAL::variables
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & variables() const
operations_research::sat::PROTOBUF_FINAL::clear_max_level
void clear_max_level()
operations_research::sat::PROTOBUF_FINAL::values
::PROTOBUF_NAMESPACE_ID::int64 values(int index) const
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const CpSolverResponse &from)
operations_research::sat::PROTOBUF_FINAL::no_overlap
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
operations_research::sat::PROTOBUF_FINAL::mutable_int_min
::operations_research::sat::IntegerArgumentProto * mutable_int_min()
operations_research::sat::PROTOBUF_FINAL::DomainReductionStrategy_descriptor
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DomainReductionStrategy_descriptor()
Definition: cp_model.pb.h:5047
operations_research::sat::PROTOBUF_FINAL::LinearExpressionProto
LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const NoOverlap2DConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::NoOverlapConstraintProto
NoOverlapConstraintProto(const NoOverlapConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::mutable_automaton
::operations_research::sat::AutomatonConstraintProto * mutable_automaton()
operations_research::sat::PROTOBUF_FINAL::coeffs
::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:204
operations_research::sat::PROTOBUF_FINAL::add_f_inverse
void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const TableConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2571
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const IntegerVariableProto &from)
operations_research::sat::TableConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:107
operations_research::sat::PROTOBUF_FINAL::set_allocated_circuit_covering
void set_allocated_circuit_covering(::operations_research::sat::CircuitCoveringConstraintProto *circuit_covering)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3829
operations_research::sat::PROTOBUF_FINAL::actives
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & actives() const
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1661
operations_research::sat::PROTOBUF_FINAL::mutable_constraints
::operations_research::sat::ConstraintProto * mutable_constraints(int index)
operations_research::sat::PROTOBUF_FINAL::solution_lower_bounds
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_lower_bounds() const
operations_research::sat::PROTOBUF_FINAL::set_y_intervals
void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::set_wall_time
void set_wall_time(double value)
operations_research::sat::PROTOBUF_FINAL::has_automaton
bool has_automaton() const
operations_research::sat::PROTOBUF_FINAL::clear_scaling_factor
void clear_scaling_factor()
operations_research::sat::PROTOBUF_FINAL::starting_state
::PROTOBUF_NAMESPACE_ID::int64 starting_state() const
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const DecisionStrategyProto_AffineTransformation &from)
operations_research::sat::PROTOBUF_FINAL::set_allocated_automaton
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
operations_research::sat::PROTOBUF_FINAL::New
BoolArgumentProto * New() const final
Definition: cp_model.pb.h:489
operations_research::sat::PROTOBUF_FINAL::mutable_linear
::operations_research::sat::LinearConstraintProto * mutable_linear()
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF
Definition: cp_model.pb.h:203
operations_research::sat::PROTOBUF_FINAL::set_allocated_no_overlap_2d
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
operations_research::sat::PROTOBUF_FINAL::num_binary_propagations
::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const
operations_research::sat::PROTOBUF_FINAL::TableConstraintProto
TableConstraintProto(const TableConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::default_instance
static const ElementConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::distinguished_nodes
::PROTOBUF_NAMESPACE_ID::int64 distinguished_nodes(int index) const
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const DecisionStrategyProto &from)
operations_research::sat::PROTOBUF_FINAL::New
LinearExpressionProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:806
operations_research::sat::PROTOBUF_FINAL::New
AllDifferentConstraintProto * New() const final
Definition: cp_model.pb.h:1155
operations_research::sat::PROTOBUF_FINAL::mutable_transformations
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > * mutable_transformations()
operations_research::sat::_CircuitCoveringConstraintProto_default_instance_
class operations_research::sat::CircuitCoveringConstraintProtoDefaultTypeInternal _CircuitCoveringConstraintProto_default_instance_
Definition: cp_model.pb.h:73
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_all_diff
::operations_research::sat::AllDifferentConstraintProto * unsafe_arena_release_all_diff()
operations_research::sat::PROTOBUF_FINAL::operator=
LinearArgumentProto & operator=(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:942
operations_research::sat::PROTOBUF_FINAL::~LinearArgumentProto
virtual ~LinearArgumentProto()
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1129
operations_research::sat::PROTOBUF_FINAL::BoolArgumentProto
BoolArgumentProto(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:433
operations_research::sat::PROTOBUF_FINAL::set_f_inverse
void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::operator=
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
Definition: cp_model.pb.h:2313
operations_research::sat::PROTOBUF_FINAL::operator=
CircuitCoveringConstraintProto & operator=(const CircuitCoveringConstraintProto &from)
Definition: cp_model.pb.h:2974
operations_research::sat::PROTOBUF_FINAL::times
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & times() const
operations_research::sat::PROTOBUF_FINAL::mutable_circuit
::operations_research::sat::CircuitConstraintProto * mutable_circuit()
operations_research::sat::PROTOBUF_FINAL::TableConstraintProto
TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
operations_research::sat::PROTOBUF_FINAL::mutable_transition_label
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_label()
operations_research::sat::PROTOBUF_FINAL::CumulativeConstraintProto
CumulativeConstraintProto()
Definition: cp_model.pb.h:2117
operations_research::sat::PROTOBUF_FINAL::demands
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & demands() const
operations_research::sat::PROTOBUF_FINAL::clear_num_integer_propagations
void clear_num_integer_propagations()
operations_research::sat::PROTOBUF_FINAL::clear_assumptions
void clear_assumptions()
operations_research::sat::PROTOBUF_FINAL::New
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5212
operations_research::sat::PROTOBUF_FINAL::clear_int_max
void clear_int_max()
operations_research::sat::PROTOBUF_FINAL::objective
const ::operations_research::sat::CpObjectiveProto & objective() const
operations_research::sat::PROTOBUF_FINAL::distinguished_nodes
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & distinguished_nodes() const
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_objective
::operations_research::sat::CpObjectiveProto * unsafe_arena_release_objective()
operations_research::sat::PROTOBUF_FINAL::clear_tightened_variables
void clear_tightened_variables()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const DecisionStrategyProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_release_bool_xor
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_xor()
operations_research::sat::PROTOBUF_FINAL::New
CircuitCoveringConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3029
operations_research::sat::PROTOBUF_FINAL::set_num_branches
void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::mutable_heads
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
operations_research::sat::PROTOBUF_FINAL::GetReflection
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:288
operations_research::sat::PROTOBUF_FINAL::clear_sufficient_assumptions_for_infeasibility
void clear_sufficient_assumptions_for_infeasibility()
operations_research::sat::PROTOBUF_FINAL::set_target
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3548
operations_research::sat::PROTOBUF_FINAL::transition_tail
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_tail() const
operations_research::sat::PROTOBUF_FINAL::clear_final_states
void clear_final_states()
name
const std::string name
Definition: default_search.cc:807
operations_research::sat::PROTOBUF_FINAL::New
ReservoirConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2368
operations_research::sat::PROTOBUF_FINAL::CpSolverResponse
CpSolverResponse()
Definition: cp_model.pb.h:5593
operations_research::sat::LinearArgumentProtoDefaultTypeInternal
Definition: cp_model.pb.cc:59
operations_research::sat::PROTOBUF_FINAL::New
TableConstraintProto * New() const final
Definition: cp_model.pb.h:3201
operations_research::sat::PROTOBUF_FINAL::~NoOverlapConstraintProto
virtual ~NoOverlapConstraintProto()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1298
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const ReservoirConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(CpModelProto &a, CpModelProto &b)
Definition: cp_model.pb.h:5365
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(LinearExpressionProto *other)
Definition: cp_model.pb.h:786
operations_research::sat::PROTOBUF_FINAL::set_allocated_cumulative
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const LinearArgumentProto &from)
operations_research::sat::PROTOBUF_FINAL::mutable_solution_upper_bounds
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_upper_bounds()
operations_research::sat::PROTOBUF_FINAL::swap
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:5189
operations_research::sat::PROTOBUF_FINAL::Swap
void Swap(ConstraintProto *other)
Definition: cp_model.pb.h:3839
operations_research::sat::PROTOBUF_FINAL::set_allocated_all_diff
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
operations_research::sat::PROTOBUF_FINAL::MergeFrom
void MergeFrom(const CumulativeConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::New
PartialVariableAssignment * New() const final
Definition: cp_model.pb.h:5208
operations_research::sat::PROTOBUF_FINAL::clear_transition_tail
void clear_transition_tail()
operations_research::sat::PROTOBUF_FINAL::set_allocated_int_min
void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
operations_research::sat::PROTOBUF_FINAL::internal_default_instance
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2338
operations_research::sat::PROTOBUF_FINAL::set_allocated_element
void set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
operations_research::sat::PROTOBUF_FINAL::clear_distinguished_nodes
void clear_distinguished_nodes()
operations_research::sat::PROTOBUF_FINAL::UnsafeArenaSwap
void UnsafeArenaSwap(BoolArgumentProto *other)
Definition: cp_model.pb.h:481
operations_research::sat::PROTOBUF_FINAL::add_nexts
void add_nexts(::PROTOBUF_NAMESPACE_ID::int32 value)
operations_research::sat::PROTOBUF_FINAL::y_intervals
::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const
operations_research::sat::PROTOBUF_FINAL::mutable_at_most_one
::operations_research::sat::BoolArgumentProto * mutable_at_most_one()
operations_research::sat::PROTOBUF_FINAL::release_int_max
::operations_research::sat::IntegerArgumentProto * release_int_max()
operations_research::sat::PROTOBUF_FINAL::default_instance
static const InverseConstraintProto & default_instance()
operations_research::sat::PROTOBUF_FINAL::~ReservoirConstraintProto
virtual ~ReservoirConstraintProto()
operations_research::sat::PROTOBUF_FINAL::clear_cumulative
void clear_cumulative()
operations_research::sat::PROTOBUF_FINAL::unsafe_arena_set_allocated_cumulative
void unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
operations_research::sat::PROTOBUF_FINAL::New
CpModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5388
operations_research::sat::PROTOBUF_FINAL::num_integer_propagations
::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const
operations_research::sat::PROTOBUF_FINAL::set_allocated_inverse
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
operations_research::sat::PROTOBUF_FINAL::operator=
NoOverlap2DConstraintProto & operator=(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1943
operations_research::sat::_CircuitConstraintProto_default_instance_
class operations_research::sat::CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.h:70
operations_research::sat::CpSolverStatus_ARRAYSIZE
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:239
operations_research::sat::PROTOBUF_FINAL::transition_label
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_label() const
operations_research::sat::PartialVariableAssignmentDefaultTypeInternal
Definition: cp_model.pb.cc:160
operations_research::sat::PROTOBUF_FINAL::heads
::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const
operations_research::sat::PROTOBUF_FINAL::set_min_level
void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value)
operations_research::sat::PROTOBUF_FINAL::y_intervals_size
int y_intervals_size() const
operations_research::sat::PROTOBUF_FINAL::operator=
RoutesConstraintProto & operator=(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2741
operations_research::sat::PROTOBUF_FINAL::set_allocated_int_max
void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
operations_research::sat::_NoOverlapConstraintProto_default_instance_
class operations_research::sat::NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.h:124
operations_research::sat::PROTOBUF_FINAL::operator=
ConstraintProto & operator=(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3779
operations_research::sat::PROTOBUF_FINAL::CopyFrom
void CopyFrom(const ConstraintProto &from)
operations_research::sat::PROTOBUF_FINAL::lin_min
const ::operations_research::sat::LinearArgumentProto & lin_min() const
operations_research::sat::PROTOBUF_FINAL::num_conflicts
::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const
operations_research::sat::PROTOBUF_FINAL::mutable_table
::operations_research::sat::TableConstraintProto * mutable_table()
operations_research::sat::PROTOBUF_FINAL::set_primal_integral
void set_primal_integral(double value)