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>
24 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LinearBooleanConstraint>
_instance;
28 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LinearObjective>
_instance;
32 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BooleanAssignment>
_instance;
36 ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LinearBooleanProblem>
_instance;
41 GOOGLE_PROTOBUF_VERIFY_VERSION;
45 new (ptr) ::operations_research::sat::BooleanAssignment();
46 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
54 GOOGLE_PROTOBUF_VERIFY_VERSION;
58 new (ptr) ::operations_research::sat::LinearBooleanConstraint();
59 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
67 GOOGLE_PROTOBUF_VERIFY_VERSION;
71 new (ptr) ::operations_research::sat::LinearBooleanProblem();
72 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
83 GOOGLE_PROTOBUF_VERIFY_VERSION;
87 new (ptr) ::operations_research::sat::LinearObjective();
88 ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
100 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _has_bits_),
101 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, _internal_metadata_),
105 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, literals_),
106 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, coefficients_),
107 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, lower_bound_),
108 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, upper_bound_),
109 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanConstraint, name_),
115 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _has_bits_),
116 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, _internal_metadata_),
120 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, literals_),
121 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, coefficients_),
122 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective,
offset_),
123 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearObjective, scaling_factor_),
129 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, _internal_metadata_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BooleanAssignment, literals_),
134 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _has_bits_),
135 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, _internal_metadata_),
139 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, name_),
140 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, num_variables_),
141 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, constraints_),
142 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem,
objective_),
143 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, var_names_),
144 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, assignment_),
145 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearBooleanProblem, original_num_variables_),
155 { 0, 10,
sizeof(::operations_research::sat::LinearBooleanConstraint)},
156 { 15, 24,
sizeof(::operations_research::sat::LinearObjective)},
157 { 28, -1,
sizeof(::operations_research::sat::BooleanAssignment)},
158 { 34, 46,
sizeof(::operations_research::sat::LinearBooleanProblem)},
168 const char descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
169 "\n!ortools/sat/boolean_problem.proto\022\027ope"
170 "rations_research.sat\"{\n\027LinearBooleanCon"
171 "straint\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficient"
172 "s\030\002 \003(\003\022\023\n\013lower_bound\030\003 \001(\003\022\023\n\013upper_bo"
173 "und\030\004 \001(\003\022\016\n\004name\030\005 \001(\t:\000\"g\n\017LinearObjec"
174 "tive\022\020\n\010literals\030\001 \003(\005\022\024\n\014coefficients\030\002"
175 " \003(\003\022\021\n\006offset\030\003 \001(\001:\0010\022\031\n\016scaling_facto"
176 "r\030\004 \001(\001:\0011\"%\n\021BooleanAssignment\022\020\n\010liter"
177 "als\030\001 \003(\005\"\264\002\n\024LinearBooleanProblem\022\016\n\004na"
178 "me\030\001 \001(\t:\000\022\025\n\rnum_variables\030\003 \001(\005\022E\n\013con"
179 "straints\030\004 \003(\01320.operations_research.sat"
180 ".LinearBooleanConstraint\022;\n\tobjective\030\005 "
181 "\001(\0132(.operations_research.sat.LinearObje"
182 "ctive\022\021\n\tvar_names\030\006 \003(\t\022>\n\nassignment\030\007"
183 " \001(\0132*.operations_research.sat.BooleanAs"
184 "signment\022\036\n\026original_num_variables\030\010 \001(\005"
185 "B/\n\026com.google.ortools.satP\001\252\002\022Google.Or"
198 false,
false, descriptor_table_protodef_ortools_2fsat_2fboolean_5fproblem_2eproto,
"ortools/sat/boolean_problem.proto", 689,
213 using HasBits = decltype(std::declval<LinearBooleanConstraint>()._has_bits_);
215 (*has_bits)[0] |= 2u;
218 (*has_bits)[0] |= 4u;
221 (*has_bits)[0] |= 1u;
225 LinearBooleanConstraint::LinearBooleanConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
226 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
228 coefficients_(arena) {
230 RegisterArenaDtor(arena);
233 LinearBooleanConstraint::LinearBooleanConstraint(
const LinearBooleanConstraint& from)
234 : ::PROTOBUF_NAMESPACE_ID::Message(),
235 _has_bits_(from._has_bits_),
236 literals_(from.literals_),
237 coefficients_(from.coefficients_) {
238 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
239 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
240 if (from._internal_has_name()) {
241 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
244 ::memcpy(&lower_bound_, &from.lower_bound_,
245 static_cast<size_t>(
reinterpret_cast<char*
>(&upper_bound_) -
246 reinterpret_cast<char*
>(&lower_bound_)) +
sizeof(upper_bound_));
250 void LinearBooleanConstraint::SharedCtor() {
252 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
253 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
254 reinterpret_cast<char*
>(&lower_bound_) -
reinterpret_cast<char*
>(
this)),
255 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&upper_bound_) -
256 reinterpret_cast<char*
>(&lower_bound_)) +
sizeof(upper_bound_));
259 LinearBooleanConstraint::~LinearBooleanConstraint() {
262 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
265 void LinearBooleanConstraint::SharedDtor() {
266 GOOGLE_DCHECK(GetArena() ==
nullptr);
267 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
270 void LinearBooleanConstraint::ArenaDtor(
void*
object) {
271 LinearBooleanConstraint* _this =
reinterpret_cast< LinearBooleanConstraint*
>(object);
274 void LinearBooleanConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
276 void LinearBooleanConstraint::SetCachedSize(
int size)
const {
277 _cached_size_.Set(size);
279 const LinearBooleanConstraint& LinearBooleanConstraint::default_instance() {
281 return *internal_default_instance();
285 void LinearBooleanConstraint::Clear() {
289 (void) cached_has_bits;
292 coefficients_.Clear();
293 cached_has_bits = _has_bits_[0];
294 if (cached_has_bits & 0x00000001u) {
295 name_.ClearNonDefaultToEmpty();
297 if (cached_has_bits & 0x00000006u) {
298 ::memset(&lower_bound_, 0,
static_cast<size_t>(
299 reinterpret_cast<char*
>(&upper_bound_) -
300 reinterpret_cast<char*
>(&lower_bound_)) +
sizeof(upper_bound_));
303 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
306 const char* LinearBooleanConstraint::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
307 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
309 while (!ctx->Done(&ptr)) {
311 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
320 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
322 if (!ctx->DataAvailable(ptr))
break;
323 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
325 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
327 }
else goto handle_unusual;
335 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
337 if (!ctx->DataAvailable(ptr))
break;
338 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
340 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
342 }
else goto handle_unusual;
348 lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
350 }
else goto handle_unusual;
356 upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
358 }
else goto handle_unusual;
363 auto str = _internal_mutable_name();
364 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
366 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanConstraint.name");
369 }
else goto handle_unusual;
373 if ((tag & 7) == 4 || tag == 0) {
374 ctx->SetLastTag(tag);
377 ptr = UnknownFieldParse(tag,
378 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
380 CHK_(ptr !=
nullptr);
386 _has_bits_.Or(has_bits);
398 (void) cached_has_bits;
401 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
402 target = stream->EnsureSpace(target);
403 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
407 for (
int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
408 target = stream->EnsureSpace(target);
409 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
412 cached_has_bits = _has_bits_[0];
414 if (cached_has_bits & 0x00000002u) {
415 target = stream->EnsureSpace(target);
416 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_lower_bound(), target);
420 if (cached_has_bits & 0x00000004u) {
421 target = stream->EnsureSpace(target);
422 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_upper_bound(), target);
426 if (cached_has_bits & 0x00000001u) {
427 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
428 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
429 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
430 "operations_research.sat.LinearBooleanConstraint.name");
431 target = stream->WriteStringMaybeAliased(
432 5, this->_internal_name(), target);
435 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
436 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
437 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
443 size_t LinearBooleanConstraint::ByteSizeLong()
const {
445 size_t total_size = 0;
449 (void) cached_has_bits;
453 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
454 Int32Size(this->literals_);
456 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
457 total_size += data_size;
462 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
463 Int64Size(this->coefficients_);
465 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
466 total_size += data_size;
469 cached_has_bits = _has_bits_[0];
470 if (cached_has_bits & 0x00000007u) {
472 if (cached_has_bits & 0x00000001u) {
474 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
475 this->_internal_name());
479 if (cached_has_bits & 0x00000002u) {
481 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
482 this->_internal_lower_bound());
486 if (cached_has_bits & 0x00000004u) {
488 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
489 this->_internal_upper_bound());
493 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
494 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
495 _internal_metadata_, total_size, &_cached_size_);
497 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
498 SetCachedSize(cached_size);
502 void LinearBooleanConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
504 GOOGLE_DCHECK_NE(&from,
this);
505 const LinearBooleanConstraint* source =
506 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearBooleanConstraint>(
508 if (source ==
nullptr) {
510 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
517 void LinearBooleanConstraint::MergeFrom(
const LinearBooleanConstraint& from) {
519 GOOGLE_DCHECK_NE(&from,
this);
520 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
522 (void) cached_has_bits;
524 literals_.MergeFrom(from.literals_);
525 coefficients_.MergeFrom(from.coefficients_);
526 cached_has_bits = from._has_bits_[0];
527 if (cached_has_bits & 0x00000007u) {
528 if (cached_has_bits & 0x00000001u) {
529 _internal_set_name(from._internal_name());
531 if (cached_has_bits & 0x00000002u) {
532 lower_bound_ = from.lower_bound_;
534 if (cached_has_bits & 0x00000004u) {
535 upper_bound_ = from.upper_bound_;
537 _has_bits_[0] |= cached_has_bits;
541 void LinearBooleanConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
543 if (&from ==
this)
return;
548 void LinearBooleanConstraint::CopyFrom(
const LinearBooleanConstraint& from) {
550 if (&from ==
this)
return;
555 bool LinearBooleanConstraint::IsInitialized()
const {
559 void LinearBooleanConstraint::InternalSwap(LinearBooleanConstraint* other) {
561 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
562 swap(_has_bits_[0], other->_has_bits_[0]);
563 literals_.InternalSwap(&other->literals_);
564 coefficients_.InternalSwap(&other->coefficients_);
565 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
566 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
567 PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, upper_bound_)
568 +
sizeof(LinearBooleanConstraint::upper_bound_)
569 - PROTOBUF_FIELD_OFFSET(LinearBooleanConstraint, lower_bound_)>(
570 reinterpret_cast<char*
>(&lower_bound_),
571 reinterpret_cast<char*
>(&other->lower_bound_));
574 ::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanConstraint::GetMetadata()
const {
575 return GetMetadataStatic();
583 using HasBits = decltype(std::declval<LinearObjective>()._has_bits_);
585 (*has_bits)[0] |= 1u;
588 (*has_bits)[0] |= 2u;
592 LinearObjective::LinearObjective(::PROTOBUF_NAMESPACE_ID::Arena* arena)
593 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
595 coefficients_(arena) {
597 RegisterArenaDtor(arena);
600 LinearObjective::LinearObjective(
const LinearObjective& from)
601 : ::PROTOBUF_NAMESPACE_ID::Message(),
602 _has_bits_(from._has_bits_),
603 literals_(from.literals_),
604 coefficients_(from.coefficients_) {
605 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
606 ::memcpy(&
offset_, &from.offset_,
607 static_cast<size_t>(
reinterpret_cast<char*
>(&scaling_factor_) -
608 reinterpret_cast<char*
>(&
offset_)) +
sizeof(scaling_factor_));
612 void LinearObjective::SharedCtor() {
617 LinearObjective::~LinearObjective() {
620 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
623 void LinearObjective::SharedDtor() {
624 GOOGLE_DCHECK(GetArena() ==
nullptr);
627 void LinearObjective::ArenaDtor(
void*
object) {
628 LinearObjective* _this =
reinterpret_cast< LinearObjective*
>(object);
631 void LinearObjective::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
633 void LinearObjective::SetCachedSize(
int size)
const {
634 _cached_size_.Set(size);
636 const LinearObjective& LinearObjective::default_instance() {
638 return *internal_default_instance();
642 void LinearObjective::Clear() {
646 (void) cached_has_bits;
649 coefficients_.Clear();
650 cached_has_bits = _has_bits_[0];
651 if (cached_has_bits & 0x00000003u) {
656 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
659 const char* LinearObjective::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
660 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
662 while (!ctx->Done(&ptr)) {
664 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
673 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
675 if (!ctx->DataAvailable(ptr))
break;
676 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
678 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
680 }
else goto handle_unusual;
688 _internal_add_coefficients(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
690 if (!ctx->DataAvailable(ptr))
break;
691 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
693 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coefficients(), ptr, ctx);
695 }
else goto handle_unusual;
701 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
702 ptr +=
sizeof(double);
703 }
else goto handle_unusual;
709 scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
710 ptr +=
sizeof(double);
711 }
else goto handle_unusual;
715 if ((tag & 7) == 4 || tag == 0) {
716 ctx->SetLastTag(tag);
719 ptr = UnknownFieldParse(tag,
720 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
722 CHK_(ptr !=
nullptr);
728 _has_bits_.Or(has_bits);
740 (void) cached_has_bits;
743 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
744 target = stream->EnsureSpace(target);
745 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
749 for (
int i = 0, n = this->_internal_coefficients_size(); i < n; i++) {
750 target = stream->EnsureSpace(target);
751 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_coefficients(i), target);
754 cached_has_bits = _has_bits_[0];
756 if (cached_has_bits & 0x00000001u) {
757 target = stream->EnsureSpace(target);
758 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_offset(), target);
762 if (cached_has_bits & 0x00000002u) {
763 target = stream->EnsureSpace(target);
764 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_scaling_factor(), target);
767 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
768 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
769 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
775 size_t LinearObjective::ByteSizeLong()
const {
777 size_t total_size = 0;
781 (void) cached_has_bits;
785 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
786 Int32Size(this->literals_);
788 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
789 total_size += data_size;
794 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
795 Int64Size(this->coefficients_);
797 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficients_size());
798 total_size += data_size;
801 cached_has_bits = _has_bits_[0];
802 if (cached_has_bits & 0x00000003u) {
804 if (cached_has_bits & 0x00000001u) {
809 if (cached_has_bits & 0x00000002u) {
814 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
815 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
816 _internal_metadata_, total_size, &_cached_size_);
818 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
819 SetCachedSize(cached_size);
823 void LinearObjective::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
825 GOOGLE_DCHECK_NE(&from,
this);
826 const LinearObjective* source =
827 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearObjective>(
829 if (source ==
nullptr) {
831 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
838 void LinearObjective::MergeFrom(
const LinearObjective& from) {
840 GOOGLE_DCHECK_NE(&from,
this);
841 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
843 (void) cached_has_bits;
845 literals_.MergeFrom(from.literals_);
846 coefficients_.MergeFrom(from.coefficients_);
847 cached_has_bits = from._has_bits_[0];
848 if (cached_has_bits & 0x00000003u) {
849 if (cached_has_bits & 0x00000001u) {
852 if (cached_has_bits & 0x00000002u) {
853 scaling_factor_ = from.scaling_factor_;
855 _has_bits_[0] |= cached_has_bits;
859 void LinearObjective::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
861 if (&from ==
this)
return;
866 void LinearObjective::CopyFrom(
const LinearObjective& from) {
868 if (&from ==
this)
return;
873 bool LinearObjective::IsInitialized()
const {
877 void LinearObjective::InternalSwap(LinearObjective* other) {
879 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
880 swap(_has_bits_[0], other->_has_bits_[0]);
881 literals_.InternalSwap(&other->literals_);
882 coefficients_.InternalSwap(&other->coefficients_);
884 swap(scaling_factor_, other->scaling_factor_);
887 ::PROTOBUF_NAMESPACE_ID::Metadata LinearObjective::GetMetadata()
const {
888 return GetMetadataStatic();
898 BooleanAssignment::BooleanAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena)
899 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
902 RegisterArenaDtor(arena);
905 BooleanAssignment::BooleanAssignment(
const BooleanAssignment& from)
906 : ::PROTOBUF_NAMESPACE_ID::Message(),
907 literals_(from.literals_) {
908 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
912 void BooleanAssignment::SharedCtor() {
915 BooleanAssignment::~BooleanAssignment() {
918 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
921 void BooleanAssignment::SharedDtor() {
922 GOOGLE_DCHECK(GetArena() ==
nullptr);
925 void BooleanAssignment::ArenaDtor(
void*
object) {
926 BooleanAssignment* _this =
reinterpret_cast< BooleanAssignment*
>(object);
929 void BooleanAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
931 void BooleanAssignment::SetCachedSize(
int size)
const {
932 _cached_size_.Set(size);
934 const BooleanAssignment& BooleanAssignment::default_instance() {
936 return *internal_default_instance();
940 void BooleanAssignment::Clear() {
944 (void) cached_has_bits;
947 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
950 const char* BooleanAssignment::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
951 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
952 while (!ctx->Done(&ptr)) {
954 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
963 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
965 if (!ctx->DataAvailable(ptr))
break;
966 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
968 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
970 }
else goto handle_unusual;
974 if ((tag & 7) == 4 || tag == 0) {
975 ctx->SetLastTag(tag);
978 ptr = UnknownFieldParse(tag,
979 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
981 CHK_(ptr !=
nullptr);
998 (void) cached_has_bits;
1001 for (
int i = 0, n = this->_internal_literals_size(); i < n; i++) {
1002 target = stream->EnsureSpace(target);
1003 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_literals(i), target);
1006 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1007 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1008 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1014 size_t BooleanAssignment::ByteSizeLong()
const {
1016 size_t total_size = 0;
1020 (void) cached_has_bits;
1024 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1025 Int32Size(this->literals_);
1027 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_literals_size());
1028 total_size += data_size;
1031 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1032 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1033 _internal_metadata_, total_size, &_cached_size_);
1035 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1036 SetCachedSize(cached_size);
1040 void BooleanAssignment::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1042 GOOGLE_DCHECK_NE(&from,
this);
1043 const BooleanAssignment* source =
1044 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<BooleanAssignment>(
1046 if (source ==
nullptr) {
1048 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1055 void BooleanAssignment::MergeFrom(
const BooleanAssignment& from) {
1057 GOOGLE_DCHECK_NE(&from,
this);
1058 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1060 (void) cached_has_bits;
1062 literals_.MergeFrom(from.literals_);
1065 void BooleanAssignment::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1067 if (&from ==
this)
return;
1072 void BooleanAssignment::CopyFrom(
const BooleanAssignment& from) {
1074 if (&from ==
this)
return;
1079 bool BooleanAssignment::IsInitialized()
const {
1083 void BooleanAssignment::InternalSwap(BooleanAssignment* other) {
1085 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1086 literals_.InternalSwap(&other->literals_);
1089 ::PROTOBUF_NAMESPACE_ID::Metadata BooleanAssignment::GetMetadata()
const {
1090 return GetMetadataStatic();
1098 using HasBits = decltype(std::declval<LinearBooleanProblem>()._has_bits_);
1100 (*has_bits)[0] |= 1u;
1103 (*has_bits)[0] |= 8u;
1105 static const ::operations_research::sat::LinearObjective& objective(
const LinearBooleanProblem* msg);
1107 (*has_bits)[0] |= 2u;
1109 static const ::operations_research::sat::BooleanAssignment& assignment(
const LinearBooleanProblem* msg);
1111 (*has_bits)[0] |= 4u;
1114 (*has_bits)[0] |= 16u;
1118 const ::operations_research::sat::LinearObjective&
1120 return *msg->objective_;
1122 const ::operations_research::sat::BooleanAssignment&
1124 return *msg->assignment_;
1126 LinearBooleanProblem::LinearBooleanProblem(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1127 : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1128 constraints_(arena),
1131 RegisterArenaDtor(arena);
1134 LinearBooleanProblem::LinearBooleanProblem(
const LinearBooleanProblem& from)
1135 : ::PROTOBUF_NAMESPACE_ID::Message(),
1136 _has_bits_(from._has_bits_),
1137 constraints_(from.constraints_),
1138 var_names_(from.var_names_) {
1139 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1140 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1141 if (from._internal_has_name()) {
1142 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1145 if (from._internal_has_objective()) {
1146 objective_ = new ::operations_research::sat::LinearObjective(*from.objective_);
1150 if (from._internal_has_assignment()) {
1151 assignment_ = new ::operations_research::sat::BooleanAssignment(*from.assignment_);
1153 assignment_ =
nullptr;
1155 ::memcpy(&num_variables_, &from.num_variables_,
1156 static_cast<size_t>(
reinterpret_cast<char*
>(&original_num_variables_) -
1157 reinterpret_cast<char*
>(&num_variables_)) +
sizeof(original_num_variables_));
1161 void LinearBooleanProblem::SharedCtor() {
1163 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1164 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1165 reinterpret_cast<char*
>(&
objective_) -
reinterpret_cast<char*
>(
this)),
1166 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&original_num_variables_) -
1167 reinterpret_cast<char*
>(&
objective_)) +
sizeof(original_num_variables_));
1170 LinearBooleanProblem::~LinearBooleanProblem() {
1173 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1176 void LinearBooleanProblem::SharedDtor() {
1177 GOOGLE_DCHECK(GetArena() ==
nullptr);
1178 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1179 if (
this != internal_default_instance())
delete objective_;
1180 if (
this != internal_default_instance())
delete assignment_;
1183 void LinearBooleanProblem::ArenaDtor(
void*
object) {
1184 LinearBooleanProblem* _this =
reinterpret_cast< LinearBooleanProblem*
>(object);
1187 void LinearBooleanProblem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1189 void LinearBooleanProblem::SetCachedSize(
int size)
const {
1190 _cached_size_.Set(size);
1192 const LinearBooleanProblem& LinearBooleanProblem::default_instance() {
1194 return *internal_default_instance();
1198 void LinearBooleanProblem::Clear() {
1202 (void) cached_has_bits;
1204 constraints_.Clear();
1206 cached_has_bits = _has_bits_[0];
1207 if (cached_has_bits & 0x00000007u) {
1208 if (cached_has_bits & 0x00000001u) {
1209 name_.ClearNonDefaultToEmpty();
1211 if (cached_has_bits & 0x00000002u) {
1215 if (cached_has_bits & 0x00000004u) {
1216 GOOGLE_DCHECK(assignment_ !=
nullptr);
1217 assignment_->Clear();
1220 if (cached_has_bits & 0x00000018u) {
1221 ::memset(&num_variables_, 0,
static_cast<size_t>(
1222 reinterpret_cast<char*
>(&original_num_variables_) -
1223 reinterpret_cast<char*
>(&num_variables_)) +
sizeof(original_num_variables_));
1226 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1229 const char* LinearBooleanProblem::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1230 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1232 while (!ctx->Done(&ptr)) {
1234 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1240 auto str = _internal_mutable_name();
1241 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1243 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanProblem.name");
1246 }
else goto handle_unusual;
1252 num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1254 }
else goto handle_unusual;
1262 ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
1264 if (!ctx->DataAvailable(ptr))
break;
1265 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
1266 }
else goto handle_unusual;
1271 ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
1273 }
else goto handle_unusual;
1281 auto str = _internal_add_var_names();
1282 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1284 ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.sat.LinearBooleanProblem.var_names");
1287 if (!ctx->DataAvailable(ptr))
break;
1288 }
while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
1289 }
else goto handle_unusual;
1294 ptr = ctx->ParseMessage(_internal_mutable_assignment(), ptr);
1296 }
else goto handle_unusual;
1302 original_num_variables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1304 }
else goto handle_unusual;
1308 if ((tag & 7) == 4 || tag == 0) {
1309 ctx->SetLastTag(tag);
1312 ptr = UnknownFieldParse(tag,
1313 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1315 CHK_(ptr !=
nullptr);
1321 _has_bits_.Or(has_bits);
1333 (void) cached_has_bits;
1335 cached_has_bits = _has_bits_[0];
1337 if (cached_has_bits & 0x00000001u) {
1338 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1339 this->_internal_name().data(),
static_cast<int>(this->_internal_name().length()),
1340 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1341 "operations_research.sat.LinearBooleanProblem.name");
1342 target = stream->WriteStringMaybeAliased(
1343 1, this->_internal_name(), target);
1347 if (cached_has_bits & 0x00000008u) {
1348 target = stream->EnsureSpace(target);
1349 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_num_variables(), target);
1353 for (
unsigned int i = 0,
1354 n =
static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
1355 target = stream->EnsureSpace(target);
1356 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1357 InternalWriteMessage(4, this->_internal_constraints(i), target, stream);
1361 if (cached_has_bits & 0x00000002u) {
1362 target = stream->EnsureSpace(target);
1363 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1364 InternalWriteMessage(
1369 for (
int i = 0, n = this->_internal_var_names_size(); i < n; i++) {
1370 const auto& s = this->_internal_var_names(i);
1371 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1372 s.data(),
static_cast<int>(s.length()),
1373 ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1374 "operations_research.sat.LinearBooleanProblem.var_names");
1375 target = stream->WriteString(6, s, target);
1379 if (cached_has_bits & 0x00000004u) {
1380 target = stream->EnsureSpace(target);
1381 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1382 InternalWriteMessage(
1387 if (cached_has_bits & 0x00000010u) {
1388 target = stream->EnsureSpace(target);
1389 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_original_num_variables(), target);
1392 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1393 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1394 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1400 size_t LinearBooleanProblem::ByteSizeLong()
const {
1402 size_t total_size = 0;
1406 (void) cached_has_bits;
1409 total_size += 1UL * this->_internal_constraints_size();
1410 for (
const auto& msg : this->constraints_) {
1412 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1417 ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(var_names_.size());
1418 for (
int i = 0, n = var_names_.size(); i < n; i++) {
1419 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1423 cached_has_bits = _has_bits_[0];
1424 if (cached_has_bits & 0x0000001fu) {
1426 if (cached_has_bits & 0x00000001u) {
1428 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1429 this->_internal_name());
1433 if (cached_has_bits & 0x00000002u) {
1435 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1440 if (cached_has_bits & 0x00000004u) {
1442 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1447 if (cached_has_bits & 0x00000008u) {
1449 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1450 this->_internal_num_variables());
1454 if (cached_has_bits & 0x00000010u) {
1456 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1457 this->_internal_original_num_variables());
1461 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1462 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1463 _internal_metadata_, total_size, &_cached_size_);
1465 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1466 SetCachedSize(cached_size);
1470 void LinearBooleanProblem::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1472 GOOGLE_DCHECK_NE(&from,
this);
1473 const LinearBooleanProblem* source =
1474 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearBooleanProblem>(
1476 if (source ==
nullptr) {
1478 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1485 void LinearBooleanProblem::MergeFrom(
const LinearBooleanProblem& from) {
1487 GOOGLE_DCHECK_NE(&from,
this);
1488 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1490 (void) cached_has_bits;
1492 constraints_.MergeFrom(from.constraints_);
1493 var_names_.MergeFrom(from.var_names_);
1494 cached_has_bits = from._has_bits_[0];
1495 if (cached_has_bits & 0x0000001fu) {
1496 if (cached_has_bits & 0x00000001u) {
1497 _internal_set_name(from._internal_name());
1499 if (cached_has_bits & 0x00000002u) {
1500 _internal_mutable_objective()->::operations_research::sat::LinearObjective::MergeFrom(from._internal_objective());
1502 if (cached_has_bits & 0x00000004u) {
1503 _internal_mutable_assignment()->::operations_research::sat::BooleanAssignment::MergeFrom(from._internal_assignment());
1505 if (cached_has_bits & 0x00000008u) {
1506 num_variables_ = from.num_variables_;
1508 if (cached_has_bits & 0x00000010u) {
1509 original_num_variables_ = from.original_num_variables_;
1511 _has_bits_[0] |= cached_has_bits;
1515 void LinearBooleanProblem::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1517 if (&from ==
this)
return;
1522 void LinearBooleanProblem::CopyFrom(
const LinearBooleanProblem& from) {
1524 if (&from ==
this)
return;
1529 bool LinearBooleanProblem::IsInitialized()
const {
1533 void LinearBooleanProblem::InternalSwap(LinearBooleanProblem* other) {
1535 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1536 swap(_has_bits_[0], other->_has_bits_[0]);
1537 constraints_.InternalSwap(&other->constraints_);
1538 var_names_.InternalSwap(&other->var_names_);
1539 name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1540 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1541 PROTOBUF_FIELD_OFFSET(LinearBooleanProblem, original_num_variables_)
1542 +
sizeof(LinearBooleanProblem::original_num_variables_)
1543 - PROTOBUF_FIELD_OFFSET(LinearBooleanProblem,
objective_)>(
1545 reinterpret_cast<char*
>(&other->objective_));
1548 ::PROTOBUF_NAMESPACE_ID::Metadata LinearBooleanProblem::GetMetadata()
const {
1549 return GetMetadataStatic();
1556 PROTOBUF_NAMESPACE_OPEN
1558 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanConstraint >(arena);
1561 return Arena::CreateMessageInternal< ::operations_research::sat::LinearObjective >(arena);
1564 return Arena::CreateMessageInternal< ::operations_research::sat::BooleanAssignment >(arena);
1567 return Arena::CreateMessageInternal< ::operations_research::sat::LinearBooleanProblem >(arena);
1569 PROTOBUF_NAMESPACE_CLOSE
1572 #include <google/protobuf/port_undef.inc>
PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanProblem * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanProblem >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 3 > scc_info_LinearBooleanProblem_ortools_2fsat_2fboolean_5fproblem_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
PROTOBUF_NOINLINE ::operations_research::sat::LinearObjective * Arena::CreateMaybeMessage< ::operations_research::sat::LinearObjective >(Arena *arena)
static void InitDefaultsscc_info_LinearObjective_ortools_2fsat_2fboolean_5fproblem_2eproto()
::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase *const descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_sccs[4]
static void InitDefaultsscc_info_LinearBooleanConstraint_ortools_2fsat_2fboolean_5fproblem_2eproto()
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fboolean_5fproblem_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_once
PROTOBUF_NOINLINE ::operations_research::sat::BooleanAssignment * Arena::CreateMaybeMessage< ::operations_research::sat::BooleanAssignment >(Arena *arena)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fboolean_5fproblem_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_LinearBooleanConstraint_ortools_2fsat_2fboolean_5fproblem_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fboolean_5fproblem_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_BooleanAssignment_ortools_2fsat_2fboolean_5fproblem_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const ** file_level_enum_descriptors_ortools_2fsat_2fboolean_5fproblem_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fboolean_5fproblem_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_LinearObjective_ortools_2fsat_2fboolean_5fproblem_2eproto
static bool dynamic_init_dummy_ortools_2fsat_2fboolean_5fproblem_2eproto
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::sat::LinearBooleanConstraint * Arena::CreateMaybeMessage< ::operations_research::sat::LinearBooleanConstraint >(Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fsat_2fboolean_5fproblem_2eproto_deps[1]
static void InitDefaultsscc_info_LinearBooleanProblem_ortools_2fsat_2fboolean_5fproblem_2eproto()
static void InitDefaultsscc_info_BooleanAssignment_ortools_2fsat_2fboolean_5fproblem_2eproto()
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fboolean_5fproblem_2eproto[4]
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< BooleanAssignment > _instance
decltype(std::declval< LinearBooleanConstraint >()._has_bits_) HasBits
static void set_has_upper_bound(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
static void set_has_lower_bound(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< LinearBooleanConstraint > _instance
static void set_has_num_variables(HasBits *has_bits)
decltype(std::declval< LinearBooleanProblem >()._has_bits_) HasBits
static void set_has_original_num_variables(HasBits *has_bits)
static void set_has_assignment(HasBits *has_bits)
static void set_has_objective(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
static const ::operations_research::sat::BooleanAssignment & assignment(const LinearBooleanProblem *msg)
static const ::operations_research::sat::LinearObjective & objective(const LinearBooleanProblem *msg)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< LinearBooleanProblem > _instance
static void set_has_offset(HasBits *has_bits)
decltype(std::declval< LinearObjective >()._has_bits_) HasBits
static void set_has_scaling_factor(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< LinearObjective > _instance
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...
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas