OR-Tools  9.2
boolean_problem.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/boolean_problem.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fboolean_5fproblem_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fboolean_5fproblem_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3019000
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 3019001 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/unknown_field_set.h>
34 // @@protoc_insertion_point(includes)
35 #include <google/protobuf/port_def.inc>
36 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fboolean_5fproblem_2eproto
37 PROTOBUF_NAMESPACE_OPEN
38 namespace internal {
39 class AnyMetadata;
40 } // namespace internal
41 PROTOBUF_NAMESPACE_CLOSE
42 
43 // Internal implementation detail -- do not use these members.
45  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
46  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
47  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
48  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
49  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
50  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
51  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
52  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
53  static const uint32_t offsets[];
54 };
55 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto;
56 namespace operations_research {
57 namespace sat {
58 class BooleanAssignment;
59 struct BooleanAssignmentDefaultTypeInternal;
60 extern BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_;
61 class LinearBooleanConstraint;
62 struct LinearBooleanConstraintDefaultTypeInternal;
63 extern LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_;
64 class LinearBooleanProblem;
65 struct LinearBooleanProblemDefaultTypeInternal;
66 extern LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_;
67 class LinearObjective;
68 struct LinearObjectiveDefaultTypeInternal;
69 extern LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_;
70 } // namespace sat
71 } // namespace operations_research
72 PROTOBUF_NAMESPACE_OPEN
73 template<> ::operations_research::sat::BooleanAssignment* Arena::CreateMaybeMessage<::operations_research::sat::BooleanAssignment>(Arena*);
74 template<> ::operations_research::sat::LinearBooleanConstraint* Arena::CreateMaybeMessage<::operations_research::sat::LinearBooleanConstraint>(Arena*);
75 template<> ::operations_research::sat::LinearBooleanProblem* Arena::CreateMaybeMessage<::operations_research::sat::LinearBooleanProblem>(Arena*);
76 template<> ::operations_research::sat::LinearObjective* Arena::CreateMaybeMessage<::operations_research::sat::LinearObjective>(Arena*);
77 PROTOBUF_NAMESPACE_CLOSE
78 namespace operations_research {
79 namespace sat {
80 
81 // ===================================================================
82 
84  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearBooleanConstraint) */ {
85  public:
87  ~LinearBooleanConstraint() override;
88  explicit constexpr LinearBooleanConstraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
89 
93  *this = ::std::move(from);
94  }
95 
97  CopyFrom(from);
98  return *this;
99  }
101  if (this == &from) return *this;
102  if (GetOwningArena() == from.GetOwningArena()
103  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
104  && GetOwningArena() != nullptr
105  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
106  ) {
107  InternalSwap(&from);
108  } else {
109  CopyFrom(from);
110  }
111  return *this;
112  }
113 
114  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
115  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
116  }
117  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
118  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
119  }
120 
121  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
122  return GetDescriptor();
123  }
124  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
125  return default_instance().GetMetadata().descriptor;
126  }
127  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
128  return default_instance().GetMetadata().reflection;
129  }
131  return *internal_default_instance();
132  }
134  return reinterpret_cast<const LinearBooleanConstraint*>(
136  }
137  static constexpr int kIndexInFileMessages =
138  0;
139 
141  a.Swap(&b);
142  }
143  inline void Swap(LinearBooleanConstraint* other) {
144  if (other == this) return;
145  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
146  if (GetOwningArena() != nullptr &&
147  GetOwningArena() == other->GetOwningArena()) {
148  #else // PROTOBUF_FORCE_COPY_IN_SWAP
149  if (GetOwningArena() == other->GetOwningArena()) {
150  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
151  InternalSwap(other);
152  } else {
153  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
154  }
155  }
157  if (other == this) return;
158  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
159  InternalSwap(other);
160  }
161 
162  // implements Message ----------------------------------------------
163 
164  LinearBooleanConstraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
165  return CreateMaybeMessage<LinearBooleanConstraint>(arena);
166  }
167  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
168  void CopyFrom(const LinearBooleanConstraint& from);
169  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
170  void MergeFrom(const LinearBooleanConstraint& from);
171  private:
172  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
173  public:
174  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
175  bool IsInitialized() const final;
176 
177  size_t ByteSizeLong() const final;
178  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
179  uint8_t* _InternalSerialize(
180  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
181  int GetCachedSize() const final { return _cached_size_.Get(); }
182 
183  private:
184  void SharedCtor();
185  void SharedDtor();
186  void SetCachedSize(int size) const final;
187  void InternalSwap(LinearBooleanConstraint* other);
188 
189  private:
190  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
191  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
192  return "operations_research.sat.LinearBooleanConstraint";
193  }
194  protected:
195  explicit LinearBooleanConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
196  bool is_message_owned = false);
197  private:
198  static void ArenaDtor(void* object);
199  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
200  public:
201 
202  static const ClassData _class_data_;
203  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
204 
205  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
206 
207  // nested types ----------------------------------------------------
208 
209  // accessors -------------------------------------------------------
210 
211  enum : int {
217  };
218  // repeated int32 literals = 1;
219  int literals_size() const;
220  private:
221  int _internal_literals_size() const;
222  public:
223  void clear_literals();
224  private:
225  int32_t _internal_literals(int index) const;
226  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
227  _internal_literals() const;
228  void _internal_add_literals(int32_t value);
229  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
230  _internal_mutable_literals();
231  public:
232  int32_t literals(int index) const;
233  void set_literals(int index, int32_t value);
234  void add_literals(int32_t value);
235  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
236  literals() const;
237  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
239 
240  // repeated int64 coefficients = 2;
241  int coefficients_size() const;
242  private:
243  int _internal_coefficients_size() const;
244  public:
245  void clear_coefficients();
246  private:
247  int64_t _internal_coefficients(int index) const;
248  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
249  _internal_coefficients() const;
250  void _internal_add_coefficients(int64_t value);
251  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
252  _internal_mutable_coefficients();
253  public:
254  int64_t coefficients(int index) const;
255  void set_coefficients(int index, int64_t value);
256  void add_coefficients(int64_t value);
257  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
258  coefficients() const;
259  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
261 
262  // optional string name = 5 [default = ""];
263  bool has_name() const;
264  private:
265  bool _internal_has_name() const;
266  public:
267  void clear_name();
268  const std::string& name() const;
269  template <typename ArgT0 = const std::string&, typename... ArgT>
270  void set_name(ArgT0&& arg0, ArgT... args);
271  std::string* mutable_name();
272  PROTOBUF_NODISCARD std::string* release_name();
273  void set_allocated_name(std::string* name);
274  private:
275  const std::string& _internal_name() const;
276  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
277  std::string* _internal_mutable_name();
278  public:
279 
280  // optional int64 lower_bound = 3;
281  bool has_lower_bound() const;
282  private:
283  bool _internal_has_lower_bound() const;
284  public:
285  void clear_lower_bound();
286  int64_t lower_bound() const;
287  void set_lower_bound(int64_t value);
288  private:
289  int64_t _internal_lower_bound() const;
290  void _internal_set_lower_bound(int64_t value);
291  public:
292 
293  // optional int64 upper_bound = 4;
294  bool has_upper_bound() const;
295  private:
296  bool _internal_has_upper_bound() const;
297  public:
298  void clear_upper_bound();
299  int64_t upper_bound() const;
300  void set_upper_bound(int64_t value);
301  private:
302  int64_t _internal_upper_bound() const;
303  void _internal_set_upper_bound(int64_t value);
304  public:
305 
306  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearBooleanConstraint)
307  private:
308  class _Internal;
309 
310  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
311  typedef void InternalArenaConstructable_;
312  typedef void DestructorSkippable_;
313  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
314  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
315  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > literals_;
316  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > coefficients_;
317  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
318  int64_t lower_bound_;
319  int64_t upper_bound_;
320  friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
321 };
322 // -------------------------------------------------------------------
323 
324 class LinearObjective final :
325  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearObjective) */ {
326  public:
327  inline LinearObjective() : LinearObjective(nullptr) {}
328  ~LinearObjective() override;
329  explicit constexpr LinearObjective(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
330 
331  LinearObjective(const LinearObjective& from);
333  : LinearObjective() {
334  *this = ::std::move(from);
335  }
336 
338  CopyFrom(from);
339  return *this;
340  }
341  inline LinearObjective& operator=(LinearObjective&& from) noexcept {
342  if (this == &from) return *this;
343  if (GetOwningArena() == from.GetOwningArena()
344  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
345  && GetOwningArena() != nullptr
346  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
347  ) {
348  InternalSwap(&from);
349  } else {
350  CopyFrom(from);
351  }
352  return *this;
353  }
354 
355  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
356  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
357  }
358  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
359  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
360  }
361 
362  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
363  return GetDescriptor();
364  }
365  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
366  return default_instance().GetMetadata().descriptor;
367  }
368  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
369  return default_instance().GetMetadata().reflection;
370  }
372  return *internal_default_instance();
373  }
375  return reinterpret_cast<const LinearObjective*>(
377  }
378  static constexpr int kIndexInFileMessages =
379  1;
380 
382  a.Swap(&b);
383  }
384  inline void Swap(LinearObjective* other) {
385  if (other == this) return;
386  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
387  if (GetOwningArena() != nullptr &&
388  GetOwningArena() == other->GetOwningArena()) {
389  #else // PROTOBUF_FORCE_COPY_IN_SWAP
390  if (GetOwningArena() == other->GetOwningArena()) {
391  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
392  InternalSwap(other);
393  } else {
394  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
395  }
396  }
398  if (other == this) return;
399  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
400  InternalSwap(other);
401  }
402 
403  // implements Message ----------------------------------------------
404 
405  LinearObjective* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
406  return CreateMaybeMessage<LinearObjective>(arena);
407  }
408  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
409  void CopyFrom(const LinearObjective& from);
410  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
411  void MergeFrom(const LinearObjective& from);
412  private:
413  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
414  public:
415  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
416  bool IsInitialized() const final;
417 
418  size_t ByteSizeLong() const final;
419  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
420  uint8_t* _InternalSerialize(
421  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
422  int GetCachedSize() const final { return _cached_size_.Get(); }
423 
424  private:
425  void SharedCtor();
426  void SharedDtor();
427  void SetCachedSize(int size) const final;
428  void InternalSwap(LinearObjective* other);
429 
430  private:
431  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
432  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
433  return "operations_research.sat.LinearObjective";
434  }
435  protected:
436  explicit LinearObjective(::PROTOBUF_NAMESPACE_ID::Arena* arena,
437  bool is_message_owned = false);
438  private:
439  static void ArenaDtor(void* object);
440  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
441  public:
442 
443  static const ClassData _class_data_;
444  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
445 
446  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
447 
448  // nested types ----------------------------------------------------
449 
450  // accessors -------------------------------------------------------
451 
452  enum : int {
455  kOffsetFieldNumber = 3,
456  kScalingFactorFieldNumber = 4,
457  };
458  // repeated int32 literals = 1;
459  int literals_size() const;
460  private:
461  int _internal_literals_size() const;
462  public:
463  void clear_literals();
464  private:
465  int32_t _internal_literals(int index) const;
466  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
467  _internal_literals() const;
468  void _internal_add_literals(int32_t value);
469  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
470  _internal_mutable_literals();
471  public:
472  int32_t literals(int index) const;
473  void set_literals(int index, int32_t value);
474  void add_literals(int32_t value);
475  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
476  literals() const;
477  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
479 
480  // repeated int64 coefficients = 2;
481  int coefficients_size() const;
482  private:
483  int _internal_coefficients_size() const;
484  public:
485  void clear_coefficients();
486  private:
487  int64_t _internal_coefficients(int index) const;
488  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
489  _internal_coefficients() const;
490  void _internal_add_coefficients(int64_t value);
491  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
492  _internal_mutable_coefficients();
493  public:
494  int64_t coefficients(int index) const;
495  void set_coefficients(int index, int64_t value);
496  void add_coefficients(int64_t value);
497  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
498  coefficients() const;
499  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
501 
502  // optional double offset = 3 [default = 0];
503  bool has_offset() const;
504  private:
505  bool _internal_has_offset() const;
506  public:
507  void clear_offset();
508  double offset() const;
509  void set_offset(double value);
510  private:
511  double _internal_offset() const;
512  void _internal_set_offset(double value);
513  public:
514 
515  // optional double scaling_factor = 4 [default = 1];
516  bool has_scaling_factor() const;
517  private:
518  bool _internal_has_scaling_factor() const;
519  public:
520  void clear_scaling_factor();
521  double scaling_factor() const;
522  void set_scaling_factor(double value);
523  private:
524  double _internal_scaling_factor() const;
525  void _internal_set_scaling_factor(double value);
526  public:
527 
528  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearObjective)
529  private:
530  class _Internal;
531 
532  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
533  typedef void InternalArenaConstructable_;
534  typedef void DestructorSkippable_;
535  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
536  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
537  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > literals_;
538  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > coefficients_;
539  double offset_;
540  double scaling_factor_;
541  friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
542 };
543 // -------------------------------------------------------------------
544 
545 class BooleanAssignment final :
546  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BooleanAssignment) */ {
547  public:
548  inline BooleanAssignment() : BooleanAssignment(nullptr) {}
549  ~BooleanAssignment() override;
550  explicit constexpr BooleanAssignment(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
551 
554  : BooleanAssignment() {
555  *this = ::std::move(from);
556  }
557 
559  CopyFrom(from);
560  return *this;
561  }
562  inline BooleanAssignment& operator=(BooleanAssignment&& from) noexcept {
563  if (this == &from) return *this;
564  if (GetOwningArena() == from.GetOwningArena()
565  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
566  && GetOwningArena() != nullptr
567  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
568  ) {
569  InternalSwap(&from);
570  } else {
571  CopyFrom(from);
572  }
573  return *this;
574  }
575 
576  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
577  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
578  }
579  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
580  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
581  }
582 
583  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
584  return GetDescriptor();
585  }
586  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
587  return default_instance().GetMetadata().descriptor;
588  }
589  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
590  return default_instance().GetMetadata().reflection;
591  }
593  return *internal_default_instance();
594  }
596  return reinterpret_cast<const BooleanAssignment*>(
598  }
599  static constexpr int kIndexInFileMessages =
600  2;
601 
603  a.Swap(&b);
604  }
605  inline void Swap(BooleanAssignment* other) {
606  if (other == this) return;
607  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
608  if (GetOwningArena() != nullptr &&
609  GetOwningArena() == other->GetOwningArena()) {
610  #else // PROTOBUF_FORCE_COPY_IN_SWAP
611  if (GetOwningArena() == other->GetOwningArena()) {
612  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
613  InternalSwap(other);
614  } else {
615  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
616  }
617  }
619  if (other == this) return;
620  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
621  InternalSwap(other);
622  }
623 
624  // implements Message ----------------------------------------------
625 
626  BooleanAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
627  return CreateMaybeMessage<BooleanAssignment>(arena);
628  }
629  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
630  void CopyFrom(const BooleanAssignment& from);
631  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
632  void MergeFrom(const BooleanAssignment& from);
633  private:
634  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
635  public:
636  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
637  bool IsInitialized() const final;
638 
639  size_t ByteSizeLong() const final;
640  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
641  uint8_t* _InternalSerialize(
642  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
643  int GetCachedSize() const final { return _cached_size_.Get(); }
644 
645  private:
646  void SharedCtor();
647  void SharedDtor();
648  void SetCachedSize(int size) const final;
649  void InternalSwap(BooleanAssignment* other);
650 
651  private:
652  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
653  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
654  return "operations_research.sat.BooleanAssignment";
655  }
656  protected:
657  explicit BooleanAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
658  bool is_message_owned = false);
659  private:
660  static void ArenaDtor(void* object);
661  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
662  public:
663 
664  static const ClassData _class_data_;
665  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
666 
667  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
668 
669  // nested types ----------------------------------------------------
670 
671  // accessors -------------------------------------------------------
672 
673  enum : int {
675  };
676  // repeated int32 literals = 1;
677  int literals_size() const;
678  private:
679  int _internal_literals_size() const;
680  public:
681  void clear_literals();
682  private:
683  int32_t _internal_literals(int index) const;
684  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
685  _internal_literals() const;
686  void _internal_add_literals(int32_t value);
687  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
688  _internal_mutable_literals();
689  public:
690  int32_t literals(int index) const;
691  void set_literals(int index, int32_t value);
692  void add_literals(int32_t value);
693  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
694  literals() const;
695  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
697 
698  // @@protoc_insertion_point(class_scope:operations_research.sat.BooleanAssignment)
699  private:
700  class _Internal;
701 
702  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
703  typedef void InternalArenaConstructable_;
704  typedef void DestructorSkippable_;
705  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > literals_;
706  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
707  friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
708 };
709 // -------------------------------------------------------------------
710 
711 class LinearBooleanProblem final :
712  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearBooleanProblem) */ {
713  public:
715  ~LinearBooleanProblem() override;
716  explicit constexpr LinearBooleanProblem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
717 
721  *this = ::std::move(from);
722  }
723 
725  CopyFrom(from);
726  return *this;
727  }
729  if (this == &from) return *this;
730  if (GetOwningArena() == from.GetOwningArena()
731  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
732  && GetOwningArena() != nullptr
733  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
734  ) {
735  InternalSwap(&from);
736  } else {
737  CopyFrom(from);
738  }
739  return *this;
740  }
741 
742  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
743  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
744  }
745  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
746  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
747  }
748 
749  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
750  return GetDescriptor();
751  }
752  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
753  return default_instance().GetMetadata().descriptor;
754  }
755  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
756  return default_instance().GetMetadata().reflection;
757  }
759  return *internal_default_instance();
760  }
762  return reinterpret_cast<const LinearBooleanProblem*>(
764  }
765  static constexpr int kIndexInFileMessages =
766  3;
767 
769  a.Swap(&b);
770  }
771  inline void Swap(LinearBooleanProblem* other) {
772  if (other == this) return;
773  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
774  if (GetOwningArena() != nullptr &&
775  GetOwningArena() == other->GetOwningArena()) {
776  #else // PROTOBUF_FORCE_COPY_IN_SWAP
777  if (GetOwningArena() == other->GetOwningArena()) {
778  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
779  InternalSwap(other);
780  } else {
781  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
782  }
783  }
785  if (other == this) return;
786  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
787  InternalSwap(other);
788  }
789 
790  // implements Message ----------------------------------------------
791 
792  LinearBooleanProblem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
793  return CreateMaybeMessage<LinearBooleanProblem>(arena);
794  }
795  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
796  void CopyFrom(const LinearBooleanProblem& from);
797  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
798  void MergeFrom(const LinearBooleanProblem& from);
799  private:
800  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
801  public:
802  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
803  bool IsInitialized() const final;
804 
805  size_t ByteSizeLong() const final;
806  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
807  uint8_t* _InternalSerialize(
808  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
809  int GetCachedSize() const final { return _cached_size_.Get(); }
810 
811  private:
812  void SharedCtor();
813  void SharedDtor();
814  void SetCachedSize(int size) const final;
815  void InternalSwap(LinearBooleanProblem* other);
816 
817  private:
818  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
819  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
820  return "operations_research.sat.LinearBooleanProblem";
821  }
822  protected:
823  explicit LinearBooleanProblem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
824  bool is_message_owned = false);
825  private:
826  static void ArenaDtor(void* object);
827  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
828  public:
829 
830  static const ClassData _class_data_;
831  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
832 
833  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
834 
835  // nested types ----------------------------------------------------
836 
837  // accessors -------------------------------------------------------
838 
839  enum : int {
840  kConstraintsFieldNumber = 4,
841  kVarNamesFieldNumber = 6,
843  kObjectiveFieldNumber = 5,
844  kAssignmentFieldNumber = 7,
845  kNumVariablesFieldNumber = 3,
846  kOriginalNumVariablesFieldNumber = 8,
847  };
848  // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
849  int constraints_size() const;
850  private:
851  int _internal_constraints_size() const;
852  public:
853  void clear_constraints();
855  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >*
856  mutable_constraints();
857  private:
858  const ::operations_research::sat::LinearBooleanConstraint& _internal_constraints(int index) const;
859  ::operations_research::sat::LinearBooleanConstraint* _internal_add_constraints();
860  public:
861  const ::operations_research::sat::LinearBooleanConstraint& constraints(int index) const;
863  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >&
864  constraints() const;
865 
866  // repeated string var_names = 6;
867  int var_names_size() const;
868  private:
869  int _internal_var_names_size() const;
870  public:
871  void clear_var_names();
872  const std::string& var_names(int index) const;
873  std::string* mutable_var_names(int index);
874  void set_var_names(int index, const std::string& value);
875  void set_var_names(int index, std::string&& value);
876  void set_var_names(int index, const char* value);
877  void set_var_names(int index, const char* value, size_t size);
878  std::string* add_var_names();
879  void add_var_names(const std::string& value);
880  void add_var_names(std::string&& value);
881  void add_var_names(const char* value);
882  void add_var_names(const char* value, size_t size);
883  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& var_names() const;
884  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_var_names();
885  private:
886  const std::string& _internal_var_names(int index) const;
887  std::string* _internal_add_var_names();
888  public:
889 
890  // optional string name = 1 [default = ""];
891  bool has_name() const;
892  private:
893  bool _internal_has_name() const;
894  public:
895  void clear_name();
896  const std::string& name() const;
897  template <typename ArgT0 = const std::string&, typename... ArgT>
898  void set_name(ArgT0&& arg0, ArgT... args);
899  std::string* mutable_name();
900  PROTOBUF_NODISCARD std::string* release_name();
901  void set_allocated_name(std::string* name);
902  private:
903  const std::string& _internal_name() const;
904  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
905  std::string* _internal_mutable_name();
906  public:
907 
908  // optional .operations_research.sat.LinearObjective objective = 5;
909  bool has_objective() const;
910  private:
911  bool _internal_has_objective() const;
912  public:
913  void clear_objective();
914  const ::operations_research::sat::LinearObjective& objective() const;
915  PROTOBUF_NODISCARD ::operations_research::sat::LinearObjective* release_objective();
916  ::operations_research::sat::LinearObjective* mutable_objective();
917  void set_allocated_objective(::operations_research::sat::LinearObjective* objective);
918  private:
919  const ::operations_research::sat::LinearObjective& _internal_objective() const;
920  ::operations_research::sat::LinearObjective* _internal_mutable_objective();
921  public:
922  void unsafe_arena_set_allocated_objective(
924  ::operations_research::sat::LinearObjective* unsafe_arena_release_objective();
925 
926  // optional .operations_research.sat.BooleanAssignment assignment = 7;
927  bool has_assignment() const;
928  private:
929  bool _internal_has_assignment() const;
930  public:
931  void clear_assignment();
932  const ::operations_research::sat::BooleanAssignment& assignment() const;
933  PROTOBUF_NODISCARD ::operations_research::sat::BooleanAssignment* release_assignment();
934  ::operations_research::sat::BooleanAssignment* mutable_assignment();
935  void set_allocated_assignment(::operations_research::sat::BooleanAssignment* assignment);
936  private:
937  const ::operations_research::sat::BooleanAssignment& _internal_assignment() const;
938  ::operations_research::sat::BooleanAssignment* _internal_mutable_assignment();
939  public:
940  void unsafe_arena_set_allocated_assignment(
942  ::operations_research::sat::BooleanAssignment* unsafe_arena_release_assignment();
943 
944  // optional int32 num_variables = 3;
945  bool has_num_variables() const;
946  private:
947  bool _internal_has_num_variables() const;
948  public:
949  void clear_num_variables();
950  int32_t num_variables() const;
951  void set_num_variables(int32_t value);
952  private:
953  int32_t _internal_num_variables() const;
954  void _internal_set_num_variables(int32_t value);
955  public:
956 
957  // optional int32 original_num_variables = 8;
958  bool has_original_num_variables() const;
959  private:
960  bool _internal_has_original_num_variables() const;
961  public:
962  void clear_original_num_variables();
963  int32_t original_num_variables() const;
964  void set_original_num_variables(int32_t value);
965  private:
966  int32_t _internal_original_num_variables() const;
967  void _internal_set_original_num_variables(int32_t value);
968  public:
969 
970  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearBooleanProblem)
971  private:
972  class _Internal;
973 
974  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
975  typedef void InternalArenaConstructable_;
976  typedef void DestructorSkippable_;
977  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
978  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
979  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint > constraints_;
980  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> var_names_;
981  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
984  int32_t num_variables_;
985  int32_t original_num_variables_;
986  friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
987 };
988 // ===================================================================
989 
990 
991 // ===================================================================
992 
993 #ifdef __GNUC__
994  #pragma GCC diagnostic push
995  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
996 #endif // __GNUC__
997 // LinearBooleanConstraint
998 
999 // repeated int32 literals = 1;
1000 inline int LinearBooleanConstraint::_internal_literals_size() const {
1001  return literals_.size();
1002 }
1004  return _internal_literals_size();
1005 }
1007  literals_.Clear();
1008 }
1009 inline int32_t LinearBooleanConstraint::_internal_literals(int index) const {
1010  return literals_.Get(index);
1011 }
1012 inline int32_t LinearBooleanConstraint::literals(int index) const {
1013  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanConstraint.literals)
1014  return _internal_literals(index);
1015 }
1017  literals_.Set(index, value);
1018  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanConstraint.literals)
1019 }
1020 inline void LinearBooleanConstraint::_internal_add_literals(int32_t value) {
1021  literals_.Add(value);
1022 }
1024  _internal_add_literals(value);
1025  // @@protoc_insertion_point(field_add:operations_research.sat.LinearBooleanConstraint.literals)
1026 }
1027 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1028 LinearBooleanConstraint::_internal_literals() const {
1029  return literals_;
1030 }
1031 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1033  // @@protoc_insertion_point(field_list:operations_research.sat.LinearBooleanConstraint.literals)
1034  return _internal_literals();
1035 }
1036 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1037 LinearBooleanConstraint::_internal_mutable_literals() {
1038  return &literals_;
1039 }
1040 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1042  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearBooleanConstraint.literals)
1043  return _internal_mutable_literals();
1044 }
1045 
1046 // repeated int64 coefficients = 2;
1047 inline int LinearBooleanConstraint::_internal_coefficients_size() const {
1048  return coefficients_.size();
1049 }
1051  return _internal_coefficients_size();
1052 }
1054  coefficients_.Clear();
1055 }
1056 inline int64_t LinearBooleanConstraint::_internal_coefficients(int index) const {
1057  return coefficients_.Get(index);
1058 }
1060  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanConstraint.coefficients)
1061  return _internal_coefficients(index);
1062 }
1064  coefficients_.Set(index, value);
1065  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanConstraint.coefficients)
1066 }
1067 inline void LinearBooleanConstraint::_internal_add_coefficients(int64_t value) {
1068  coefficients_.Add(value);
1069 }
1071  _internal_add_coefficients(value);
1072  // @@protoc_insertion_point(field_add:operations_research.sat.LinearBooleanConstraint.coefficients)
1073 }
1074 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1075 LinearBooleanConstraint::_internal_coefficients() const {
1076  return coefficients_;
1077 }
1078 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1080  // @@protoc_insertion_point(field_list:operations_research.sat.LinearBooleanConstraint.coefficients)
1081  return _internal_coefficients();
1082 }
1083 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1084 LinearBooleanConstraint::_internal_mutable_coefficients() {
1085  return &coefficients_;
1086 }
1087 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1089  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearBooleanConstraint.coefficients)
1090  return _internal_mutable_coefficients();
1091 }
1092 
1093 // optional int64 lower_bound = 3;
1094 inline bool LinearBooleanConstraint::_internal_has_lower_bound() const {
1095  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1096  return value;
1097 }
1099  return _internal_has_lower_bound();
1100 }
1102  lower_bound_ = int64_t{0};
1103  _has_bits_[0] &= ~0x00000002u;
1104 }
1105 inline int64_t LinearBooleanConstraint::_internal_lower_bound() const {
1106  return lower_bound_;
1107 }
1109  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanConstraint.lower_bound)
1110  return _internal_lower_bound();
1111 }
1112 inline void LinearBooleanConstraint::_internal_set_lower_bound(int64_t value) {
1113  _has_bits_[0] |= 0x00000002u;
1114  lower_bound_ = value;
1115 }
1117  _internal_set_lower_bound(value);
1118  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanConstraint.lower_bound)
1119 }
1120 
1121 // optional int64 upper_bound = 4;
1122 inline bool LinearBooleanConstraint::_internal_has_upper_bound() const {
1123  bool value = (_has_bits_[0] & 0x00000004u) != 0;
1124  return value;
1125 }
1127  return _internal_has_upper_bound();
1128 }
1130  upper_bound_ = int64_t{0};
1131  _has_bits_[0] &= ~0x00000004u;
1132 }
1133 inline int64_t LinearBooleanConstraint::_internal_upper_bound() const {
1134  return upper_bound_;
1135 }
1137  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanConstraint.upper_bound)
1138  return _internal_upper_bound();
1139 }
1140 inline void LinearBooleanConstraint::_internal_set_upper_bound(int64_t value) {
1141  _has_bits_[0] |= 0x00000004u;
1142  upper_bound_ = value;
1143 }
1145  _internal_set_upper_bound(value);
1146  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanConstraint.upper_bound)
1147 }
1148 
1149 // optional string name = 5 [default = ""];
1150 inline bool LinearBooleanConstraint::_internal_has_name() const {
1151  bool value = (_has_bits_[0] & 0x00000001u) != 0;
1152  return value;
1153 }
1155  return _internal_has_name();
1156 }
1158  name_.ClearToEmpty();
1159  _has_bits_[0] &= ~0x00000001u;
1160 }
1161 inline const std::string& LinearBooleanConstraint::name() const {
1162  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanConstraint.name)
1163  return _internal_name();
1164 }
1165 template <typename ArgT0, typename... ArgT>
1166 inline PROTOBUF_ALWAYS_INLINE
1167 void LinearBooleanConstraint::set_name(ArgT0&& arg0, ArgT... args) {
1168  _has_bits_[0] |= 0x00000001u;
1169  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
1170  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanConstraint.name)
1171 }
1173  std::string* _s = _internal_mutable_name();
1174  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearBooleanConstraint.name)
1175  return _s;
1176 }
1177 inline const std::string& LinearBooleanConstraint::_internal_name() const {
1178  return name_.Get();
1179 }
1180 inline void LinearBooleanConstraint::_internal_set_name(const std::string& value) {
1181  _has_bits_[0] |= 0x00000001u;
1182  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
1183 }
1184 inline std::string* LinearBooleanConstraint::_internal_mutable_name() {
1185  _has_bits_[0] |= 0x00000001u;
1186  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
1187 }
1189  // @@protoc_insertion_point(field_release:operations_research.sat.LinearBooleanConstraint.name)
1190  if (!_internal_has_name()) {
1191  return nullptr;
1192  }
1193  _has_bits_[0] &= ~0x00000001u;
1194  auto* p = name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
1195 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1196  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
1197  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1198  }
1199 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1200  return p;
1201 }
1203  if (name != nullptr) {
1204  _has_bits_[0] |= 0x00000001u;
1205  } else {
1206  _has_bits_[0] &= ~0x00000001u;
1207  }
1208  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
1209  GetArenaForAllocation());
1210 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1211  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
1212  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1213  }
1214 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1215  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearBooleanConstraint.name)
1216 }
1217 
1218 // -------------------------------------------------------------------
1219 
1220 // LinearObjective
1221 
1222 // repeated int32 literals = 1;
1223 inline int LinearObjective::_internal_literals_size() const {
1224  return literals_.size();
1225 }
1227  return _internal_literals_size();
1228 }
1230  literals_.Clear();
1231 }
1232 inline int32_t LinearObjective::_internal_literals(int index) const {
1233  return literals_.Get(index);
1234 }
1235 inline int32_t LinearObjective::literals(int index) const {
1236  // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.literals)
1237  return _internal_literals(index);
1238 }
1239 inline void LinearObjective::set_literals(int index, int32_t value) {
1240  literals_.Set(index, value);
1241  // @@protoc_insertion_point(field_set:operations_research.sat.LinearObjective.literals)
1242 }
1243 inline void LinearObjective::_internal_add_literals(int32_t value) {
1244  literals_.Add(value);
1245 }
1246 inline void LinearObjective::add_literals(int32_t value) {
1247  _internal_add_literals(value);
1248  // @@protoc_insertion_point(field_add:operations_research.sat.LinearObjective.literals)
1249 }
1250 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1251 LinearObjective::_internal_literals() const {
1252  return literals_;
1253 }
1254 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1256  // @@protoc_insertion_point(field_list:operations_research.sat.LinearObjective.literals)
1257  return _internal_literals();
1258 }
1259 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1260 LinearObjective::_internal_mutable_literals() {
1261  return &literals_;
1262 }
1263 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1265  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearObjective.literals)
1266  return _internal_mutable_literals();
1267 }
1268 
1269 // repeated int64 coefficients = 2;
1270 inline int LinearObjective::_internal_coefficients_size() const {
1271  return coefficients_.size();
1272 }
1274  return _internal_coefficients_size();
1275 }
1277  coefficients_.Clear();
1278 }
1279 inline int64_t LinearObjective::_internal_coefficients(int index) const {
1280  return coefficients_.Get(index);
1281 }
1282 inline int64_t LinearObjective::coefficients(int index) const {
1283  // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.coefficients)
1284  return _internal_coefficients(index);
1285 }
1286 inline void LinearObjective::set_coefficients(int index, int64_t value) {
1287  coefficients_.Set(index, value);
1288  // @@protoc_insertion_point(field_set:operations_research.sat.LinearObjective.coefficients)
1289 }
1290 inline void LinearObjective::_internal_add_coefficients(int64_t value) {
1291  coefficients_.Add(value);
1292 }
1294  _internal_add_coefficients(value);
1295  // @@protoc_insertion_point(field_add:operations_research.sat.LinearObjective.coefficients)
1296 }
1297 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1298 LinearObjective::_internal_coefficients() const {
1299  return coefficients_;
1300 }
1301 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1303  // @@protoc_insertion_point(field_list:operations_research.sat.LinearObjective.coefficients)
1304  return _internal_coefficients();
1305 }
1306 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1307 LinearObjective::_internal_mutable_coefficients() {
1308  return &coefficients_;
1309 }
1310 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1312  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearObjective.coefficients)
1313  return _internal_mutable_coefficients();
1314 }
1315 
1316 // optional double offset = 3 [default = 0];
1317 inline bool LinearObjective::_internal_has_offset() const {
1318  bool value = (_has_bits_[0] & 0x00000001u) != 0;
1319  return value;
1320 }
1321 inline bool LinearObjective::has_offset() const {
1322  return _internal_has_offset();
1323 }
1325  offset_ = 0;
1326  _has_bits_[0] &= ~0x00000001u;
1327 }
1328 inline double LinearObjective::_internal_offset() const {
1329  return offset_;
1330 }
1331 inline double LinearObjective::offset() const {
1332  // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.offset)
1333  return _internal_offset();
1334 }
1335 inline void LinearObjective::_internal_set_offset(double value) {
1336  _has_bits_[0] |= 0x00000001u;
1337  offset_ = value;
1338 }
1339 inline void LinearObjective::set_offset(double value) {
1340  _internal_set_offset(value);
1341  // @@protoc_insertion_point(field_set:operations_research.sat.LinearObjective.offset)
1342 }
1343 
1344 // optional double scaling_factor = 4 [default = 1];
1345 inline bool LinearObjective::_internal_has_scaling_factor() const {
1346  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1347  return value;
1348 }
1350  return _internal_has_scaling_factor();
1351 }
1353  scaling_factor_ = 1;
1354  _has_bits_[0] &= ~0x00000002u;
1355 }
1356 inline double LinearObjective::_internal_scaling_factor() const {
1357  return scaling_factor_;
1358 }
1359 inline double LinearObjective::scaling_factor() const {
1360  // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.scaling_factor)
1361  return _internal_scaling_factor();
1362 }
1363 inline void LinearObjective::_internal_set_scaling_factor(double value) {
1364  _has_bits_[0] |= 0x00000002u;
1365  scaling_factor_ = value;
1366 }
1368  _internal_set_scaling_factor(value);
1369  // @@protoc_insertion_point(field_set:operations_research.sat.LinearObjective.scaling_factor)
1370 }
1371 
1372 // -------------------------------------------------------------------
1373 
1374 // BooleanAssignment
1375 
1376 // repeated int32 literals = 1;
1377 inline int BooleanAssignment::_internal_literals_size() const {
1378  return literals_.size();
1379 }
1381  return _internal_literals_size();
1382 }
1384  literals_.Clear();
1385 }
1386 inline int32_t BooleanAssignment::_internal_literals(int index) const {
1387  return literals_.Get(index);
1388 }
1389 inline int32_t BooleanAssignment::literals(int index) const {
1390  // @@protoc_insertion_point(field_get:operations_research.sat.BooleanAssignment.literals)
1391  return _internal_literals(index);
1392 }
1393 inline void BooleanAssignment::set_literals(int index, int32_t value) {
1394  literals_.Set(index, value);
1395  // @@protoc_insertion_point(field_set:operations_research.sat.BooleanAssignment.literals)
1396 }
1397 inline void BooleanAssignment::_internal_add_literals(int32_t value) {
1398  literals_.Add(value);
1399 }
1401  _internal_add_literals(value);
1402  // @@protoc_insertion_point(field_add:operations_research.sat.BooleanAssignment.literals)
1403 }
1404 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1405 BooleanAssignment::_internal_literals() const {
1406  return literals_;
1407 }
1408 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1410  // @@protoc_insertion_point(field_list:operations_research.sat.BooleanAssignment.literals)
1411  return _internal_literals();
1412 }
1413 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1414 BooleanAssignment::_internal_mutable_literals() {
1415  return &literals_;
1416 }
1417 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1419  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BooleanAssignment.literals)
1420  return _internal_mutable_literals();
1421 }
1422 
1423 // -------------------------------------------------------------------
1424 
1425 // LinearBooleanProblem
1426 
1427 // optional string name = 1 [default = ""];
1428 inline bool LinearBooleanProblem::_internal_has_name() const {
1429  bool value = (_has_bits_[0] & 0x00000001u) != 0;
1430  return value;
1431 }
1432 inline bool LinearBooleanProblem::has_name() const {
1433  return _internal_has_name();
1434 }
1436  name_.ClearToEmpty();
1437  _has_bits_[0] &= ~0x00000001u;
1438 }
1439 inline const std::string& LinearBooleanProblem::name() const {
1440  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.name)
1441  return _internal_name();
1442 }
1443 template <typename ArgT0, typename... ArgT>
1444 inline PROTOBUF_ALWAYS_INLINE
1445 void LinearBooleanProblem::set_name(ArgT0&& arg0, ArgT... args) {
1446  _has_bits_[0] |= 0x00000001u;
1447  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
1448  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanProblem.name)
1449 }
1450 inline std::string* LinearBooleanProblem::mutable_name() {
1451  std::string* _s = _internal_mutable_name();
1452  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearBooleanProblem.name)
1453  return _s;
1454 }
1455 inline const std::string& LinearBooleanProblem::_internal_name() const {
1456  return name_.Get();
1457 }
1458 inline void LinearBooleanProblem::_internal_set_name(const std::string& value) {
1459  _has_bits_[0] |= 0x00000001u;
1460  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
1461 }
1462 inline std::string* LinearBooleanProblem::_internal_mutable_name() {
1463  _has_bits_[0] |= 0x00000001u;
1464  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
1465 }
1466 inline std::string* LinearBooleanProblem::release_name() {
1467  // @@protoc_insertion_point(field_release:operations_research.sat.LinearBooleanProblem.name)
1468  if (!_internal_has_name()) {
1469  return nullptr;
1470  }
1471  _has_bits_[0] &= ~0x00000001u;
1472  auto* p = name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
1473 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1474  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
1475  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1476  }
1477 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1478  return p;
1479 }
1481  if (name != nullptr) {
1482  _has_bits_[0] |= 0x00000001u;
1483  } else {
1484  _has_bits_[0] &= ~0x00000001u;
1485  }
1486  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
1487  GetArenaForAllocation());
1488 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1489  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
1490  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1491  }
1492 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1493  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearBooleanProblem.name)
1494 }
1495 
1496 // optional int32 num_variables = 3;
1497 inline bool LinearBooleanProblem::_internal_has_num_variables() const {
1498  bool value = (_has_bits_[0] & 0x00000008u) != 0;
1499  return value;
1500 }
1502  return _internal_has_num_variables();
1503 }
1505  num_variables_ = 0;
1506  _has_bits_[0] &= ~0x00000008u;
1507 }
1508 inline int32_t LinearBooleanProblem::_internal_num_variables() const {
1509  return num_variables_;
1510 }
1511 inline int32_t LinearBooleanProblem::num_variables() const {
1512  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.num_variables)
1513  return _internal_num_variables();
1514 }
1515 inline void LinearBooleanProblem::_internal_set_num_variables(int32_t value) {
1516  _has_bits_[0] |= 0x00000008u;
1517  num_variables_ = value;
1518 }
1520  _internal_set_num_variables(value);
1521  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanProblem.num_variables)
1522 }
1523 
1524 // repeated .operations_research.sat.LinearBooleanConstraint constraints = 4;
1525 inline int LinearBooleanProblem::_internal_constraints_size() const {
1526  return constraints_.size();
1527 }
1529  return _internal_constraints_size();
1530 }
1532  constraints_.Clear();
1533 }
1534 inline ::operations_research::sat::LinearBooleanConstraint* LinearBooleanProblem::mutable_constraints(int index) {
1535  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearBooleanProblem.constraints)
1536  return constraints_.Mutable(index);
1537 }
1538 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >*
1540  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearBooleanProblem.constraints)
1541  return &constraints_;
1542 }
1543 inline const ::operations_research::sat::LinearBooleanConstraint& LinearBooleanProblem::_internal_constraints(int index) const {
1544  return constraints_.Get(index);
1545 }
1546 inline const ::operations_research::sat::LinearBooleanConstraint& LinearBooleanProblem::constraints(int index) const {
1547  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.constraints)
1548  return _internal_constraints(index);
1549 }
1550 inline ::operations_research::sat::LinearBooleanConstraint* LinearBooleanProblem::_internal_add_constraints() {
1551  return constraints_.Add();
1552 }
1553 inline ::operations_research::sat::LinearBooleanConstraint* LinearBooleanProblem::add_constraints() {
1554  ::operations_research::sat::LinearBooleanConstraint* _add = _internal_add_constraints();
1555  // @@protoc_insertion_point(field_add:operations_research.sat.LinearBooleanProblem.constraints)
1556  return _add;
1557 }
1558 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >&
1560  // @@protoc_insertion_point(field_list:operations_research.sat.LinearBooleanProblem.constraints)
1561  return constraints_;
1562 }
1563 
1564 // optional .operations_research.sat.LinearObjective objective = 5;
1565 inline bool LinearBooleanProblem::_internal_has_objective() const {
1566  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1567  PROTOBUF_ASSUME(!value || objective_ != nullptr);
1568  return value;
1569 }
1571  return _internal_has_objective();
1572 }
1574  if (objective_ != nullptr) objective_->Clear();
1575  _has_bits_[0] &= ~0x00000002u;
1576 }
1577 inline const ::operations_research::sat::LinearObjective& LinearBooleanProblem::_internal_objective() const {
1578  const ::operations_research::sat::LinearObjective* p = objective_;
1579  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearObjective&>(
1581 }
1582 inline const ::operations_research::sat::LinearObjective& LinearBooleanProblem::objective() const {
1583  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.objective)
1584  return _internal_objective();
1585 }
1588  if (GetArenaForAllocation() == nullptr) {
1589  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
1590  }
1591  objective_ = objective;
1592  if (objective) {
1593  _has_bits_[0] |= 0x00000002u;
1594  } else {
1595  _has_bits_[0] &= ~0x00000002u;
1596  }
1597  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearBooleanProblem.objective)
1598 }
1599 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::release_objective() {
1600  _has_bits_[0] &= ~0x00000002u;
1602  objective_ = nullptr;
1603 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1604  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1605  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1606  if (GetArenaForAllocation() == nullptr) { delete old; }
1607 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
1608  if (GetArenaForAllocation() != nullptr) {
1609  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1610  }
1611 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1612  return temp;
1613 }
1614 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::unsafe_arena_release_objective() {
1615  // @@protoc_insertion_point(field_release:operations_research.sat.LinearBooleanProblem.objective)
1616  _has_bits_[0] &= ~0x00000002u;
1618  objective_ = nullptr;
1619  return temp;
1620 }
1621 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::_internal_mutable_objective() {
1622  _has_bits_[0] |= 0x00000002u;
1623  if (objective_ == nullptr) {
1624  auto* p = CreateMaybeMessage<::operations_research::sat::LinearObjective>(GetArenaForAllocation());
1625  objective_ = p;
1626  }
1627  return objective_;
1628 }
1629 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::mutable_objective() {
1630  ::operations_research::sat::LinearObjective* _msg = _internal_mutable_objective();
1631  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearBooleanProblem.objective)
1632  return _msg;
1633 }
1635  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1636  if (message_arena == nullptr) {
1637  delete objective_;
1638  }
1639  if (objective) {
1640  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1641  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearObjective>::GetOwningArena(objective);
1642  if (message_arena != submessage_arena) {
1643  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1644  message_arena, objective, submessage_arena);
1645  }
1646  _has_bits_[0] |= 0x00000002u;
1647  } else {
1648  _has_bits_[0] &= ~0x00000002u;
1649  }
1650  objective_ = objective;
1651  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearBooleanProblem.objective)
1652 }
1653 
1654 // repeated string var_names = 6;
1655 inline int LinearBooleanProblem::_internal_var_names_size() const {
1656  return var_names_.size();
1657 }
1659  return _internal_var_names_size();
1660 }
1662  var_names_.Clear();
1663 }
1665  std::string* _s = _internal_add_var_names();
1666  // @@protoc_insertion_point(field_add_mutable:operations_research.sat.LinearBooleanProblem.var_names)
1667  return _s;
1668 }
1669 inline const std::string& LinearBooleanProblem::_internal_var_names(int index) const {
1670  return var_names_.Get(index);
1671 }
1672 inline const std::string& LinearBooleanProblem::var_names(int index) const {
1673  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.var_names)
1674  return _internal_var_names(index);
1675 }
1677  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearBooleanProblem.var_names)
1678  return var_names_.Mutable(index);
1679 }
1680 inline void LinearBooleanProblem::set_var_names(int index, const std::string& value) {
1681  var_names_.Mutable(index)->assign(value);
1682  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanProblem.var_names)
1683 }
1684 inline void LinearBooleanProblem::set_var_names(int index, std::string&& value) {
1685  var_names_.Mutable(index)->assign(std::move(value));
1686  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanProblem.var_names)
1687 }
1688 inline void LinearBooleanProblem::set_var_names(int index, const char* value) {
1689  GOOGLE_DCHECK(value != nullptr);
1690  var_names_.Mutable(index)->assign(value);
1691  // @@protoc_insertion_point(field_set_char:operations_research.sat.LinearBooleanProblem.var_names)
1692 }
1693 inline void LinearBooleanProblem::set_var_names(int index, const char* value, size_t size) {
1694  var_names_.Mutable(index)->assign(
1695  reinterpret_cast<const char*>(value), size);
1696  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.LinearBooleanProblem.var_names)
1697 }
1698 inline std::string* LinearBooleanProblem::_internal_add_var_names() {
1699  return var_names_.Add();
1700 }
1701 inline void LinearBooleanProblem::add_var_names(const std::string& value) {
1702  var_names_.Add()->assign(value);
1703  // @@protoc_insertion_point(field_add:operations_research.sat.LinearBooleanProblem.var_names)
1704 }
1705 inline void LinearBooleanProblem::add_var_names(std::string&& value) {
1706  var_names_.Add(std::move(value));
1707  // @@protoc_insertion_point(field_add:operations_research.sat.LinearBooleanProblem.var_names)
1708 }
1709 inline void LinearBooleanProblem::add_var_names(const char* value) {
1710  GOOGLE_DCHECK(value != nullptr);
1711  var_names_.Add()->assign(value);
1712  // @@protoc_insertion_point(field_add_char:operations_research.sat.LinearBooleanProblem.var_names)
1713 }
1714 inline void LinearBooleanProblem::add_var_names(const char* value, size_t size) {
1715  var_names_.Add()->assign(reinterpret_cast<const char*>(value), size);
1716  // @@protoc_insertion_point(field_add_pointer:operations_research.sat.LinearBooleanProblem.var_names)
1717 }
1718 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1720  // @@protoc_insertion_point(field_list:operations_research.sat.LinearBooleanProblem.var_names)
1721  return var_names_;
1722 }
1723 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
1725  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearBooleanProblem.var_names)
1726  return &var_names_;
1727 }
1728 
1729 // optional .operations_research.sat.BooleanAssignment assignment = 7;
1730 inline bool LinearBooleanProblem::_internal_has_assignment() const {
1731  bool value = (_has_bits_[0] & 0x00000004u) != 0;
1732  PROTOBUF_ASSUME(!value || assignment_ != nullptr);
1733  return value;
1734 }
1736  return _internal_has_assignment();
1737 }
1739  if (assignment_ != nullptr) assignment_->Clear();
1740  _has_bits_[0] &= ~0x00000004u;
1741 }
1742 inline const ::operations_research::sat::BooleanAssignment& LinearBooleanProblem::_internal_assignment() const {
1743  const ::operations_research::sat::BooleanAssignment* p = assignment_;
1744  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::BooleanAssignment&>(
1746 }
1747 inline const ::operations_research::sat::BooleanAssignment& LinearBooleanProblem::assignment() const {
1748  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.assignment)
1749  return _internal_assignment();
1750 }
1753  if (GetArenaForAllocation() == nullptr) {
1754  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(assignment_);
1755  }
1756  assignment_ = assignment;
1757  if (assignment) {
1758  _has_bits_[0] |= 0x00000004u;
1759  } else {
1760  _has_bits_[0] &= ~0x00000004u;
1761  }
1762  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearBooleanProblem.assignment)
1763 }
1764 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::release_assignment() {
1765  _has_bits_[0] &= ~0x00000004u;
1767  assignment_ = nullptr;
1768 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1769  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1770  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1771  if (GetArenaForAllocation() == nullptr) { delete old; }
1772 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
1773  if (GetArenaForAllocation() != nullptr) {
1774  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1775  }
1776 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1777  return temp;
1778 }
1779 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::unsafe_arena_release_assignment() {
1780  // @@protoc_insertion_point(field_release:operations_research.sat.LinearBooleanProblem.assignment)
1781  _has_bits_[0] &= ~0x00000004u;
1783  assignment_ = nullptr;
1784  return temp;
1785 }
1786 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::_internal_mutable_assignment() {
1787  _has_bits_[0] |= 0x00000004u;
1788  if (assignment_ == nullptr) {
1789  auto* p = CreateMaybeMessage<::operations_research::sat::BooleanAssignment>(GetArenaForAllocation());
1790  assignment_ = p;
1791  }
1792  return assignment_;
1793 }
1794 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::mutable_assignment() {
1795  ::operations_research::sat::BooleanAssignment* _msg = _internal_mutable_assignment();
1796  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearBooleanProblem.assignment)
1797  return _msg;
1798 }
1800  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1801  if (message_arena == nullptr) {
1802  delete assignment_;
1803  }
1804  if (assignment) {
1805  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1806  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BooleanAssignment>::GetOwningArena(assignment);
1807  if (message_arena != submessage_arena) {
1808  assignment = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1809  message_arena, assignment, submessage_arena);
1810  }
1811  _has_bits_[0] |= 0x00000004u;
1812  } else {
1813  _has_bits_[0] &= ~0x00000004u;
1814  }
1815  assignment_ = assignment;
1816  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearBooleanProblem.assignment)
1817 }
1818 
1819 // optional int32 original_num_variables = 8;
1820 inline bool LinearBooleanProblem::_internal_has_original_num_variables() const {
1821  bool value = (_has_bits_[0] & 0x00000010u) != 0;
1822  return value;
1823 }
1825  return _internal_has_original_num_variables();
1826 }
1828  original_num_variables_ = 0;
1829  _has_bits_[0] &= ~0x00000010u;
1830 }
1831 inline int32_t LinearBooleanProblem::_internal_original_num_variables() const {
1832  return original_num_variables_;
1833 }
1835  // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.original_num_variables)
1836  return _internal_original_num_variables();
1837 }
1838 inline void LinearBooleanProblem::_internal_set_original_num_variables(int32_t value) {
1839  _has_bits_[0] |= 0x00000010u;
1840  original_num_variables_ = value;
1841 }
1843  _internal_set_original_num_variables(value);
1844  // @@protoc_insertion_point(field_set:operations_research.sat.LinearBooleanProblem.original_num_variables)
1845 }
1846 
1847 #ifdef __GNUC__
1848  #pragma GCC diagnostic pop
1849 #endif // __GNUC__
1850 // -------------------------------------------------------------------
1851 
1852 // -------------------------------------------------------------------
1853 
1854 // -------------------------------------------------------------------
1855 
1856 
1857 // @@protoc_insertion_point(namespace_scope)
1858 
1859 } // namespace sat
1860 } // namespace operations_research
1861 
1862 // @@protoc_insertion_point(global_scope)
1863 
1864 #include <google/protobuf/port_undef.inc>
1865 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fboolean_5fproblem_2eproto
LinearBooleanProblem(LinearBooleanProblem &&from) noexcept
LinearObjective & operator=(const LinearObjective &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & coefficients() const
::operations_research::sat::LinearObjective * mutable_objective()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_
friend void swap(LinearBooleanConstraint &a, LinearBooleanConstraint &b)
PROTOBUF_NODISCARD ::operations_research::sat::LinearObjective * release_objective()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
BooleanAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
LinearBooleanConstraint(LinearBooleanConstraint &&from) noexcept
BooleanAssignment & operator=(BooleanAssignment &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > & var_names() const
friend void swap(LinearObjective &a, LinearObjective &b)
PROTOBUF_NODISCARD std::string * release_name()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::operations_research::sat::LinearObjective & objective() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
LinearBooleanProblem & operator=(const LinearBooleanProblem &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_coefficients()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
LinearBooleanProblem * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
::operations_research::sat::LinearObjective * unsafe_arena_release_objective()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void UnsafeArenaSwap(LinearObjective *other)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
int64_t b
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint > * mutable_constraints()
static const BooleanAssignment * internal_default_instance()
void set_literals(int index, int32_t value)
void set_name(ArgT0 &&arg0, ArgT... args)
::operations_research::sat::BooleanAssignment * mutable_assignment()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
static const BooleanAssignment & default_instance()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_
friend void swap(BooleanAssignment &a, BooleanAssignment &b)
PROTOBUF_NODISCARD std::string * release_name()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_
LinearBooleanConstraint & operator=(const LinearBooleanConstraint &from)
IntVar *const objective_
Definition: search.cc:3017
const ::operations_research::sat::BooleanAssignment & assignment() const
void MergeFrom(const LinearBooleanConstraint &from)
void set_allocated_objective(::operations_research::sat::LinearObjective *objective)
void UnsafeArenaSwap(LinearBooleanConstraint *other)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
int index
Definition: pack.cc:509
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void set_name(ArgT0 &&arg0, ArgT... args)
void UnsafeArenaSwap(BooleanAssignment *other)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void UnsafeArenaSwap(LinearBooleanProblem *other)
LinearBooleanConstraint & operator=(LinearBooleanConstraint &&from) noexcept
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint > & constraints() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const LinearObjective & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
LinearObjective & operator=(LinearObjective &&from) noexcept
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
friend void swap(LinearBooleanProblem &a, LinearBooleanProblem &b)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_coefficients()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void Swap(LinearBooleanConstraint *other)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & coefficients() const
::operations_research::sat::LinearBooleanConstraint * add_constraints()
static const LinearBooleanProblem * internal_default_instance()
LinearBooleanConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
LinearBooleanProblem & operator=(LinearBooleanProblem &&from) noexcept
Collection of objects used to extend the Constraint Solver library.
void unsafe_arena_set_allocated_objective(::operations_research::sat::LinearObjective *objective)
const int64_t offset_
Definition: interval.cc:2108
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
LinearObjective(LinearObjective &&from) noexcept
void CopyFrom(const LinearBooleanConstraint &from)
void set_literals(int index, int32_t value)
void set_allocated_assignment(::operations_research::sat::BooleanAssignment *assignment)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_
::operations_research::sat::BooleanAssignment * unsafe_arena_release_assignment()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
PROTOBUF_NODISCARD ::operations_research::sat::BooleanAssignment * release_assignment()
void set_var_names(int index, const std::string &value)
BooleanAssignment(BooleanAssignment &&from) noexcept
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
int64_t value
void unsafe_arena_set_allocated_assignment(::operations_research::sat::BooleanAssignment *assignment)
static const LinearBooleanProblem & default_instance()
static const LinearObjective * internal_default_instance()
static const LinearBooleanConstraint & default_instance()
void set_coefficients(int index, int64_t value)
LinearObjective * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const LinearBooleanConstraint * internal_default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
BooleanAssignment & operator=(const BooleanAssignment &from)
int64_t a
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > * mutable_var_names()