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
37PROTOBUF_NAMESPACE_OPEN
38namespace internal {
39class AnyMetadata;
40} // namespace internal
41PROTOBUF_NAMESPACE_CLOSE
42
43// Internal implementation detail -- do not use these members.
45 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
47 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
49 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
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};
55extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto;
56namespace operations_research {
57namespace sat {
58class BooleanAssignment;
59struct BooleanAssignmentDefaultTypeInternal;
60extern BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_;
61class LinearBooleanConstraint;
62struct LinearBooleanConstraintDefaultTypeInternal;
63extern LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_;
64class LinearBooleanProblem;
65struct LinearBooleanProblemDefaultTypeInternal;
66extern LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_;
67class LinearObjective;
68struct LinearObjectiveDefaultTypeInternal;
69extern LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_;
70} // namespace sat
71} // namespace operations_research
72PROTOBUF_NAMESPACE_OPEN
73template<> ::operations_research::sat::BooleanAssignment* Arena::CreateMaybeMessage<::operations_research::sat::BooleanAssignment>(Arena*);
74template<> ::operations_research::sat::LinearBooleanConstraint* Arena::CreateMaybeMessage<::operations_research::sat::LinearBooleanConstraint>(Arena*);
75template<> ::operations_research::sat::LinearBooleanProblem* Arena::CreateMaybeMessage<::operations_research::sat::LinearBooleanProblem>(Arena*);
76template<> ::operations_research::sat::LinearObjective* Arena::CreateMaybeMessage<::operations_research::sat::LinearObjective>(Arena*);
77PROTOBUF_NAMESPACE_CLOSE
78namespace operations_research {
79namespace 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 }
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
324class 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 }
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
545class BooleanAssignment final :
546 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BooleanAssignment) */ {
547 public:
549 ~BooleanAssignment() override;
550 explicit constexpr BooleanAssignment(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
551
555 *this = ::std::move(from);
556 }
557
559 CopyFrom(from);
560 return *this;
561 }
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 }
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
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 }
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();
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();
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;
1000inline int LinearBooleanConstraint::_internal_literals_size() const {
1001 return literals_.size();
1002}
1004 return _internal_literals_size();
1005}
1007 literals_.Clear();
1008}
1009inline int32_t LinearBooleanConstraint::_internal_literals(int index) const {
1010 return literals_.Get(index);
1011}
1012inline 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}
1020inline 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}
1027inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1028LinearBooleanConstraint::_internal_literals() const {
1029 return literals_;
1030}
1031inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1033 // @@protoc_insertion_point(field_list:operations_research.sat.LinearBooleanConstraint.literals)
1034 return _internal_literals();
1035}
1036inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1037LinearBooleanConstraint::_internal_mutable_literals() {
1038 return &literals_;
1039}
1040inline ::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;
1047inline int LinearBooleanConstraint::_internal_coefficients_size() const {
1048 return coefficients_.size();
1049}
1051 return _internal_coefficients_size();
1052}
1054 coefficients_.Clear();
1055}
1056inline 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}
1067inline 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}
1074inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1075LinearBooleanConstraint::_internal_coefficients() const {
1076 return coefficients_;
1077}
1078inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1080 // @@protoc_insertion_point(field_list:operations_research.sat.LinearBooleanConstraint.coefficients)
1081 return _internal_coefficients();
1082}
1083inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1084LinearBooleanConstraint::_internal_mutable_coefficients() {
1085 return &coefficients_;
1086}
1087inline ::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;
1094inline 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}
1105inline 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}
1112inline 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;
1122inline 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}
1133inline 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}
1140inline 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 = ""];
1150inline 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}
1161inline const std::string& LinearBooleanConstraint::name() const {
1162 // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanConstraint.name)
1163 return _internal_name();
1164}
1165template <typename ArgT0, typename... ArgT>
1166inline PROTOBUF_ALWAYS_INLINE
1167void 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}
1177inline const std::string& LinearBooleanConstraint::_internal_name() const {
1178 return name_.Get();
1179}
1180inline 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}
1184inline 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;
1223inline int LinearObjective::_internal_literals_size() const {
1224 return literals_.size();
1225}
1227 return _internal_literals_size();
1228}
1230 literals_.Clear();
1231}
1232inline int32_t LinearObjective::_internal_literals(int index) const {
1233 return literals_.Get(index);
1234}
1235inline int32_t LinearObjective::literals(int index) const {
1236 // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.literals)
1237 return _internal_literals(index);
1238}
1239inline 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}
1243inline void LinearObjective::_internal_add_literals(int32_t value) {
1244 literals_.Add(value);
1245}
1247 _internal_add_literals(value);
1248 // @@protoc_insertion_point(field_add:operations_research.sat.LinearObjective.literals)
1249}
1250inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1251LinearObjective::_internal_literals() const {
1252 return literals_;
1253}
1254inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1256 // @@protoc_insertion_point(field_list:operations_research.sat.LinearObjective.literals)
1257 return _internal_literals();
1258}
1259inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1260LinearObjective::_internal_mutable_literals() {
1261 return &literals_;
1262}
1263inline ::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;
1270inline int LinearObjective::_internal_coefficients_size() const {
1271 return coefficients_.size();
1272}
1274 return _internal_coefficients_size();
1275}
1277 coefficients_.Clear();
1278}
1279inline int64_t LinearObjective::_internal_coefficients(int index) const {
1280 return coefficients_.Get(index);
1281}
1282inline int64_t LinearObjective::coefficients(int index) const {
1283 // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.coefficients)
1284 return _internal_coefficients(index);
1285}
1287 coefficients_.Set(index, value);
1288 // @@protoc_insertion_point(field_set:operations_research.sat.LinearObjective.coefficients)
1289}
1290inline 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}
1297inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1298LinearObjective::_internal_coefficients() const {
1299 return coefficients_;
1300}
1301inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
1303 // @@protoc_insertion_point(field_list:operations_research.sat.LinearObjective.coefficients)
1304 return _internal_coefficients();
1305}
1306inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
1307LinearObjective::_internal_mutable_coefficients() {
1308 return &coefficients_;
1309}
1310inline ::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];
1317inline bool LinearObjective::_internal_has_offset() const {
1318 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1319 return value;
1320}
1321inline bool LinearObjective::has_offset() const {
1322 return _internal_has_offset();
1323}
1325 offset_ = 0;
1326 _has_bits_[0] &= ~0x00000001u;
1327}
1328inline double LinearObjective::_internal_offset() const {
1329 return offset_;
1330}
1331inline double LinearObjective::offset() const {
1332 // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.offset)
1333 return _internal_offset();
1334}
1335inline void LinearObjective::_internal_set_offset(double value) {
1336 _has_bits_[0] |= 0x00000001u;
1337 offset_ = value;
1338}
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];
1345inline 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}
1356inline double LinearObjective::_internal_scaling_factor() const {
1357 return scaling_factor_;
1358}
1359inline double LinearObjective::scaling_factor() const {
1360 // @@protoc_insertion_point(field_get:operations_research.sat.LinearObjective.scaling_factor)
1361 return _internal_scaling_factor();
1362}
1363inline 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;
1377inline int BooleanAssignment::_internal_literals_size() const {
1378 return literals_.size();
1379}
1381 return _internal_literals_size();
1382}
1384 literals_.Clear();
1385}
1386inline int32_t BooleanAssignment::_internal_literals(int index) const {
1387 return literals_.Get(index);
1388}
1389inline int32_t BooleanAssignment::literals(int index) const {
1390 // @@protoc_insertion_point(field_get:operations_research.sat.BooleanAssignment.literals)
1391 return _internal_literals(index);
1392}
1394 literals_.Set(index, value);
1395 // @@protoc_insertion_point(field_set:operations_research.sat.BooleanAssignment.literals)
1396}
1397inline 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}
1404inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1405BooleanAssignment::_internal_literals() const {
1406 return literals_;
1407}
1408inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1410 // @@protoc_insertion_point(field_list:operations_research.sat.BooleanAssignment.literals)
1411 return _internal_literals();
1412}
1413inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1414BooleanAssignment::_internal_mutable_literals() {
1415 return &literals_;
1416}
1417inline ::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 = ""];
1428inline bool LinearBooleanProblem::_internal_has_name() const {
1429 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1430 return value;
1431}
1433 return _internal_has_name();
1434}
1436 name_.ClearToEmpty();
1437 _has_bits_[0] &= ~0x00000001u;
1438}
1439inline const std::string& LinearBooleanProblem::name() const {
1440 // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.name)
1441 return _internal_name();
1442}
1443template <typename ArgT0, typename... ArgT>
1444inline PROTOBUF_ALWAYS_INLINE
1445void 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}
1451 std::string* _s = _internal_mutable_name();
1452 // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearBooleanProblem.name)
1453 return _s;
1454}
1455inline const std::string& LinearBooleanProblem::_internal_name() const {
1456 return name_.Get();
1457}
1458inline 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}
1462inline std::string* LinearBooleanProblem::_internal_mutable_name() {
1463 _has_bits_[0] |= 0x00000001u;
1464 return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
1465}
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;
1497inline 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}
1508inline int32_t LinearBooleanProblem::_internal_num_variables() const {
1509 return num_variables_;
1510}
1512 // @@protoc_insertion_point(field_get:operations_research.sat.LinearBooleanProblem.num_variables)
1513 return _internal_num_variables();
1514}
1515inline 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;
1525inline int LinearBooleanProblem::_internal_constraints_size() const {
1526 return constraints_.size();
1527}
1529 return _internal_constraints_size();
1530}
1532 constraints_.Clear();
1533}
1534inline ::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}
1538inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >*
1540 // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearBooleanProblem.constraints)
1541 return &constraints_;
1542}
1543inline const ::operations_research::sat::LinearBooleanConstraint& LinearBooleanProblem::_internal_constraints(int index) const {
1544 return constraints_.Get(index);
1545}
1546inline 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}
1550inline ::operations_research::sat::LinearBooleanConstraint* LinearBooleanProblem::_internal_add_constraints() {
1551 return constraints_.Add();
1552}
1553inline ::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}
1558inline 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;
1565inline 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}
1577inline 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}
1582inline 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}
1599inline ::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}
1614inline ::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}
1621inline ::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}
1629inline ::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;
1655inline 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}
1669inline const std::string& LinearBooleanProblem::_internal_var_names(int index) const {
1670 return var_names_.Get(index);
1671}
1672inline 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}
1680inline 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}
1684inline 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}
1688inline 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}
1693inline 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}
1698inline std::string* LinearBooleanProblem::_internal_add_var_names() {
1699 return var_names_.Add();
1700}
1701inline 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}
1705inline 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}
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}
1714inline 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}
1718inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1720 // @@protoc_insertion_point(field_list:operations_research.sat.LinearBooleanProblem.var_names)
1721 return var_names_;
1722}
1723inline ::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;
1730inline 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}
1742inline 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}
1747inline 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}
1764inline ::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}
1779inline ::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}
1786inline ::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}
1794inline ::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;
1820inline 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}
1831inline 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}
1838inline 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
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
static const BooleanAssignment * internal_default_instance()
void set_literals(int index, int32_t value)
friend void swap(BooleanAssignment &a, BooleanAssignment &b)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
BooleanAssignment(BooleanAssignment &&from) noexcept
BooleanAssignment & operator=(const BooleanAssignment &from)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const BooleanAssignment & default_instance()
BooleanAssignment & operator=(BooleanAssignment &&from) noexcept
BooleanAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void UnsafeArenaSwap(BooleanAssignment *other)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
friend void swap(LinearBooleanConstraint &a, LinearBooleanConstraint &b)
LinearBooleanConstraint & operator=(LinearBooleanConstraint &&from) noexcept
PROTOBUF_NODISCARD std::string * release_name()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
LinearBooleanConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void CopyFrom(const LinearBooleanConstraint &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
LinearBooleanConstraint & operator=(const LinearBooleanConstraint &from)
LinearBooleanConstraint(LinearBooleanConstraint &&from) noexcept
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_coefficients()
void set_name(ArgT0 &&arg0, ArgT... args)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const LinearBooleanConstraint * internal_default_instance()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const LinearBooleanConstraint & default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
void Swap(LinearBooleanConstraint *other)
void UnsafeArenaSwap(LinearBooleanConstraint *other)
void MergeFrom(const LinearBooleanConstraint &from)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & coefficients() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
LinearBooleanProblem(LinearBooleanProblem &&from) noexcept
static const LinearBooleanProblem & default_instance()
void unsafe_arena_set_allocated_assignment(::operations_research::sat::BooleanAssignment *assignment)
void UnsafeArenaSwap(LinearBooleanProblem *other)
PROTOBUF_NODISCARD std::string * release_name()
::operations_research::sat::BooleanAssignment * unsafe_arena_release_assignment()
::operations_research::sat::LinearBooleanConstraint * add_constraints()
void set_name(ArgT0 &&arg0, ArgT... args)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > & var_names() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
::operations_research::sat::LinearObjective * unsafe_arena_release_objective()
void set_allocated_assignment(::operations_research::sat::BooleanAssignment *assignment)
const ::operations_research::sat::LinearObjective & objective() const
LinearBooleanProblem & operator=(const LinearBooleanProblem &from)
static const LinearBooleanProblem * internal_default_instance()
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > * mutable_var_names()
PROTOBUF_NODISCARD::operations_research::sat::LinearObjective * release_objective()
::operations_research::sat::BooleanAssignment * mutable_assignment()
const ::operations_research::sat::BooleanAssignment & assignment() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
PROTOBUF_NODISCARD::operations_research::sat::BooleanAssignment * release_assignment()
void unsafe_arena_set_allocated_objective(::operations_research::sat::LinearObjective *objective)
void set_allocated_objective(::operations_research::sat::LinearObjective *objective)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint > & constraints() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
LinearBooleanProblem & operator=(LinearBooleanProblem &&from) noexcept
void set_var_names(int index, const std::string &value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::operations_research::sat::LinearObjective * mutable_objective()
LinearBooleanProblem * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint > * mutable_constraints()
friend void swap(LinearBooleanProblem &a, LinearBooleanProblem &b)
void set_literals(int index, int32_t value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_literals()
LinearObjective * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void set_coefficients(int index, int64_t value)
void UnsafeArenaSwap(LinearObjective *other)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > * mutable_coefficients()
LinearObjective & operator=(const LinearObjective &from)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const LinearObjective * internal_default_instance()
static const LinearObjective & default_instance()
LinearObjective & operator=(LinearObjective &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
friend void swap(LinearObjective &a, LinearObjective &b)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & literals() const
LinearObjective(LinearObjective &&from) noexcept
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t > & coefficients() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
int64_t b
int64_t a
int64_t value
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:3017
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)