8 #include <google/protobuf/io/coded_stream.h> 9 #include <google/protobuf/extension_set.h> 10 #include <google/protobuf/wire_format_lite.h> 11 #include <google/protobuf/descriptor.h> 12 #include <google/protobuf/generated_message_reflection.h> 13 #include <google/protobuf/reflection_ops.h> 14 #include <google/protobuf/wire_format.h> 16 #include <google/protobuf/port_def.inc> 18 PROTOBUF_PRAGMA_INIT_SEG
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
25 , name_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
26 , lower_bound_(int64_t{0})
27 , upper_bound_(int64_t{0}){}
38 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
42 , scaling_factor_(1){}
53 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
65 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
68 , name_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
70 , assignment_(nullptr)
72 , original_num_variables_(0){}
157 const char descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
158 "\n!ortools/sat/boolean_problem.proto\022\027ope" 159 "rations_research.sat\"{\n\027LinearBooleanCon" 160 "straint\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficient" 161 "s\030\002 \003(\003\022\023\n\013lower_bound\030\003 \001(\003\022\023\n\013upper_bo" 162 "und\030\004 \001(\003\022\016\n\004name\030\005 \001(\t:\000\"g\n\017LinearObjec" 163 "tive\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficients\030\002" 164 " \003(\003\022\021\n\006offset\030\003 \001(\001:\0010\022\031\n\016scaling_facto" 165 "r\030\004 \001(\001:\0011\"%\n\021BooleanAssignment\022\020\n\010liter" 166 "als\030\001 \003(\005\"\264\002\n\024LinearBooleanProblem\022\016\n\004na" 167 "me\030\001 \001(\t:\000\022\025\n\rnum_variables\030\003 \001(\005\022E\n\013con" 168 "straints\030\004 \003(\01320.operations_research.sat" 169 ".LinearBooleanConstraint\022;\n\tobjective\030\005 " 170 "\001(\0132(.operations_research.sat.LinearObje" 171 "ctive\022\021\n\tvar_names\030\006 \003(\t\022>\n\nassignment\030\007" 172 " \001(\0132*.operations_research.sat.BooleanAs" 173 "signment\022\036\n\026original_num_variables\030\010 \001(\005" 174 "B/\n\026com.google.ortools.satP\001\252\002\022Google.Or" 179 false,
false, 689, descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto,
"ortools/sat/boolean_problem.proto",
197 using HasBits = decltype(std::declval<LinearBooleanConstraint>()._has_bits_);
199 (*has_bits)[0] |= 2u;
202 (*has_bits)[0] |= 4u;
205 (*has_bits)[0] |= 1u;
210 bool is_message_owned)
211 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
213 coefficients_(arena) {
215 if (!is_message_owned) {
216 RegisterArenaDtor(arena);
221 : ::PROTOBUF_NAMESPACE_ID::Message(),
222 _has_bits_(from._has_bits_),
223 literals_(from.literals_),
224 coefficients_(from.coefficients_) {
225 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
226 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
227 if (from._internal_has_name()) {
228 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
229 GetArenaForAllocation());
231 ::memcpy(&lower_bound_, &from.lower_bound_,
232 static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
233 reinterpret_cast<char*>(&lower_bound_)) +
sizeof(upper_bound_));
237 inline void LinearBooleanConstraint::SharedCtor() {
238 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
239 ::memset(reinterpret_cast<char*>(
this) + static_cast<size_t>(
240 reinterpret_cast<char*>(&lower_bound_) - reinterpret_cast<char*>(
this)),
241 0, static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
242 reinterpret_cast<char*>(&lower_bound_)) +
sizeof(upper_bound_));
247 if (GetArenaForAllocation() !=
nullptr)
return;
249 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
252 inline void LinearBooleanConstraint::SharedDtor() {
253 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
254 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
257 void LinearBooleanConstraint::ArenaDtor(
void*
object) {
261 void LinearBooleanConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
263 void LinearBooleanConstraint::SetCachedSize(
int size)
const {
264 _cached_size_.Set(size);
269 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
271 (void) cached_has_bits;
274 coefficients_.Clear();
275 cached_has_bits = _has_bits_[0];
276 if (cached_has_bits & 0x00000001u) {
277 name_.ClearNonDefaultToEmpty();
279 if (cached_has_bits & 0x00000006u) {
280 ::memset(&lower_bound_, 0, static_cast<size_t>(
281 reinterpret_cast<char*>(&upper_bound_) -
282 reinterpret_cast<char*>(&lower_bound_)) +
sizeof(upper_bound_));
285 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
289 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure 291 while (!ctx->Done(&ptr)) {
292 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
293 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
297 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
301 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
303 if (!ctx->DataAvailable(ptr))
break;
304 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
305 }
else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
306 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
308 }
else goto handle_unusual;
312 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
316 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
318 if (!ctx->DataAvailable(ptr))
break;
319 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
320 }
else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
321 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
323 }
else goto handle_unusual;
327 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
329 lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
331 }
else goto handle_unusual;
335 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
337 upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
339 }
else goto handle_unusual;
343 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
344 auto str = _internal_mutable_name();
345 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
347 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanConstraint.name");
350 }
else goto handle_unusual;
354 if ((tag == 0) || ((tag & 7) == 4)) {
356 ctx->SetLastTag(tag);
359 ptr = UnknownFieldParse(tag,
360 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
362 CHK_(ptr !=
nullptr);
368 _has_bits_.Or(has_bits);
377 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
379 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
380 (void) cached_has_bits;
383 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
384 target = stream->EnsureSpace(target);
385 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
389 for (
int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
390 target = stream->EnsureSpace(target);
391 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
394 cached_has_bits = _has_bits_[0];
396 if (cached_has_bits & 0x00000002u) {
397 target = stream->EnsureSpace(target);
398 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_lower_bound(), target);
402 if (cached_has_bits & 0x00000004u) {
403 target = stream->EnsureSpace(target);
404 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_upper_bound(), target);
408 if (cached_has_bits & 0x00000001u) {
409 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
410 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
411 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
412 "operations_research.sat.LinearBooleanConstraint.name");
413 target = stream->WriteStringMaybeAliased(
414 5, this->_internal_name(), target);
417 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
418 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
419 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
427 size_t total_size = 0;
429 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
431 (void) cached_has_bits;
435 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
436 Int32Size(this->literals_);
438 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
439 total_size += data_size;
444 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
445 Int64Size(this->coefficients_);
447 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
448 total_size += data_size;
451 cached_has_bits = _has_bits_[0];
452 if (cached_has_bits & 0x00000007u) {
454 if (cached_has_bits & 0x00000001u) {
456 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
457 this->_internal_name());
461 if (cached_has_bits & 0x00000002u) {
463 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
464 this->_internal_lower_bound());
468 if (cached_has_bits & 0x00000004u) {
470 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
471 this->_internal_upper_bound());
475 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
476 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
477 _internal_metadata_, total_size, &_cached_size_);
479 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
480 SetCachedSize(cached_size);
485 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
486 LinearBooleanConstraint::MergeImpl
490 void LinearBooleanConstraint::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
491 const ::PROTOBUF_NAMESPACE_ID::Message&from) {
492 static_cast<LinearBooleanConstraint *>(to)->MergeFrom(
493 static_cast<const LinearBooleanConstraint &>(from));
499 GOOGLE_DCHECK_NE(&from,
this);
500 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
501 (void) cached_has_bits;
503 literals_.MergeFrom(from.literals_);
504 coefficients_.MergeFrom(from.coefficients_);
505 cached_has_bits = from._has_bits_[0];
506 if (cached_has_bits & 0x00000007u) {
507 if (cached_has_bits & 0x00000001u) {
508 _internal_set_name(from._internal_name());
510 if (cached_has_bits & 0x00000002u) {
511 lower_bound_ = from.lower_bound_;
513 if (cached_has_bits & 0x00000004u) {
514 upper_bound_ = from.upper_bound_;
516 _has_bits_[0] |= cached_has_bits;
518 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
523 if (&from ==
this)
return;
534 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
535 swap(_has_bits_[0], other->_has_bits_[0]);
536 literals_.InternalSwap(&other->literals_);
537 coefficients_.InternalSwap(&other->coefficients_);
538 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
539 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
540 &name_, GetArenaForAllocation(),
541 &other->name_, other->GetArenaForAllocation()
543 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
545 +
sizeof(LinearBooleanConstraint::upper_bound_)
547 reinterpret_cast<char*>(&lower_bound_),
548 reinterpret_cast<char*>(&other->lower_bound_));
552 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
561 using HasBits = decltype(std::declval<LinearObjective>()._has_bits_);
563 (*has_bits)[0] |= 1u;
566 (*has_bits)[0] |= 2u;
571 bool is_message_owned)
572 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
574 coefficients_(arena) {
576 if (!is_message_owned) {
577 RegisterArenaDtor(arena);
582 : ::PROTOBUF_NAMESPACE_ID::Message(),
583 _has_bits_(from._has_bits_),
584 literals_(from.literals_),
585 coefficients_(from.coefficients_) {
586 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
587 ::memcpy(&offset_, &from.offset_,
588 static_cast<size_t>(reinterpret_cast<char*>(&scaling_factor_) -
589 reinterpret_cast<char*>(&offset_)) +
sizeof(scaling_factor_));
593 inline void LinearObjective::SharedCtor() {
600 if (GetArenaForAllocation() !=
nullptr)
return;
602 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
605 inline void LinearObjective::SharedDtor() {
606 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
609 void LinearObjective::ArenaDtor(
void*
object) {
613 void LinearObjective::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
615 void LinearObjective::SetCachedSize(
int size)
const {
616 _cached_size_.Set(size);
621 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
623 (void) cached_has_bits;
626 coefficients_.Clear();
627 cached_has_bits = _has_bits_[0];
628 if (cached_has_bits & 0x00000003u) {
633 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
637 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure 639 while (!ctx->Done(&ptr)) {
640 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
641 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
645 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
649 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
651 if (!ctx->DataAvailable(ptr))
break;
652 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
653 }
else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
654 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
656 }
else goto handle_unusual;
660 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
664 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
666 if (!ctx->DataAvailable(ptr))
break;
667 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
668 }
else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
669 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
671 }
else goto handle_unusual;
675 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
677 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
678 ptr +=
sizeof(double);
679 }
else goto handle_unusual;
683 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
685 scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
686 ptr +=
sizeof(double);
687 }
else goto handle_unusual;
691 if ((tag == 0) || ((tag & 7) == 4)) {
693 ctx->SetLastTag(tag);
696 ptr = UnknownFieldParse(tag,
697 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
699 CHK_(ptr !=
nullptr);
705 _has_bits_.Or(has_bits);
714 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
716 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
717 (void) cached_has_bits;
720 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
721 target = stream->EnsureSpace(target);
722 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
726 for (
int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
727 target = stream->EnsureSpace(target);
728 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
731 cached_has_bits = _has_bits_[0];
733 if (cached_has_bits & 0x00000001u) {
734 target = stream->EnsureSpace(target);
735 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_offset(), target);
739 if (cached_has_bits & 0x00000002u) {
740 target = stream->EnsureSpace(target);
741 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_scaling_factor(), target);
744 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
745 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
746 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
754 size_t total_size = 0;
756 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
758 (void) cached_has_bits;
762 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
763 Int32Size(this->literals_);
765 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
766 total_size += data_size;
771 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
772 Int64Size(this->coefficients_);
774 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
775 total_size += data_size;
778 cached_has_bits = _has_bits_[0];
779 if (cached_has_bits & 0x00000003u) {
781 if (cached_has_bits & 0x00000001u) {
786 if (cached_has_bits & 0x00000002u) {
791 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
792 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
793 _internal_metadata_, total_size, &_cached_size_);
795 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
796 SetCachedSize(cached_size);
801 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
802 LinearObjective::MergeImpl
806 void LinearObjective::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
807 const ::PROTOBUF_NAMESPACE_ID::Message&from) {
808 static_cast<LinearObjective *>(to)->MergeFrom(
809 static_cast<const LinearObjective &>(from));
815 GOOGLE_DCHECK_NE(&from,
this);
816 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
817 (void) cached_has_bits;
819 literals_.MergeFrom(from.literals_);
820 coefficients_.MergeFrom(from.coefficients_);
821 cached_has_bits = from._has_bits_[0];
822 if (cached_has_bits & 0x00000003u) {
823 if (cached_has_bits & 0x00000001u) {
824 offset_ = from.offset_;
826 if (cached_has_bits & 0x00000002u) {
827 scaling_factor_ = from.scaling_factor_;
829 _has_bits_[0] |= cached_has_bits;
831 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
836 if (&from ==
this)
return;
847 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
848 swap(_has_bits_[0], other->_has_bits_[0]);
849 literals_.InternalSwap(&other->literals_);
850 coefficients_.InternalSwap(&other->coefficients_);
851 swap(offset_, other->offset_);
852 swap(scaling_factor_, other->scaling_factor_);
856 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
868 bool is_message_owned)
869 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
872 if (!is_message_owned) {
873 RegisterArenaDtor(arena);
878 : ::PROTOBUF_NAMESPACE_ID::Message(),
879 literals_(from.literals_) {
880 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
884 inline void BooleanAssignment::SharedCtor() {
889 if (GetArenaForAllocation() !=
nullptr)
return;
891 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
894 inline void BooleanAssignment::SharedDtor() {
895 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
898 void BooleanAssignment::ArenaDtor(
void*
object) {
902 void BooleanAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
904 void BooleanAssignment::SetCachedSize(
int size)
const {
905 _cached_size_.Set(size);
910 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
912 (void) cached_has_bits;
915 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
919 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure 920 while (!ctx->Done(&ptr)) {
921 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
922 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
926 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
930 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
932 if (!ctx->DataAvailable(ptr))
break;
933 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
934 }
else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
935 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
937 }
else goto handle_unusual;
941 if ((tag == 0) || ((tag & 7) == 4)) {
943 ctx->SetLastTag(tag);
946 ptr = UnknownFieldParse(tag,
947 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
949 CHK_(ptr !=
nullptr);
963 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
965 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
966 (void) cached_has_bits;
969 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
970 target = stream->EnsureSpace(target);
971 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
974 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
975 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
976 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
984 size_t total_size = 0;
986 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
988 (void) cached_has_bits;
992 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
993 Int32Size(this->literals_);
995 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
996 total_size += data_size;
999 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1000 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1001 _internal_metadata_, total_size, &_cached_size_);
1003 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1004 SetCachedSize(cached_size);
1009 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1010 BooleanAssignment::MergeImpl
1014 void BooleanAssignment::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
1015 const ::PROTOBUF_NAMESPACE_ID::Message&from) {
1016 static_cast<BooleanAssignment *>(to)->MergeFrom(
1017 static_cast<const BooleanAssignment &>(from));
1023 GOOGLE_DCHECK_NE(&from,
this);
1024 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1025 (void) cached_has_bits;
1027 literals_.MergeFrom(from.literals_);
1028 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1033 if (&from ==
this)
return;
1044 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1045 literals_.InternalSwap(&other->literals_);
1049 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1058 using HasBits = decltype(std::declval<LinearBooleanProblem>()._has_bits_);
1060 (*has_bits)[0] |= 1u;
1063 (*has_bits)[0] |= 8u;
1067 (*has_bits)[0] |= 2u;
1071 (*has_bits)[0] |= 4u;
1074 (*has_bits)[0] |= 16u;
1078 const ::operations_research::sat::LinearObjective&
1080 return *msg->objective_;
1082 const ::operations_research::sat::BooleanAssignment&
1084 return *msg->assignment_;
1087 bool is_message_owned)
1088 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1089 constraints_(arena),
1092 if (!is_message_owned) {
1093 RegisterArenaDtor(arena);
1098 : ::PROTOBUF_NAMESPACE_ID::Message(),
1099 _has_bits_(from._has_bits_),
1100 constraints_(from.constraints_),
1101 var_names_(from.var_names_) {
1102 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1103 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1104 if (from._internal_has_name()) {
1105 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1106 GetArenaForAllocation());
1108 if (from._internal_has_objective()) {
1109 objective_ = new ::operations_research::sat::LinearObjective(*from.objective_);
1111 objective_ =
nullptr;
1113 if (from._internal_has_assignment()) {
1114 assignment_ = new ::operations_research::sat::BooleanAssignment(*from.assignment_);
1116 assignment_ =
nullptr;
1118 ::memcpy(&num_variables_, &from.num_variables_,
1119 static_cast<size_t>(reinterpret_cast<char*>(&original_num_variables_) -
1120 reinterpret_cast<char*>(&num_variables_)) +
sizeof(original_num_variables_));
1124 inline void LinearBooleanProblem::SharedCtor() {
1125 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1126 ::memset(reinterpret_cast<char*>(
this) + static_cast<size_t>(
1127 reinterpret_cast<char*>(&objective_) - reinterpret_cast<char*>(
this)),
1128 0, static_cast<size_t>(reinterpret_cast<char*>(&original_num_variables_) -
1129 reinterpret_cast<char*>(&objective_)) +
sizeof(original_num_variables_));
1134 if (GetArenaForAllocation() !=
nullptr)
return;
1136 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1139 inline void LinearBooleanProblem::SharedDtor() {
1140 GOOGLE_DCHECK(GetArenaForAllocation() ==
nullptr);
1141 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1146 void LinearBooleanProblem::ArenaDtor(
void*
object) {
1150 void LinearBooleanProblem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1152 void LinearBooleanProblem::SetCachedSize(
int size)
const {
1153 _cached_size_.Set(size);
1158 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1160 (void) cached_has_bits;
1162 constraints_.Clear();
1164 cached_has_bits = _has_bits_[0];
1165 if (cached_has_bits & 0x00000007u) {
1166 if (cached_has_bits & 0x00000001u) {
1167 name_.ClearNonDefaultToEmpty();
1169 if (cached_has_bits & 0x00000002u) {
1170 GOOGLE_DCHECK(objective_ !=
nullptr);
1171 objective_->
Clear();
1173 if (cached_has_bits & 0x00000004u) {
1174 GOOGLE_DCHECK(assignment_ !=
nullptr);
1175 assignment_->
Clear();
1178 if (cached_has_bits & 0x00000018u) {
1179 ::memset(&num_variables_, 0, static_cast<size_t>(
1180 reinterpret_cast<char*>(&original_num_variables_) -
1181 reinterpret_cast<char*>(&num_variables_)) +
sizeof(original_num_variables_));
1184 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1188 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure 1190 while (!ctx->Done(&ptr)) {
1191 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1192 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1196 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1197 auto str = _internal_mutable_name();
1198 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1200 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanProblem.name");
1203 }
else goto handle_unusual;
1207 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
1209 num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1211 }
else goto handle_unusual;
1215 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
1219 ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
1221 if (!ctx->DataAvailable(ptr))
break;
1222 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
1223 }
else goto handle_unusual;
1227 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
1228 ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
1230 }
else goto handle_unusual;
1234 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
1238 auto str = _internal_add_var_names();
1239 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1241 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanProblem.var_names");
1244 if (!ctx->DataAvailable(ptr))
break;
1245 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
1246 }
else goto handle_unusual;
1250 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
1251 ptr = ctx->ParseMessage(_internal_mutable_assignment(), ptr);
1253 }
else goto handle_unusual;
1257 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
1259 original_num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1261 }
else goto handle_unusual;
1265 if ((tag == 0) || ((tag & 7) == 4)) {
1267 ctx->SetLastTag(tag);
1270 ptr = UnknownFieldParse(tag,
1271 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1273 CHK_(ptr !=
nullptr);
1279 _has_bits_.Or(has_bits);
1288 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
1290 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1291 (void) cached_has_bits;
1293 cached_has_bits = _has_bits_[0];
1295 if (cached_has_bits & 0x00000001u) {
1296 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1297 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1298 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1299 "operations_research.sat.LinearBooleanProblem.name");
1300 target = stream->WriteStringMaybeAliased(
1301 1, this->_internal_name(), target);
1305 if (cached_has_bits & 0x00000008u) {
1306 target = stream->EnsureSpace(target);
1307 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_num_variables(), target);
1311 for (
unsigned int i = 0,
1312 n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
1313 target = stream->EnsureSpace(target);
1314 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1315 InternalWriteMessage(4, this->_internal_constraints(i), target, stream);
1319 if (cached_has_bits & 0x00000002u) {
1320 target = stream->EnsureSpace(target);
1321 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1322 InternalWriteMessage(
1327 for (
int i = 0, n = this->_internal_var_names_size(); i < n; i++) {
1328 const auto& s = this->_internal_var_names(i);
1329 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1330 s.data(), static_cast<int>(s.length()),
1331 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1332 "operations_research.sat.LinearBooleanProblem.var_names");
1333 target = stream->WriteString(6, s, target);
1337 if (cached_has_bits & 0x00000004u) {
1338 target = stream->EnsureSpace(target);
1339 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1340 InternalWriteMessage(
1345 if (cached_has_bits & 0x00000010u) {
1346 target = stream->EnsureSpace(target);
1347 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_original_num_variables(), target);
1350 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1351 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1352 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1360 size_t total_size = 0;
1362 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1364 (void) cached_has_bits;
1367 total_size += 1UL * this->_internal_constraints_size();
1368 for (
const auto& msg : this->constraints_) {
1370 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1375 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(var_names_.size());
1376 for (
int i = 0, n = var_names_.size(); i < n; i++) {
1377 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1381 cached_has_bits = _has_bits_[0];
1382 if (cached_has_bits & 0x0000001fu) {
1384 if (cached_has_bits & 0x00000001u) {
1386 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1387 this->_internal_name());
1391 if (cached_has_bits & 0x00000002u) {
1393 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1398 if (cached_has_bits & 0x00000004u) {
1400 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1405 if (cached_has_bits & 0x00000008u) {
1407 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1408 this->_internal_num_variables());
1412 if (cached_has_bits & 0x00000010u) {
1414 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1415 this->_internal_original_num_variables());
1419 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1420 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1421 _internal_metadata_, total_size, &_cached_size_);
1423 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1424 SetCachedSize(cached_size);
1429 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1430 LinearBooleanProblem::MergeImpl
1434 void LinearBooleanProblem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
1435 const ::PROTOBUF_NAMESPACE_ID::Message&from) {
1436 static_cast<LinearBooleanProblem *>(to)->MergeFrom(
1437 static_cast<const LinearBooleanProblem &>(from));
1443 GOOGLE_DCHECK_NE(&from,
this);
1444 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1445 (void) cached_has_bits;
1447 constraints_.MergeFrom(from.constraints_);
1448 var_names_.MergeFrom(from.var_names_);
1449 cached_has_bits = from._has_bits_[0];
1450 if (cached_has_bits & 0x0000001fu) {
1451 if (cached_has_bits & 0x00000001u) {
1452 _internal_set_name(from._internal_name());
1454 if (cached_has_bits & 0x00000002u) {
1455 _internal_mutable_objective()->::operations_research::sat::LinearObjective::MergeFrom(from._internal_objective());
1457 if (cached_has_bits & 0x00000004u) {
1458 _internal_mutable_assignment()->::operations_research::sat::BooleanAssignment::MergeFrom(from._internal_assignment());
1460 if (cached_has_bits & 0x00000008u) {
1461 num_variables_ = from.num_variables_;
1463 if (cached_has_bits & 0x00000010u) {
1464 original_num_variables_ = from.original_num_variables_;
1466 _has_bits_[0] |= cached_has_bits;
1468 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1473 if (&from ==
this)
return;
1484 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1485 swap(_has_bits_[0], other->_has_bits_[0]);
1486 constraints_.InternalSwap(&other->constraints_);
1487 var_names_.InternalSwap(&other->var_names_);
1488 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
1489 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1490 &name_, GetArenaForAllocation(),
1491 &other->name_, other->GetArenaForAllocation()
1493 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1495 +
sizeof(LinearBooleanProblem::original_num_variables_)
1497 reinterpret_cast<char*>(&objective_),
1498 reinterpret_cast<char*>(&other->objective_));
1502 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1510 PROTOBUF_NAMESPACE_OPEN
1512 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanConstraint >(arena);
1515 return Arena::CreateMessageInternal< ::operations_research::sat::LinearObjective >(arena);
1518 return Arena::CreateMessageInternal< ::operations_research::sat::BooleanAssignment >(arena);
1521 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanProblem >(arena);
1523 PROTOBUF_NAMESPACE_CLOSE
1526 #include <google/protobuf/port_undef.inc>
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanConstraint * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanConstraint >(Arena *arena)
constexpr LinearBooleanProblemDefaultTypeInternal()
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto::offsets [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
bool IsInitialized() const final
LinearBooleanConstraint _instance
PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanProblem * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanProblem >(Arena *arena)
size_t ByteSizeLong() const final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
~LinearBooleanProblem() override
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_
friend void swap(LinearBooleanConstraint &a, LinearBooleanConstraint &b)
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fboolean_5fproblem_2eproto[4]
bool IsInitialized() const final
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
size_t ByteSizeLong() const final
friend void swap(LinearObjective &a, LinearObjective &b)
void MergeFrom(const BooleanAssignment &from)
bool IsInitialized() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
size_t ByteSizeLong() const final
LinearBooleanConstraint()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
~LinearObjectiveDefaultTypeInternal()
void MergeFrom(const LinearObjective &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static void set_has_assignment(HasBits *has_bits)
static void set_has_scaling_factor(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
LinearObjective _instance
void CopyFrom(const LinearObjective &from)
~LinearObjective() override
~LinearBooleanConstraint() override
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
~BooleanAssignment() override
size_t ByteSizeLong() const final
static const ClassData _class_data_
static void set_has_objective(HasBits *has_bits)
PROTOBUF_NOINLINE ::operations_research::sat::LinearObjective * Arena::CreateMaybeMessage< ::operations_research::sat::LinearObjective >(Arena *arena)
static void set_has_num_variables(HasBits *has_bits)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_
static const ClassData _class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_
static const ::operations_research::sat::BooleanAssignment & assignment(const LinearBooleanProblem *msg)
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_once
void MergeFrom(const LinearBooleanConstraint &from)
static const ClassData _class_data_
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
constexpr LinearObjectiveDefaultTypeInternal()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static void set_has_offset(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
static void set_has_name(HasBits *has_bits)
PROTOBUF_NOINLINE ::operations_research::sat::BooleanAssignment * Arena::CreateMaybeMessage< ::operations_research::sat::BooleanAssignment >(Arena *arena)
decltype(std::declval< LinearObjective >()._has_bits_) HasBits
static void set_has_lower_bound(HasBits *has_bits)
bool IsInitialized() const final
friend void swap(LinearBooleanProblem &a, LinearBooleanProblem &b)
~BooleanAssignmentDefaultTypeInternal()
~LinearBooleanProblemDefaultTypeInternal()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
decltype(std::declval< LinearBooleanConstraint >()._has_bits_) HasBits
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void CopyFrom(const LinearBooleanProblem &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const ** file_level_enum_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
static const LinearBooleanProblem * internal_default_instance()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static void set_has_upper_bound(HasBits *has_bits)
constexpr LinearBooleanConstraintDefaultTypeInternal()
~LinearBooleanConstraintDefaultTypeInternal()
Collection of objects used to extend the Constraint Solver library.
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void MergeFrom(const LinearBooleanProblem &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void CopyFrom(const LinearBooleanConstraint &from)
static void set_has_original_num_variables(HasBits *has_bits)
LinearBooleanProblem _instance
decltype(std::declval< LinearBooleanProblem >()._has_bits_) HasBits
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_getter()
BooleanAssignment _instance
static const ClassData _class_data_
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
static const ::operations_research::sat::LinearObjective & objective(const LinearBooleanProblem *msg)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void CopyFrom(const BooleanAssignment &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
constexpr BooleanAssignmentDefaultTypeInternal()
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto