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