4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fboolean_5fproblem_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fboolean_5fproblem_2eproto
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3014000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
16 #if 3014000 < 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.
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>
32 #include <google/protobuf/extension_set.h>
33 #include <google/protobuf/unknown_field_set.h>
35 #include <google/protobuf/port_def.inc>
36 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fboolean_5fproblem_2eproto
37 PROTOBUF_NAMESPACE_OPEN
41 PROTOBUF_NAMESPACE_CLOSE
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[];
58 class BooleanAssignment;
59 class BooleanAssignmentDefaultTypeInternal;
61 class LinearBooleanConstraint;
64 class LinearBooleanProblem;
67 class LinearObjective;
72 PROTOBUF_NAMESPACE_OPEN
73 template<> ::operations_research::sat::BooleanAssignment* Arena::CreateMaybeMessage<::operations_research::sat::BooleanAssignment>(Arena*);
74 template<> ::operations_research::sat::LinearBooleanConstraint* Arena::CreateMaybeMessage<::operations_research::sat::LinearBooleanConstraint>(Arena*);
75 template<> ::operations_research::sat::LinearBooleanProblem* Arena::CreateMaybeMessage<::operations_research::sat::LinearBooleanProblem>(Arena*);
76 template<> ::operations_research::sat::LinearObjective* Arena::CreateMaybeMessage<::operations_research::sat::LinearObjective>(Arena*);
77 PROTOBUF_NAMESPACE_CLOSE
84 public ::PROTOBUF_NAMESPACE_ID::Message {
91 : LinearBooleanConstraint() {
92 *
this = ::std::move(from);
95 inline LinearBooleanConstraint&
operator=(
const LinearBooleanConstraint& from) {
99 inline LinearBooleanConstraint&
operator=(LinearBooleanConstraint&& from) noexcept {
100 if (GetArena() == from.GetArena()) {
101 if (
this != &from) InternalSwap(&from);
109 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
112 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
115 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
116 return GetDescriptor();
119 return GetMetadataStatic().descriptor;
122 return GetMetadataStatic().reflection;
127 return reinterpret_cast<const LinearBooleanConstraint*
>(
130 static constexpr
int kIndexInFileMessages =
133 friend void swap(LinearBooleanConstraint&
a, LinearBooleanConstraint&
b) {
136 inline void Swap(LinearBooleanConstraint* other) {
137 if (other ==
this)
return;
138 if (GetArena() == other->GetArena()) {
141 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
145 if (other ==
this)
return;
146 GOOGLE_DCHECK(GetArena() == other->GetArena());
152 inline LinearBooleanConstraint*
New() const final {
153 return CreateMaybeMessage<LinearBooleanConstraint>(
nullptr);
156 LinearBooleanConstraint*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
157 return CreateMaybeMessage<LinearBooleanConstraint>(arena);
159 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
160 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
161 void CopyFrom(
const LinearBooleanConstraint& from);
163 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
164 bool IsInitialized() const final;
166 size_t ByteSizeLong() const final;
167 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
168 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
169 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
170 int GetCachedSize() const final {
return _cached_size_.Get(); }
173 inline void SharedCtor();
174 inline void SharedDtor();
175 void SetCachedSize(
int size)
const final;
176 void InternalSwap(LinearBooleanConstraint* other);
177 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
178 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
179 return "operations_research.sat.LinearBooleanConstraint";
184 static void ArenaDtor(
void*
object);
185 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
190 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
202 kLiteralsFieldNumber = 1,
203 kCoefficientsFieldNumber = 2,
204 kNameFieldNumber = 5,
205 kLowerBoundFieldNumber = 3,
206 kUpperBoundFieldNumber = 4,
211 int _internal_literals_size()
const;
216 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
217 _internal_literals()
const;
219 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
220 _internal_mutable_literals();
225 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
227 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
233 int _internal_coefficients_size()
const;
238 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
239 _internal_coefficients()
const;
241 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
242 _internal_mutable_coefficients();
247 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
249 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
255 bool _internal_has_name()
const;
258 const std::string&
name()
const;
267 const std::string& _internal_name()
const;
268 void _internal_set_name(
const std::string&
value);
269 std::string* _internal_mutable_name();
275 bool _internal_has_lower_bound()
const;
288 bool _internal_has_upper_bound()
const;
302 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
303 typedef void InternalArenaConstructable_;
304 typedef void DestructorSkippable_;
305 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
306 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
307 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
308 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coefficients_;
309 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
312 friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
317 public ::PROTOBUF_NAMESPACE_ID::Message {
324 : LinearObjective() {
325 *
this = ::std::move(from);
328 inline LinearObjective&
operator=(
const LinearObjective& from) {
332 inline LinearObjective&
operator=(LinearObjective&& from) noexcept {
333 if (GetArena() == from.GetArena()) {
334 if (
this != &from) InternalSwap(&from);
342 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
345 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
348 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
349 return GetDescriptor();
352 return GetMetadataStatic().descriptor;
355 return GetMetadataStatic().reflection;
360 return reinterpret_cast<const LinearObjective*
>(
363 static constexpr
int kIndexInFileMessages =
366 friend void swap(LinearObjective&
a, LinearObjective&
b) {
369 inline void Swap(LinearObjective* other) {
370 if (other ==
this)
return;
371 if (GetArena() == other->GetArena()) {
374 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
378 if (other ==
this)
return;
379 GOOGLE_DCHECK(GetArena() == other->GetArena());
385 inline LinearObjective*
New() const final {
386 return CreateMaybeMessage<LinearObjective>(
nullptr);
389 LinearObjective*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
390 return CreateMaybeMessage<LinearObjective>(arena);
392 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
393 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
396 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
397 bool IsInitialized() const final;
399 size_t ByteSizeLong() const final;
400 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
401 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
402 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
403 int GetCachedSize() const final {
return _cached_size_.Get(); }
406 inline void SharedCtor();
407 inline void SharedDtor();
408 void SetCachedSize(
int size)
const final;
409 void InternalSwap(LinearObjective* other);
410 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
411 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
412 return "operations_research.sat.LinearObjective";
417 static void ArenaDtor(
void*
object);
418 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
423 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
435 kLiteralsFieldNumber = 1,
436 kCoefficientsFieldNumber = 2,
437 kOffsetFieldNumber = 3,
438 kScalingFactorFieldNumber = 4,
443 int _internal_literals_size()
const;
448 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
449 _internal_literals()
const;
451 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
452 _internal_mutable_literals();
457 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
459 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
465 int _internal_coefficients_size()
const;
470 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
471 _internal_coefficients()
const;
473 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
474 _internal_mutable_coefficients();
479 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
481 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
487 bool _internal_has_offset()
const;
493 double _internal_offset()
const;
494 void _internal_set_offset(
double value);
500 bool _internal_has_scaling_factor()
const;
506 double _internal_scaling_factor()
const;
507 void _internal_set_scaling_factor(
double value);
514 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
515 typedef void InternalArenaConstructable_;
516 typedef void DestructorSkippable_;
517 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
518 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
519 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
520 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coefficients_;
522 double scaling_factor_;
523 friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
528 public ::PROTOBUF_NAMESPACE_ID::Message {
535 : BooleanAssignment() {
536 *
this = ::std::move(from);
539 inline BooleanAssignment&
operator=(
const BooleanAssignment& from) {
543 inline BooleanAssignment&
operator=(BooleanAssignment&& from) noexcept {
544 if (GetArena() == from.GetArena()) {
545 if (
this != &from) InternalSwap(&from);
553 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
556 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
559 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
560 return GetDescriptor();
563 return GetMetadataStatic().descriptor;
566 return GetMetadataStatic().reflection;
571 return reinterpret_cast<const BooleanAssignment*
>(
574 static constexpr
int kIndexInFileMessages =
577 friend void swap(BooleanAssignment&
a, BooleanAssignment&
b) {
580 inline void Swap(BooleanAssignment* other) {
581 if (other ==
this)
return;
582 if (GetArena() == other->GetArena()) {
585 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
589 if (other ==
this)
return;
590 GOOGLE_DCHECK(GetArena() == other->GetArena());
596 inline BooleanAssignment*
New() const final {
597 return CreateMaybeMessage<BooleanAssignment>(
nullptr);
600 BooleanAssignment*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
601 return CreateMaybeMessage<BooleanAssignment>(arena);
603 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
604 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
607 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
608 bool IsInitialized() const final;
610 size_t ByteSizeLong() const final;
611 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
612 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
613 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
614 int GetCachedSize() const final {
return _cached_size_.Get(); }
617 inline void SharedCtor();
618 inline void SharedDtor();
619 void SetCachedSize(
int size)
const final;
620 void InternalSwap(BooleanAssignment* other);
621 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
622 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
623 return "operations_research.sat.BooleanAssignment";
628 static void ArenaDtor(
void*
object);
629 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
634 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
646 kLiteralsFieldNumber = 1,
651 int _internal_literals_size()
const;
656 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
657 _internal_literals()
const;
659 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
660 _internal_mutable_literals();
665 const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
667 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
674 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
675 typedef void InternalArenaConstructable_;
676 typedef void DestructorSkippable_;
677 ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
678 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
679 friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
684 public ::PROTOBUF_NAMESPACE_ID::Message {
691 : LinearBooleanProblem() {
692 *
this = ::std::move(from);
695 inline LinearBooleanProblem&
operator=(
const LinearBooleanProblem& from) {
699 inline LinearBooleanProblem&
operator=(LinearBooleanProblem&& from) noexcept {
700 if (GetArena() == from.GetArena()) {
701 if (
this != &from) InternalSwap(&from);
709 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
712 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
715 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
716 return GetDescriptor();
719 return GetMetadataStatic().descriptor;
722 return GetMetadataStatic().reflection;
727 return reinterpret_cast<const LinearBooleanProblem*
>(
730 static constexpr
int kIndexInFileMessages =
733 friend void swap(LinearBooleanProblem&
a, LinearBooleanProblem&
b) {
736 inline void Swap(LinearBooleanProblem* other) {
737 if (other ==
this)
return;
738 if (GetArena() == other->GetArena()) {
741 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
745 if (other ==
this)
return;
746 GOOGLE_DCHECK(GetArena() == other->GetArena());
752 inline LinearBooleanProblem*
New() const final {
753 return CreateMaybeMessage<LinearBooleanProblem>(
nullptr);
756 LinearBooleanProblem*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
757 return CreateMaybeMessage<LinearBooleanProblem>(arena);
759 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
760 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
763 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
764 bool IsInitialized() const final;
766 size_t ByteSizeLong() const final;
767 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
768 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
769 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
770 int GetCachedSize() const final {
return _cached_size_.Get(); }
773 inline void SharedCtor();
774 inline void SharedDtor();
775 void SetCachedSize(
int size)
const final;
776 void InternalSwap(LinearBooleanProblem* other);
777 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
778 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
779 return "operations_research.sat.LinearBooleanProblem";
784 static void ArenaDtor(
void*
object);
785 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
790 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
802 kConstraintsFieldNumber = 4,
803 kVarNamesFieldNumber = 6,
804 kNameFieldNumber = 1,
805 kObjectiveFieldNumber = 5,
806 kAssignmentFieldNumber = 7,
807 kNumVariablesFieldNumber = 3,
808 kOriginalNumVariablesFieldNumber = 8,
813 int _internal_constraints_size()
const;
817 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >*
820 const ::operations_research::sat::LinearBooleanConstraint& _internal_constraints(
int index)
const;
821 ::operations_research::sat::LinearBooleanConstraint* _internal_add_constraints();
825 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >&
831 int _internal_var_names_size()
const;
845 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
var_names()
const;
848 const std::string& _internal_var_names(
int index)
const;
849 std::string* _internal_add_var_names();
855 bool _internal_has_name()
const;
858 const std::string&
name()
const;
867 const std::string& _internal_name()
const;
868 void _internal_set_name(
const std::string&
value);
869 std::string* _internal_mutable_name();
875 bool _internal_has_objective()
const;
878 const ::operations_research::sat::LinearObjective&
objective()
const;
883 const ::operations_research::sat::LinearObjective& _internal_objective()
const;
884 ::operations_research::sat::LinearObjective* _internal_mutable_objective();
887 ::operations_research::sat::LinearObjective* objective);
893 bool _internal_has_assignment()
const;
896 const ::operations_research::sat::BooleanAssignment&
assignment()
const;
901 const ::operations_research::sat::BooleanAssignment& _internal_assignment()
const;
902 ::operations_research::sat::BooleanAssignment* _internal_mutable_assignment();
905 ::operations_research::sat::BooleanAssignment* assignment);
911 bool _internal_has_num_variables()
const;
924 bool _internal_has_original_num_variables()
const;
938 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
939 typedef void InternalArenaConstructable_;
940 typedef void DestructorSkippable_;
941 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
942 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
943 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint > constraints_;
944 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> var_names_;
945 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
946 ::operations_research::sat::LinearObjective*
objective_;
947 ::operations_research::sat::BooleanAssignment* assignment_;
950 friend struct ::TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto;
958 #pragma GCC diagnostic push
959 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
964 inline int LinearBooleanConstraint::_internal_literals_size()
const {
965 return literals_.size();
967 inline int LinearBooleanConstraint::literals_size()
const {
968 return _internal_literals_size();
970 inline void LinearBooleanConstraint::clear_literals() {
974 return literals_.Get(
index);
978 return _internal_literals(
index);
985 literals_.Add(
value);
988 _internal_add_literals(
value);
991 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
992 LinearBooleanConstraint::_internal_literals()
const {
995 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
996 LinearBooleanConstraint::literals()
const {
998 return _internal_literals();
1000 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1001 LinearBooleanConstraint::_internal_mutable_literals() {
1004 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1005 LinearBooleanConstraint::mutable_literals() {
1007 return _internal_mutable_literals();
1011 inline int LinearBooleanConstraint::_internal_coefficients_size()
const {
1012 return coefficients_.size();
1014 inline int LinearBooleanConstraint::coefficients_size()
const {
1015 return _internal_coefficients_size();
1017 inline void LinearBooleanConstraint::clear_coefficients() {
1018 coefficients_.Clear();
1021 return coefficients_.Get(
index);
1025 return _internal_coefficients(
index);
1032 coefficients_.Add(
value);
1035 _internal_add_coefficients(
value);
1038 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1039 LinearBooleanConstraint::_internal_coefficients()
const {
1040 return coefficients_;
1042 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1045 return _internal_coefficients();
1047 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1048 LinearBooleanConstraint::_internal_mutable_coefficients() {
1049 return &coefficients_;
1051 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1052 LinearBooleanConstraint::mutable_coefficients() {
1054 return _internal_mutable_coefficients();
1058 inline bool LinearBooleanConstraint::_internal_has_lower_bound()
const {
1059 bool value = (_has_bits_[0] & 0x00000002u) != 0;
1062 inline bool LinearBooleanConstraint::has_lower_bound()
const {
1063 return _internal_has_lower_bound();
1065 inline void LinearBooleanConstraint::clear_lower_bound() {
1066 lower_bound_ = PROTOBUF_LONGLONG(0);
1067 _has_bits_[0] &= ~0x00000002u;
1070 return lower_bound_;
1074 return _internal_lower_bound();
1077 _has_bits_[0] |= 0x00000002u;
1078 lower_bound_ =
value;
1081 _internal_set_lower_bound(
value);
1086 inline bool LinearBooleanConstraint::_internal_has_upper_bound()
const {
1087 bool value = (_has_bits_[0] & 0x00000004u) != 0;
1090 inline bool LinearBooleanConstraint::has_upper_bound()
const {
1091 return _internal_has_upper_bound();
1093 inline void LinearBooleanConstraint::clear_upper_bound() {
1094 upper_bound_ = PROTOBUF_LONGLONG(0);
1095 _has_bits_[0] &= ~0x00000004u;
1098 return upper_bound_;
1102 return _internal_upper_bound();
1105 _has_bits_[0] |= 0x00000004u;
1106 upper_bound_ =
value;
1109 _internal_set_upper_bound(
value);
1114 inline bool LinearBooleanConstraint::_internal_has_name()
const {
1115 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1118 inline bool LinearBooleanConstraint::has_name()
const {
1119 return _internal_has_name();
1121 inline void LinearBooleanConstraint::clear_name() {
1122 name_.ClearToEmpty();
1123 _has_bits_[0] &= ~0x00000001u;
1127 return _internal_name();
1129 inline void LinearBooleanConstraint::set_name(
const std::string&
value) {
1130 _internal_set_name(
value);
1133 inline std::string* LinearBooleanConstraint::mutable_name() {
1135 return _internal_mutable_name();
1137 inline const std::string& LinearBooleanConstraint::_internal_name()
const {
1140 inline void LinearBooleanConstraint::_internal_set_name(
const std::string&
value) {
1141 _has_bits_[0] |= 0x00000001u;
1142 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
value, GetArena());
1144 inline void LinearBooleanConstraint::set_name(std::string&&
value) {
1145 _has_bits_[0] |= 0x00000001u;
1147 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(
value), GetArena());
1150 inline void LinearBooleanConstraint::set_name(
const char*
value) {
1151 GOOGLE_DCHECK(
value !=
nullptr);
1152 _has_bits_[0] |= 0x00000001u;
1153 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
value), GetArena());
1156 inline void LinearBooleanConstraint::set_name(
const char*
value,
1158 _has_bits_[0] |= 0x00000001u;
1159 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
1160 reinterpret_cast<const char*
>(
value), size), GetArena());
1163 inline std::string* LinearBooleanConstraint::_internal_mutable_name() {
1164 _has_bits_[0] |= 0x00000001u;
1165 return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
1167 inline std::string* LinearBooleanConstraint::release_name() {
1169 if (!_internal_has_name()) {
1172 _has_bits_[0] &= ~0x00000001u;
1173 return name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1175 inline void LinearBooleanConstraint::set_allocated_name(std::string*
name) {
1176 if (
name !=
nullptr) {
1177 _has_bits_[0] |= 0x00000001u;
1179 _has_bits_[0] &= ~0x00000001u;
1181 name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
name,
1191 inline int LinearObjective::_internal_literals_size()
const {
1192 return literals_.size();
1194 inline int LinearObjective::literals_size()
const {
1195 return _internal_literals_size();
1197 inline void LinearObjective::clear_literals() {
1201 return literals_.Get(
index);
1205 return _internal_literals(
index);
1212 literals_.Add(
value);
1215 _internal_add_literals(
value);
1218 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1219 LinearObjective::_internal_literals()
const {
1222 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1223 LinearObjective::literals()
const {
1225 return _internal_literals();
1227 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1228 LinearObjective::_internal_mutable_literals() {
1231 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1232 LinearObjective::mutable_literals() {
1234 return _internal_mutable_literals();
1238 inline int LinearObjective::_internal_coefficients_size()
const {
1239 return coefficients_.size();
1241 inline int LinearObjective::coefficients_size()
const {
1242 return _internal_coefficients_size();
1244 inline void LinearObjective::clear_coefficients() {
1245 coefficients_.Clear();
1248 return coefficients_.Get(
index);
1252 return _internal_coefficients(
index);
1259 coefficients_.Add(
value);
1262 _internal_add_coefficients(
value);
1265 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1266 LinearObjective::_internal_coefficients()
const {
1267 return coefficients_;
1269 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1272 return _internal_coefficients();
1274 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1275 LinearObjective::_internal_mutable_coefficients() {
1276 return &coefficients_;
1278 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1279 LinearObjective::mutable_coefficients() {
1281 return _internal_mutable_coefficients();
1285 inline bool LinearObjective::_internal_has_offset()
const {
1286 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1289 inline bool LinearObjective::has_offset()
const {
1290 return _internal_has_offset();
1292 inline void LinearObjective::clear_offset() {
1294 _has_bits_[0] &= ~0x00000001u;
1296 inline double LinearObjective::_internal_offset()
const {
1299 inline double LinearObjective::offset()
const {
1301 return _internal_offset();
1303 inline void LinearObjective::_internal_set_offset(
double value) {
1304 _has_bits_[0] |= 0x00000001u;
1307 inline void LinearObjective::set_offset(
double value) {
1308 _internal_set_offset(
value);
1313 inline bool LinearObjective::_internal_has_scaling_factor()
const {
1314 bool value = (_has_bits_[0] & 0x00000002u) != 0;
1317 inline bool LinearObjective::has_scaling_factor()
const {
1318 return _internal_has_scaling_factor();
1320 inline void LinearObjective::clear_scaling_factor() {
1321 scaling_factor_ = 1;
1322 _has_bits_[0] &= ~0x00000002u;
1324 inline double LinearObjective::_internal_scaling_factor()
const {
1325 return scaling_factor_;
1327 inline double LinearObjective::scaling_factor()
const {
1329 return _internal_scaling_factor();
1331 inline void LinearObjective::_internal_set_scaling_factor(
double value) {
1332 _has_bits_[0] |= 0x00000002u;
1333 scaling_factor_ =
value;
1335 inline void LinearObjective::set_scaling_factor(
double value) {
1336 _internal_set_scaling_factor(
value);
1345 inline int BooleanAssignment::_internal_literals_size()
const {
1346 return literals_.size();
1348 inline int BooleanAssignment::literals_size()
const {
1349 return _internal_literals_size();
1351 inline void BooleanAssignment::clear_literals() {
1355 return literals_.Get(
index);
1359 return _internal_literals(
index);
1366 literals_.Add(
value);
1369 _internal_add_literals(
value);
1372 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1373 BooleanAssignment::_internal_literals()
const {
1376 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1377 BooleanAssignment::literals()
const {
1379 return _internal_literals();
1381 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1382 BooleanAssignment::_internal_mutable_literals() {
1385 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1386 BooleanAssignment::mutable_literals() {
1388 return _internal_mutable_literals();
1396 inline bool LinearBooleanProblem::_internal_has_name()
const {
1397 bool value = (_has_bits_[0] & 0x00000001u) != 0;
1400 inline bool LinearBooleanProblem::has_name()
const {
1401 return _internal_has_name();
1403 inline void LinearBooleanProblem::clear_name() {
1404 name_.ClearToEmpty();
1405 _has_bits_[0] &= ~0x00000001u;
1409 return _internal_name();
1411 inline void LinearBooleanProblem::set_name(
const std::string&
value) {
1412 _internal_set_name(
value);
1415 inline std::string* LinearBooleanProblem::mutable_name() {
1417 return _internal_mutable_name();
1419 inline const std::string& LinearBooleanProblem::_internal_name()
const {
1422 inline void LinearBooleanProblem::_internal_set_name(
const std::string&
value) {
1423 _has_bits_[0] |= 0x00000001u;
1424 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
value, GetArena());
1426 inline void LinearBooleanProblem::set_name(std::string&&
value) {
1427 _has_bits_[0] |= 0x00000001u;
1429 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(
value), GetArena());
1432 inline void LinearBooleanProblem::set_name(
const char*
value) {
1433 GOOGLE_DCHECK(
value !=
nullptr);
1434 _has_bits_[0] |= 0x00000001u;
1435 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
value), GetArena());
1438 inline void LinearBooleanProblem::set_name(
const char*
value,
1440 _has_bits_[0] |= 0x00000001u;
1441 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
1442 reinterpret_cast<const char*
>(
value), size), GetArena());
1445 inline std::string* LinearBooleanProblem::_internal_mutable_name() {
1446 _has_bits_[0] |= 0x00000001u;
1447 return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
1449 inline std::string* LinearBooleanProblem::release_name() {
1451 if (!_internal_has_name()) {
1454 _has_bits_[0] &= ~0x00000001u;
1455 return name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1457 inline void LinearBooleanProblem::set_allocated_name(std::string*
name) {
1458 if (
name !=
nullptr) {
1459 _has_bits_[0] |= 0x00000001u;
1461 _has_bits_[0] &= ~0x00000001u;
1463 name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
name,
1469 inline bool LinearBooleanProblem::_internal_has_num_variables()
const {
1470 bool value = (_has_bits_[0] & 0x00000008u) != 0;
1473 inline bool LinearBooleanProblem::has_num_variables()
const {
1474 return _internal_has_num_variables();
1476 inline void LinearBooleanProblem::clear_num_variables() {
1478 _has_bits_[0] &= ~0x00000008u;
1481 return num_variables_;
1485 return _internal_num_variables();
1488 _has_bits_[0] |= 0x00000008u;
1489 num_variables_ =
value;
1492 _internal_set_num_variables(
value);
1497 inline int LinearBooleanProblem::_internal_constraints_size()
const {
1498 return constraints_.size();
1500 inline int LinearBooleanProblem::constraints_size()
const {
1501 return _internal_constraints_size();
1503 inline void LinearBooleanProblem::clear_constraints() {
1504 constraints_.Clear();
1506 inline ::operations_research::sat::LinearBooleanConstraint* LinearBooleanProblem::mutable_constraints(
int index) {
1508 return constraints_.Mutable(
index);
1510 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >*
1511 LinearBooleanProblem::mutable_constraints() {
1513 return &constraints_;
1515 inline const ::operations_research::sat::LinearBooleanConstraint& LinearBooleanProblem::_internal_constraints(
int index)
const {
1516 return constraints_.Get(
index);
1518 inline const ::operations_research::sat::LinearBooleanConstraint& LinearBooleanProblem::constraints(
int index)
const {
1520 return _internal_constraints(
index);
1522 inline ::operations_research::sat::LinearBooleanConstraint* LinearBooleanProblem::_internal_add_constraints() {
1523 return constraints_.Add();
1525 inline ::operations_research::sat::LinearBooleanConstraint* LinearBooleanProblem::add_constraints() {
1527 return _internal_add_constraints();
1529 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearBooleanConstraint >&
1530 LinearBooleanProblem::constraints()
const {
1532 return constraints_;
1536 inline bool LinearBooleanProblem::_internal_has_objective()
const {
1537 bool value = (_has_bits_[0] & 0x00000002u) != 0;
1541 inline bool LinearBooleanProblem::has_objective()
const {
1542 return _internal_has_objective();
1544 inline void LinearBooleanProblem::clear_objective() {
1546 _has_bits_[0] &= ~0x00000002u;
1548 inline const ::operations_research::sat::LinearObjective& LinearBooleanProblem::_internal_objective()
const {
1549 const ::operations_research::sat::LinearObjective* p =
objective_;
1550 return p !=
nullptr ? *p :
reinterpret_cast<const ::operations_research::sat::LinearObjective&
>(
1553 inline const ::operations_research::sat::LinearObjective& LinearBooleanProblem::objective()
const {
1555 return _internal_objective();
1557 inline void LinearBooleanProblem::unsafe_arena_set_allocated_objective(
1558 ::operations_research::sat::LinearObjective* objective) {
1559 if (GetArena() ==
nullptr) {
1560 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(
objective_);
1564 _has_bits_[0] |= 0x00000002u;
1566 _has_bits_[0] &= ~0x00000002u;
1570 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::release_objective() {
1571 _has_bits_[0] &= ~0x00000002u;
1572 ::operations_research::sat::LinearObjective* temp =
objective_;
1574 if (GetArena() !=
nullptr) {
1575 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1579 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::unsafe_arena_release_objective() {
1581 _has_bits_[0] &= ~0x00000002u;
1582 ::operations_research::sat::LinearObjective* temp =
objective_;
1586 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::_internal_mutable_objective() {
1587 _has_bits_[0] |= 0x00000002u;
1589 auto* p = CreateMaybeMessage<::operations_research::sat::LinearObjective>(GetArena());
1594 inline ::operations_research::sat::LinearObjective* LinearBooleanProblem::mutable_objective() {
1596 return _internal_mutable_objective();
1598 inline void LinearBooleanProblem::set_allocated_objective(::operations_research::sat::LinearObjective* objective) {
1599 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1600 if (message_arena ==
nullptr) {
1604 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1605 ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(objective);
1606 if (message_arena != submessage_arena) {
1607 objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1608 message_arena, objective, submessage_arena);
1610 _has_bits_[0] |= 0x00000002u;
1612 _has_bits_[0] &= ~0x00000002u;
1619 inline int LinearBooleanProblem::_internal_var_names_size()
const {
1620 return var_names_.size();
1622 inline int LinearBooleanProblem::var_names_size()
const {
1623 return _internal_var_names_size();
1625 inline void LinearBooleanProblem::clear_var_names() {
1628 inline std::string* LinearBooleanProblem::add_var_names() {
1630 return _internal_add_var_names();
1632 inline const std::string& LinearBooleanProblem::_internal_var_names(
int index)
const {
1633 return var_names_.Get(
index);
1635 inline const std::string& LinearBooleanProblem::var_names(
int index)
const {
1637 return _internal_var_names(
index);
1639 inline std::string* LinearBooleanProblem::mutable_var_names(
int index) {
1641 return var_names_.Mutable(
index);
1643 inline void LinearBooleanProblem::set_var_names(
int index,
const std::string&
value) {
1647 inline void LinearBooleanProblem::set_var_names(
int index, std::string&&
value) {
1649 var_names_.Mutable(
index)->assign(std::move(
value));
1651 inline void LinearBooleanProblem::set_var_names(
int index,
const char*
value) {
1652 GOOGLE_DCHECK(
value !=
nullptr);
1656 inline void LinearBooleanProblem::set_var_names(
int index,
const char*
value,
size_t size) {
1657 var_names_.Mutable(
index)->assign(
1658 reinterpret_cast<const char*
>(
value), size);
1661 inline std::string* LinearBooleanProblem::_internal_add_var_names() {
1662 return var_names_.Add();
1664 inline void LinearBooleanProblem::add_var_names(
const std::string&
value) {
1665 var_names_.Add()->assign(
value);
1668 inline void LinearBooleanProblem::add_var_names(std::string&&
value) {
1669 var_names_.Add(std::move(
value));
1672 inline void LinearBooleanProblem::add_var_names(
const char*
value) {
1673 GOOGLE_DCHECK(
value !=
nullptr);
1674 var_names_.Add()->assign(
value);
1677 inline void LinearBooleanProblem::add_var_names(
const char*
value,
size_t size) {
1678 var_names_.Add()->assign(
reinterpret_cast<const char*
>(
value), size);
1681 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1682 LinearBooleanProblem::var_names()
const {
1686 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
1687 LinearBooleanProblem::mutable_var_names() {
1693 inline bool LinearBooleanProblem::_internal_has_assignment()
const {
1694 bool value = (_has_bits_[0] & 0x00000004u) != 0;
1695 PROTOBUF_ASSUME(!
value || assignment_ !=
nullptr);
1698 inline bool LinearBooleanProblem::has_assignment()
const {
1699 return _internal_has_assignment();
1701 inline void LinearBooleanProblem::clear_assignment() {
1702 if (assignment_ !=
nullptr) assignment_->Clear();
1703 _has_bits_[0] &= ~0x00000004u;
1705 inline const ::operations_research::sat::BooleanAssignment& LinearBooleanProblem::_internal_assignment()
const {
1706 const ::operations_research::sat::BooleanAssignment* p = assignment_;
1707 return p !=
nullptr ? *p :
reinterpret_cast<const ::operations_research::sat::BooleanAssignment&
>(
1710 inline const ::operations_research::sat::BooleanAssignment& LinearBooleanProblem::assignment()
const {
1712 return _internal_assignment();
1714 inline void LinearBooleanProblem::unsafe_arena_set_allocated_assignment(
1715 ::operations_research::sat::BooleanAssignment* assignment) {
1716 if (GetArena() ==
nullptr) {
1717 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(assignment_);
1719 assignment_ = assignment;
1721 _has_bits_[0] |= 0x00000004u;
1723 _has_bits_[0] &= ~0x00000004u;
1727 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::release_assignment() {
1728 _has_bits_[0] &= ~0x00000004u;
1729 ::operations_research::sat::BooleanAssignment* temp = assignment_;
1730 assignment_ =
nullptr;
1731 if (GetArena() !=
nullptr) {
1732 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1736 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::unsafe_arena_release_assignment() {
1738 _has_bits_[0] &= ~0x00000004u;
1739 ::operations_research::sat::BooleanAssignment* temp = assignment_;
1740 assignment_ =
nullptr;
1743 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::_internal_mutable_assignment() {
1744 _has_bits_[0] |= 0x00000004u;
1745 if (assignment_ ==
nullptr) {
1746 auto* p = CreateMaybeMessage<::operations_research::sat::BooleanAssignment>(GetArena());
1751 inline ::operations_research::sat::BooleanAssignment* LinearBooleanProblem::mutable_assignment() {
1753 return _internal_mutable_assignment();
1755 inline void LinearBooleanProblem::set_allocated_assignment(::operations_research::sat::BooleanAssignment* assignment) {
1756 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1757 if (message_arena ==
nullptr) {
1761 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1762 ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(assignment);
1763 if (message_arena != submessage_arena) {
1764 assignment = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1765 message_arena, assignment, submessage_arena);
1767 _has_bits_[0] |= 0x00000004u;
1769 _has_bits_[0] &= ~0x00000004u;
1771 assignment_ = assignment;
1776 inline bool LinearBooleanProblem::_internal_has_original_num_variables()
const {
1777 bool value = (_has_bits_[0] & 0x00000010u) != 0;
1780 inline bool LinearBooleanProblem::has_original_num_variables()
const {
1781 return _internal_has_original_num_variables();
1783 inline void LinearBooleanProblem::clear_original_num_variables() {
1784 original_num_variables_ = 0;
1785 _has_bits_[0] &= ~0x00000010u;
1788 return original_num_variables_;
1792 return _internal_original_num_variables();
1795 _has_bits_[0] |= 0x00000010u;
1796 original_num_variables_ =
value;
1799 _internal_set_original_num_variables(
value);
1804 #pragma GCC diagnostic pop
1820 #include <google/protobuf/port_undef.inc>
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
LinearBooleanProblem(LinearBooleanProblem &&from) noexcept
void MergeFrom(const BooleanAssignment &from)
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)
bool has_assignment() const
std::string * add_var_names()
LinearObjective * New() const final
void clear_coefficients()
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()
std::string * mutable_name()
LinearBooleanConstraint & operator=(LinearBooleanConstraint &&from) noexcept
void UnsafeArenaSwap(LinearObjective *other)
LinearObjective & operator=(LinearObjective &&from) noexcept
bool has_upper_bound() const
static const LinearBooleanConstraint * internal_default_instance()
LinearBooleanProblem * New() const final
std::string * release_name()
void set_var_names(int index, const char *value)
void add_var_names(const char *value, size_t size)
virtual ~LinearBooleanProblem()
LinearBooleanConstraint(LinearBooleanConstraint &&from) noexcept
static const LinearObjective * internal_default_instance()
LinearBooleanProblem(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::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)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > & var_names() const
::operations_research::sat::LinearObjective * release_objective()
void Swap(LinearObjective *other)
static const LinearBooleanProblem * internal_default_instance()
int literals_size() const
::operations_research::sat::LinearBooleanConstraint * add_constraints()
void CopyFrom(const LinearBooleanProblem &from)
void set_original_num_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_objective() const
const ::operations_research::sat::LinearObjective & objective() const
void set_lower_bound(::PROTOBUF_NAMESPACE_ID::int64 value)
int var_names_size() const
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)
bool has_original_num_variables() const
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)
double scaling_factor() const
LinearObjective(::PROTOBUF_NAMESPACE_ID::Arena *arena)
LinearObjective(const LinearObjective &from)
::operations_research::sat::BooleanAssignment * unsafe_arena_release_assignment()
virtual ~BooleanAssignment()
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
bool has_scaling_factor() const
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()
virtual ~LinearObjective()
void set_offset(double value)
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)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
virtual ~LinearBooleanConstraint()
void Swap(LinearBooleanConstraint *other)
void UnsafeArenaSwap(LinearBooleanConstraint *other)
void clear_num_variables()
::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(const char *value)
void set_name(std::string &&value)
void clear_original_num_variables()
void clear_scaling_factor()
bool has_num_variables() const
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)
int constraints_size() const
void set_allocated_name(std::string *name)
void add_var_names(const char *value)
LinearBooleanConstraint(const LinearBooleanConstraint &from)
void set_scaling_factor(double value)
LinearBooleanConstraint()
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)
bool has_lower_bound() const
int coefficients_size() const
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > * mutable_var_names()
std::string * mutable_var_names(int index)
class operations_research::sat::BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_
class operations_research::sat::LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_
class operations_research::sat::LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_
class operations_research::sat::LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
std::vector< double > coefficients