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