10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
26namespace _fl = ::google::protobuf::internal::field_layout;
31inline constexpr VectorBinPackingOneBinInSolution::Impl_::Impl_(
32 ::_pbi::ConstantInitialized) noexcept
34 _item_indices_cached_byte_size_{0},
36 _item_copies_cached_byte_size_{0},
41#if defined(PROTOBUF_CUSTOM_VTABLE)
44 : ::google::protobuf::Message(),
46 _impl_(::_pbi::ConstantInitialized()) {
56PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
59inline constexpr Item::Impl_::Impl_(
60 ::_pbi::ConstantInitialized) noexcept
63 _resource_usage_cached_byte_size_{0},
65 &::google::protobuf::internal::fixed_address_empty_string,
66 ::_pbi::ConstantInitialized()),
68 max_number_of_copies_per_bin_{0},
69 penalty_per_missing_copy_{0},
70 num_optional_copies_{0} {}
73PROTOBUF_CONSTEXPR
Item::Item(::_pbi::ConstantInitialized)
74#if defined(PROTOBUF_CUSTOM_VTABLE)
77 : ::google::protobuf::Message(),
79 _impl_(::_pbi::ConstantInitialized()) {
89PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
92inline constexpr VectorBinPackingSolution::Impl_::Impl_(
93 ::_pbi::ConstantInitialized) noexcept
97 &::google::protobuf::internal::fixed_address_empty_string,
98 ::_pbi::ConstantInitialized()),
100 solve_time_in_seconds_{0},
101 arc_flow_time_in_seconds_{0},
106#if defined(PROTOBUF_CUSTOM_VTABLE)
109 : ::google::protobuf::Message(),
111 _impl_(::_pbi::ConstantInitialized()) {
121PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
124inline constexpr VectorBinPackingProblem::Impl_::Impl_(
125 ::_pbi::ConstantInitialized) noexcept
127 resource_capacity_{},
128 _resource_capacity_cached_byte_size_{0},
132 &::google::protobuf::internal::fixed_address_empty_string,
133 ::_pbi::ConstantInitialized()),
139#if defined(PROTOBUF_CUSTOM_VTABLE)
142 : ::google::protobuf::Message(),
144 _impl_(::_pbi::ConstantInitialized()) {
154PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
159static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
161static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
216static const ::_pbi::MigrationSchema
231 "\n(ortools/packing/vector_bin_packing.pro"
232 "to\022\037operations_research.packing.vbp\"\245\001\n\004"
233 "Item\022\014\n\004name\030\001 \001(\t\022\026\n\016resource_usage\030\002 \003"
234 "(\003\022\022\n\nnum_copies\030\003 \001(\005\022\033\n\023num_optional_c"
235 "opies\030\005 \001(\005\022$\n\034max_number_of_copies_per_"
236 "bin\030\004 \001(\005\022 \n\030penalty_per_missing_copy\030\006 "
237 "\001(\001\"\314\001\n\027VectorBinPackingProblem\022\014\n\004name\030"
238 "\001 \001(\t\022\031\n\021resource_capacity\030\002 \003(\003\022\025\n\rreso"
239 "urce_name\030\003 \003(\t\0223\n\004item\030\004 \003(\0132%.operatio"
240 "ns_research.packing.vbp.Item\022\020\n\010max_bins"
241 "\030\005 \001(\005\022\031\n\014cost_per_bin\030\006 \001(\001H\000\210\001\001B\017\n\r_co"
242 "st_per_bin\"M\n VectorBinPackingOneBinInSo"
243 "lution\022\024\n\014item_indices\030\001 \003(\005\022\023\n\013item_cop"
244 "ies\030\002 \003(\005\"\250\002\n\030VectorBinPackingSolution\022\023"
245 "\n\013solver_info\030\001 \001(\t\022O\n\004bins\030\002 \003(\0132A.oper"
246 "ations_research.packing.vbp.VectorBinPac"
247 "kingOneBinInSolution\022L\n\006status\030\003 \001(\0162<.o"
248 "perations_research.packing.vbp.VectorBin"
249 "PackingSolveStatus\022\027\n\017objective_value\030\004 "
250 "\001(\001\022\035\n\025solve_time_in_seconds\030\005 \001(\001\022 \n\030ar"
251 "c_flow_time_in_seconds\030\006 \001(\001*y\n\033VectorBi"
252 "nPackingSolveStatus\022/\n+VECTOR_BIN_PACKIN"
253 "G_SOLVE_STATUS_UNSPECIFIED\020\000\022\013\n\007OPTIMAL\020"
254 "\001\022\014\n\010FEASIBLE\020\002\022\016\n\nINFEASIBLE\020\003B\?\n\036com.g"
255 "oogle.ortools.packing.vbpP\001\252\002\032Google.OrT"
256 "ools.Packing.Vbpb\006proto3"
263 descriptor_table_protodef_ortools_2fpacking_2fvector_5fbin_5fpacking_2eproto,
264 "ortools/packing/vector_bin_packing.proto",
286class Item::_Internal {
289 decltype(::std::declval<Item>()._impl_._has_bits_);
294Item::Item(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
295#if defined(PROTOBUF_CUSTOM_VTABLE)
298 : ::google::protobuf::Message(arena) {
303PROTOBUF_NDEBUG_INLINE Item::Impl_::Impl_(
304 ::google::protobuf::internal::InternalVisibility visibility,
305 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
306 const ::operations_research::packing::vbp::Item& from_msg)
307 : _has_bits_{from._has_bits_},
309 resource_usage_{visibility, arena, from.resource_usage_},
310 _resource_usage_cached_byte_size_{0},
311 name_(arena, from.name_) {}
314 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
316#if defined(PROTOBUF_CUSTOM_VTABLE)
319 : ::google::protobuf::Message(arena) {
321 Item*
const _this =
this;
323 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
324 from._internal_metadata_);
325 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
326 ::memcpy(
reinterpret_cast<char *
>(&
_impl_) +
327 offsetof(Impl_, num_copies_),
328 reinterpret_cast<const char *
>(&from._impl_) +
329 offsetof(Impl_, num_copies_),
330 offsetof(Impl_, num_optional_copies_) -
331 offsetof(Impl_, num_copies_) +
332 sizeof(Impl_::num_optional_copies_));
336PROTOBUF_NDEBUG_INLINE Item::Impl_::Impl_(
337 ::google::protobuf::internal::InternalVisibility visibility,
338 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
340 resource_usage_{visibility, arena},
341 _resource_usage_cached_byte_size_{0},
344inline void Item::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
345 new (&
_impl_) Impl_(internal_visibility(), arena);
346 ::memset(
reinterpret_cast<char *
>(&
_impl_) +
347 offsetof(Impl_, num_copies_),
349 offsetof(Impl_, num_optional_copies_) -
350 offsetof(Impl_, num_copies_) +
351 sizeof(Impl_::num_optional_copies_));
357inline void Item::SharedDtor(MessageLite& self) {
358 Item& this_ =
static_cast<Item&
>(self);
359 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
360 ABSL_DCHECK(this_.GetArena() ==
nullptr);
361 this_.
_impl_.name_.Destroy();
366 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
367 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
368 return ::new (mem)
Item(arena);
371 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
372 PROTOBUF_FIELD_OFFSET(
Item,
_impl_.resource_usage_) +
374 InternalGetArenaOffset(
375 ::google::protobuf::Message::internal_visibility()),
377 if (arena_bits.has_value()) {
378 return ::google::protobuf::internal::MessageCreator::CopyInit(
379 sizeof(
Item),
alignof(
Item), *arena_bits);
387 return ::google::protobuf::internal::ClassDataFull{
388 ::google::protobuf::internal::ClassData{
394 ::google::protobuf::Message::GetNewImpl<Item>(),
395#if defined(PROTOBUF_CUSTOM_VTABLE)
400 PROTOBUF_FIELD_OFFSET(
Item,
_impl_._cached_size_),
403 &Item::kDescriptorMethods,
409PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
413PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
416 ::google::protobuf::internal::PrefetchToLocalCache(
Item_class_data_.tc_table);
419PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
420const ::_pbi::TcParseTable<3, 6, 0, 49, 2>
423 PROTOBUF_FIELD_OFFSET(
Item, _impl_._has_bits_),
426 offsetof(
decltype(_table_), field_lookup_table),
428 offsetof(
decltype(_table_), field_entries),
431 offsetof(
decltype(_table_), field_names),
434 ::_pbi::TcParser::GenericFallback,
435 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
436 ::_pbi::TcParser::GetTable<::operations_research::packing::vbp::Item>(),
439 {::_pbi::TcParser::MiniParse, {}},
441 {::_pbi::TcParser::FastUS1,
442 {10, 0, 0, PROTOBUF_FIELD_OFFSET(Item, _impl_.name_)}},
444 {::_pbi::TcParser::FastV64P1,
445 {18, 63, 0, PROTOBUF_FIELD_OFFSET(
Item, _impl_.resource_usage_)}},
447 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
Item, _impl_.num_copies_), 1>(),
448 {24, 1, 0, PROTOBUF_FIELD_OFFSET(
Item, _impl_.num_copies_)}},
450 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
Item, _impl_.max_number_of_copies_per_bin_), 2>(),
451 {32, 2, 0, PROTOBUF_FIELD_OFFSET(
Item, _impl_.max_number_of_copies_per_bin_)}},
453 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(
Item, _impl_.num_optional_copies_), 4>(),
454 {40, 4, 0, PROTOBUF_FIELD_OFFSET(
Item, _impl_.num_optional_copies_)}},
456 {::_pbi::TcParser::FastF64S1,
457 {49, 3, 0, PROTOBUF_FIELD_OFFSET(
Item, _impl_.penalty_per_missing_copy_)}},
458 {::_pbi::TcParser::MiniParse, {}},
463 {PROTOBUF_FIELD_OFFSET(
Item, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
464 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
466 {PROTOBUF_FIELD_OFFSET(
Item, _impl_.resource_usage_), -1, 0,
467 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
469 {PROTOBUF_FIELD_OFFSET(
Item, _impl_.num_copies_), _Internal::kHasBitsOffset + 1, 0,
470 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
472 {PROTOBUF_FIELD_OFFSET(
Item, _impl_.max_number_of_copies_per_bin_), _Internal::kHasBitsOffset + 2, 0,
473 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
475 {PROTOBUF_FIELD_OFFSET(
Item, _impl_.num_optional_copies_), _Internal::kHasBitsOffset + 4, 0,
476 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
478 {PROTOBUF_FIELD_OFFSET(
Item, _impl_.penalty_per_missing_copy_), _Internal::kHasBitsOffset + 3, 0,
479 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
484 "operations_research.packing.vbp.Item"
490 ::google::protobuf::internal::TSanWrite(&
_impl_);
491 ::uint32_t cached_has_bits = 0;
493 (void) cached_has_bits;
495 _impl_.resource_usage_.Clear();
496 cached_has_bits =
_impl_._has_bits_[0];
497 if ((cached_has_bits & 0x00000001u) != 0) {
498 _impl_.name_.ClearNonDefaultToEmpty();
500 if ((cached_has_bits & 0x0000001eu) != 0) {
501 ::memset(&
_impl_.num_copies_, 0,
static_cast<::
size_t>(
502 reinterpret_cast<char*
>(&
_impl_.num_optional_copies_) -
503 reinterpret_cast<char*
>(&
_impl_.num_copies_)) +
sizeof(
_impl_.num_optional_copies_));
505 _impl_._has_bits_.Clear();
506 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
509#if defined(PROTOBUF_CUSTOM_VTABLE)
511 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
512 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
516 ::uint8_t* PROTOBUF_NONNULL target,
517 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
518 const Item& this_ = *
this;
521 ::uint32_t cached_has_bits = 0;
522 (void)cached_has_bits;
525 if ((this_.
_impl_._has_bits_[0] & 0x00000001u) != 0) {
526 if (!this_._internal_name().empty()) {
527 const ::std::string& _s = this_._internal_name();
528 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
529 _s.data(),
static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE,
"operations_research.packing.vbp.Item.name");
530 target = stream->WriteStringMaybeAliased(1, _s, target);
536 int byte_size = this_.
_impl_._resource_usage_cached_byte_size_.Get();
538 target = stream->WriteInt64Packed(
539 2, this_._internal_resource_usage(), byte_size, target);
544 if ((this_.
_impl_._has_bits_[0] & 0x00000002u) != 0) {
545 if (this_._internal_num_copies() != 0) {
547 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
548 stream, this_._internal_num_copies(), target);
553 if ((this_.
_impl_._has_bits_[0] & 0x00000004u) != 0) {
554 if (this_._internal_max_number_of_copies_per_bin() != 0) {
556 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
557 stream, this_._internal_max_number_of_copies_per_bin(), target);
562 if ((this_.
_impl_._has_bits_[0] & 0x00000010u) != 0) {
563 if (this_._internal_num_optional_copies() != 0) {
565 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
566 stream, this_._internal_num_optional_copies(), target);
571 if ((this_.
_impl_._has_bits_[0] & 0x00000008u) != 0) {
572 if (::absl::bit_cast<::uint64_t>(this_._internal_penalty_per_missing_copy()) != 0) {
573 target = stream->EnsureSpace(target);
574 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
575 6, this_._internal_penalty_per_missing_copy(), target);
579 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
581 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
582 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
588#if defined(PROTOBUF_CUSTOM_VTABLE)
596 ::size_t total_size = 0;
598 ::uint32_t cached_has_bits = 0;
600 (void)cached_has_bits;
602 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
607 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
608 this_._internal_resource_usage(), 1,
609 this_.
_impl_._resource_usage_cached_byte_size_);
612 cached_has_bits = this_.
_impl_._has_bits_[0];
613 if ((cached_has_bits & 0x0000001fu) != 0) {
615 if ((cached_has_bits & 0x00000001u) != 0) {
616 if (!this_._internal_name().empty()) {
617 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
618 this_._internal_name());
622 if ((cached_has_bits & 0x00000002u) != 0) {
623 if (this_._internal_num_copies() != 0) {
624 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
625 this_._internal_num_copies());
629 if ((cached_has_bits & 0x00000004u) != 0) {
630 if (this_._internal_max_number_of_copies_per_bin() != 0) {
631 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
632 this_._internal_max_number_of_copies_per_bin());
636 if ((cached_has_bits & 0x00000008u) != 0) {
637 if (::absl::bit_cast<::uint64_t>(this_._internal_penalty_per_missing_copy()) != 0) {
642 if ((cached_has_bits & 0x00000010u) != 0) {
643 if (this_._internal_num_optional_copies() != 0) {
644 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
645 this_._internal_num_optional_copies());
649 return this_.MaybeComputeUnknownFieldsSize(total_size,
650 &this_.
_impl_._cached_size_);
653void Item::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
654 auto*
const _this =
static_cast<Item*
>(&to_msg);
655 auto& from =
static_cast<const Item&
>(from_msg);
657 ABSL_DCHECK_NE(&from, _this);
658 ::uint32_t cached_has_bits = 0;
659 (void) cached_has_bits;
661 _this->_internal_mutable_resource_usage()->MergeFrom(from._internal_resource_usage());
662 cached_has_bits = from._impl_._has_bits_[0];
663 if ((cached_has_bits & 0x0000001fu) != 0) {
664 if ((cached_has_bits & 0x00000001u) != 0) {
665 if (!from._internal_name().empty()) {
666 _this->_internal_set_name(from._internal_name());
668 if (_this->_impl_.name_.IsDefault()) {
669 _this->_internal_set_name(
"");
673 if ((cached_has_bits & 0x00000002u) != 0) {
674 if (from._internal_num_copies() != 0) {
675 _this->_impl_.num_copies_ = from._impl_.num_copies_;
678 if ((cached_has_bits & 0x00000004u) != 0) {
679 if (from._internal_max_number_of_copies_per_bin() != 0) {
680 _this->_impl_.max_number_of_copies_per_bin_ = from._impl_.max_number_of_copies_per_bin_;
683 if ((cached_has_bits & 0x00000008u) != 0) {
684 if (::absl::bit_cast<::uint64_t>(from._internal_penalty_per_missing_copy()) != 0) {
685 _this->_impl_.penalty_per_missing_copy_ = from._impl_.penalty_per_missing_copy_;
688 if ((cached_has_bits & 0x00000010u) != 0) {
689 if (from._internal_num_optional_copies() != 0) {
690 _this->_impl_.num_optional_copies_ = from._impl_.num_optional_copies_;
694 _this->_impl_._has_bits_[0] |= cached_has_bits;
695 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
700 if (&from ==
this)
return;
706void Item::InternalSwap(
Item* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
708 auto* arena = GetArena();
709 ABSL_DCHECK_EQ(arena, other->GetArena());
710 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
711 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
712 _impl_.resource_usage_.InternalSwap(&other->_impl_.resource_usage_);
713 ::_pbi::ArenaStringPtr::InternalSwap(&
_impl_.name_, &other->_impl_.name_, arena);
714 ::google::protobuf::internal::memswap<
715 PROTOBUF_FIELD_OFFSET(
Item,
_impl_.num_optional_copies_)
717 - PROTOBUF_FIELD_OFFSET(
Item,
_impl_.num_copies_)>(
718 reinterpret_cast<char*
>(&
_impl_.num_copies_),
719 reinterpret_cast<char*
>(&other->_impl_.num_copies_));
723 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
730 decltype(::std::declval<VectorBinPackingProblem>()._impl_._has_bits_);
736#if defined(PROTOBUF_CUSTOM_VTABLE)
739 : ::google::protobuf::Message(arena) {
744PROTOBUF_NDEBUG_INLINE VectorBinPackingProblem::Impl_::Impl_(
745 ::google::protobuf::internal::InternalVisibility visibility,
746 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
747 const ::operations_research::packing::vbp::VectorBinPackingProblem& from_msg)
748 : _has_bits_{from._has_bits_},
750 resource_capacity_{visibility, arena, from.resource_capacity_},
751 _resource_capacity_cached_byte_size_{0},
752 resource_name_{visibility, arena, from.resource_name_},
753 item_{visibility, arena, from.item_},
754 name_(arena, from.name_) {}
757 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
759#if defined(PROTOBUF_CUSTOM_VTABLE)
762 : ::google::protobuf::Message(arena) {
766 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
767 from._internal_metadata_);
768 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
769 ::memcpy(
reinterpret_cast<char *
>(&
_impl_) +
770 offsetof(Impl_, cost_per_bin_),
771 reinterpret_cast<const char *
>(&from._impl_) +
772 offsetof(Impl_, cost_per_bin_),
773 offsetof(Impl_, max_bins_) -
774 offsetof(Impl_, cost_per_bin_) +
775 sizeof(Impl_::max_bins_));
779PROTOBUF_NDEBUG_INLINE VectorBinPackingProblem::Impl_::Impl_(
780 ::google::protobuf::internal::InternalVisibility visibility,
781 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
783 resource_capacity_{visibility, arena},
784 _resource_capacity_cached_byte_size_{0},
785 resource_name_{visibility, arena},
786 item_{visibility, arena},
789inline void VectorBinPackingProblem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
790 new (&
_impl_) Impl_(internal_visibility(), arena);
791 ::memset(
reinterpret_cast<char *
>(&
_impl_) +
792 offsetof(Impl_, cost_per_bin_),
794 offsetof(Impl_, max_bins_) -
795 offsetof(Impl_, cost_per_bin_) +
796 sizeof(Impl_::max_bins_));
802inline void VectorBinPackingProblem::SharedDtor(
MessageLite& self) {
804 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
805 ABSL_DCHECK(this_.GetArena() ==
nullptr);
806 this_.
_impl_.name_.Destroy();
811 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
812 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
816 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
819 InternalGetArenaOffset(
823 InternalGetArenaOffset(
827 InternalGetArenaOffset(
830 if (arena_bits.has_value()) {
831 return ::google::protobuf::internal::MessageCreator::CopyInit(
832 sizeof(VectorBinPackingProblem), alignof(VectorBinPackingProblem), *arena_bits);
834 return ::google::protobuf::internal::MessageCreator(&VectorBinPackingProblem::PlacementNew_,
835 sizeof(VectorBinPackingProblem),
836 alignof(VectorBinPackingProblem));
840 return ::google::protobuf::internal::ClassDataFull{
841 ::google::protobuf::internal::ClassData{
846 &VectorBinPackingProblem::MergeImpl,
847 ::google::protobuf::Message::GetNewImpl<VectorBinPackingProblem>(),
848#if defined(PROTOBUF_CUSTOM_VTABLE)
849 &VectorBinPackingProblem::SharedDtor,
856 &VectorBinPackingProblem::kDescriptorMethods,
862PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
866PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
872PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
873const ::_pbi::TcParseTable<3, 6, 1, 81, 2>
874VectorBinPackingProblem::_table_ = {
879 offsetof(
decltype(_table_), field_lookup_table),
881 offsetof(
decltype(_table_), field_entries),
884 offsetof(
decltype(_table_), aux_entries),
887 ::_pbi::TcParser::GenericFallback,
888 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
889 ::_pbi::TcParser::GetTable<::operations_research::packing::vbp::VectorBinPackingProblem>(),
892 {::_pbi::TcParser::MiniParse, {}},
894 {::_pbi::TcParser::FastUS1,
895 {10, 0, 0, PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.name_)}},
897 {::_pbi::TcParser::FastV64P1,
898 {18, 63, 0, PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.resource_capacity_)}},
900 {::_pbi::TcParser::FastUR1,
901 {26, 63, 0, PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.resource_name_)}},
903 {::_pbi::TcParser::FastMtR1,
904 {34, 63, 0, PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.item_)}},
906 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(VectorBinPackingProblem,
_impl_.max_bins_), 2>(),
907 {40, 2, 0, PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.max_bins_)}},
909 {::_pbi::TcParser::FastF64S1,
910 {49, 1, 0, PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.cost_per_bin_)}},
911 {::_pbi::TcParser::MiniParse, {}},
917 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
919 {PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.resource_capacity_), -1, 0,
920 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
922 {PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.resource_name_), -1, 0,
923 (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
925 {PROTOBUF_FIELD_OFFSET(VectorBinPackingProblem,
_impl_.item_), -1, 0,
926 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
929 (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
932 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
935 {::_pbi::TcParser::GetTable<::operations_research::packing::vbp::Item>()},
939 "operations_research.packing.vbp.VectorBinPackingProblem"
946 ::google::protobuf::internal::TSanWrite(&
_impl_);
947 ::uint32_t cached_has_bits = 0;
949 (void) cached_has_bits;
951 _impl_.resource_capacity_.Clear();
952 _impl_.resource_name_.Clear();
954 cached_has_bits =
_impl_._has_bits_[0];
955 if ((cached_has_bits & 0x00000001u) != 0) {
956 _impl_.name_.ClearNonDefaultToEmpty();
958 if ((cached_has_bits & 0x00000006u) != 0) {
959 ::memset(&
_impl_.cost_per_bin_, 0,
static_cast<::
size_t>(
960 reinterpret_cast<char*
>(&
_impl_.max_bins_) -
961 reinterpret_cast<char*
>(&
_impl_.cost_per_bin_)) +
sizeof(
_impl_.max_bins_));
963 _impl_._has_bits_.Clear();
964 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
967#if defined(PROTOBUF_CUSTOM_VTABLE)
969 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
970 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
971 const VectorBinPackingProblem& this_ =
static_cast<const VectorBinPackingProblem&
>(
base);
974 ::uint8_t* PROTOBUF_NONNULL target,
975 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
979 ::uint32_t cached_has_bits = 0;
980 (void)cached_has_bits;
983 if ((this_.
_impl_._has_bits_[0] & 0x00000001u) != 0) {
984 if (!this_._internal_name().empty()) {
985 const ::std::string& _s = this_._internal_name();
986 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
987 _s.data(),
static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE,
"operations_research.packing.vbp.VectorBinPackingProblem.name");
988 target = stream->WriteStringMaybeAliased(1, _s, target);
994 int byte_size = this_.
_impl_._resource_capacity_cached_byte_size_.Get();
996 target = stream->WriteInt64Packed(
997 2, this_._internal_resource_capacity(), byte_size, target);
1002 for (
int i = 0, n = this_._internal_resource_name_size(); i < n; ++i) {
1003 const auto& s = this_._internal_resource_name().Get(i);
1004 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
1005 s.data(),
static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE,
"operations_research.packing.vbp.VectorBinPackingProblem.resource_name");
1006 target = stream->WriteString(3, s, target);
1010 for (
unsigned i = 0, n =
static_cast<unsigned>(
1011 this_._internal_item_size());
1013 const auto& repfield = this_._internal_item().Get(i);
1015 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1016 4, repfield, repfield.GetCachedSize(),
1021 if ((this_.
_impl_._has_bits_[0] & 0x00000004u) != 0) {
1022 if (this_._internal_max_bins() != 0) {
1024 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
1025 stream, this_._internal_max_bins(), target);
1029 cached_has_bits = this_.
_impl_._has_bits_[0];
1031 if ((cached_has_bits & 0x00000002u) != 0) {
1032 target = stream->EnsureSpace(target);
1033 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1034 6, this_._internal_cost_per_bin(), target);
1037 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1039 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1040 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1046#if defined(PROTOBUF_CUSTOM_VTABLE)
1054 ::size_t total_size = 0;
1056 ::uint32_t cached_has_bits = 0;
1058 (void)cached_has_bits;
1060 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1065 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
1066 this_._internal_resource_capacity(), 1,
1067 this_.
_impl_._resource_capacity_cached_byte_size_);
1072 1 * ::google::protobuf::internal::FromIntSize(this_._internal_resource_name().size());
1073 for (
int i = 0, n = this_._internal_resource_name().size(); i < n; ++i) {
1074 total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
1075 this_._internal_resource_name().Get(i));
1080 total_size += 1UL * this_._internal_item_size();
1081 for (
const auto& msg : this_._internal_item()) {
1082 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1086 cached_has_bits = this_.
_impl_._has_bits_[0];
1087 total_size +=
static_cast<bool>(0x00000002u & cached_has_bits) * 9;
1088 if ((cached_has_bits & 0x00000005u) != 0) {
1090 if ((cached_has_bits & 0x00000001u) != 0) {
1091 if (!this_._internal_name().empty()) {
1092 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
1093 this_._internal_name());
1097 if ((cached_has_bits & 0x00000004u) != 0) {
1098 if (this_._internal_max_bins() != 0) {
1099 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1100 this_._internal_max_bins());
1104 return this_.MaybeComputeUnknownFieldsSize(total_size,
1105 &this_.
_impl_._cached_size_);
1108void VectorBinPackingProblem::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1109 auto*
const _this =
static_cast<VectorBinPackingProblem*
>(&to_msg);
1110 auto& from =
static_cast<const VectorBinPackingProblem&
>(from_msg);
1112 ABSL_DCHECK_NE(&from, _this);
1113 ::uint32_t cached_has_bits = 0;
1114 (void) cached_has_bits;
1116 _this->_internal_mutable_resource_capacity()->MergeFrom(from._internal_resource_capacity());
1117 _this->_internal_mutable_resource_name()->MergeFrom(from._internal_resource_name());
1118 _this->_internal_mutable_item()->MergeFrom(
1119 from._internal_item());
1120 cached_has_bits = from._impl_._has_bits_[0];
1121 if ((cached_has_bits & 0x00000007u) != 0) {
1122 if ((cached_has_bits & 0x00000001u) != 0) {
1123 if (!from._internal_name().empty()) {
1124 _this->_internal_set_name(from._internal_name());
1126 if (_this->_impl_.name_.IsDefault()) {
1127 _this->_internal_set_name(
"");
1131 if ((cached_has_bits & 0x00000002u) != 0) {
1132 _this->_impl_.cost_per_bin_ = from._impl_.cost_per_bin_;
1134 if ((cached_has_bits & 0x00000004u) != 0) {
1135 if (from._internal_max_bins() != 0) {
1136 _this->_impl_.max_bins_ = from._impl_.max_bins_;
1140 _this->_impl_._has_bits_[0] |= cached_has_bits;
1141 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1146 if (&from ==
this)
return;
1152void VectorBinPackingProblem::InternalSwap(
VectorBinPackingProblem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1154 auto* arena = GetArena();
1155 ABSL_DCHECK_EQ(arena, other->GetArena());
1156 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1157 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1158 _impl_.resource_capacity_.InternalSwap(&other->_impl_.resource_capacity_);
1159 _impl_.resource_name_.InternalSwap(&other->_impl_.resource_name_);
1160 _impl_.item_.InternalSwap(&other->_impl_.item_);
1161 ::_pbi::ArenaStringPtr::InternalSwap(&
_impl_.name_, &other->_impl_.name_, arena);
1162 ::google::protobuf::internal::memswap<
1166 reinterpret_cast<char*
>(&
_impl_.cost_per_bin_),
1167 reinterpret_cast<char*
>(&other->_impl_.cost_per_bin_));
1171 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1180#if defined(PROTOBUF_CUSTOM_VTABLE)
1183 : ::google::protobuf::Message(arena) {
1188PROTOBUF_NDEBUG_INLINE VectorBinPackingOneBinInSolution::Impl_::Impl_(
1189 ::google::protobuf::internal::InternalVisibility visibility,
1190 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1191 const ::operations_research::packing::vbp::VectorBinPackingOneBinInSolution& from_msg)
1192 : item_indices_{visibility, arena, from.item_indices_},
1193 _item_indices_cached_byte_size_{0},
1194 item_copies_{visibility, arena, from.item_copies_},
1195 _item_copies_cached_byte_size_{0},
1199 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1200 const VectorBinPackingOneBinInSolution& from)
1201#if defined(PROTOBUF_CUSTOM_VTABLE)
1204 : ::google::protobuf::Message(arena) {
1208 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
1209 from._internal_metadata_);
1210 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1214PROTOBUF_NDEBUG_INLINE VectorBinPackingOneBinInSolution::Impl_::Impl_(
1215 ::google::protobuf::internal::InternalVisibility visibility,
1216 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1217 : item_indices_{visibility, arena},
1218 _item_indices_cached_byte_size_{0},
1219 item_copies_{visibility, arena},
1220 _item_copies_cached_byte_size_{0},
1223inline void VectorBinPackingOneBinInSolution::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1224 new (&
_impl_) Impl_(internal_visibility(), arena);
1230inline void VectorBinPackingOneBinInSolution::SharedDtor(MessageLite& self) {
1232 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1233 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1238 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1239 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1243 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1246 InternalGetArenaOffset(
1250 InternalGetArenaOffset(
1253 if (arena_bits.has_value()) {
1254 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1255 sizeof(VectorBinPackingOneBinInSolution), alignof(VectorBinPackingOneBinInSolution), *arena_bits);
1257 return ::google::protobuf::internal::MessageCreator(&VectorBinPackingOneBinInSolution::PlacementNew_,
1258 sizeof(VectorBinPackingOneBinInSolution),
1259 alignof(VectorBinPackingOneBinInSolution));
1263 return ::google::protobuf::internal::ClassDataFull{
1264 ::google::protobuf::internal::ClassData{
1269 &VectorBinPackingOneBinInSolution::MergeImpl,
1270 ::google::protobuf::Message::GetNewImpl<VectorBinPackingOneBinInSolution>(),
1271#if defined(PROTOBUF_CUSTOM_VTABLE)
1272 &VectorBinPackingOneBinInSolution::SharedDtor,
1279 &VectorBinPackingOneBinInSolution::kDescriptorMethods,
1285PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1289PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1295PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1296const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
1297VectorBinPackingOneBinInSolution::_table_ = {
1302 offsetof(
decltype(_table_), field_lookup_table),
1304 offsetof(
decltype(_table_), field_entries),
1307 offsetof(
decltype(_table_), field_names),
1310 ::_pbi::TcParser::GenericFallback,
1311 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1312 ::_pbi::TcParser::GetTable<::operations_research::packing::vbp::VectorBinPackingOneBinInSolution>(),
1316 {::_pbi::TcParser::FastV32P1,
1319 {::_pbi::TcParser::FastV32P1,
1326 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1329 (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1337 ::google::protobuf::internal::TSanWrite(&
_impl_);
1338 ::uint32_t cached_has_bits = 0;
1340 (void) cached_has_bits;
1342 _impl_.item_indices_.Clear();
1343 _impl_.item_copies_.Clear();
1344 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1347#if defined(PROTOBUF_CUSTOM_VTABLE)
1349 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
1350 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1354 ::uint8_t* PROTOBUF_NONNULL target,
1355 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1359 ::uint32_t cached_has_bits = 0;
1360 (void)cached_has_bits;
1364 int byte_size = this_.
_impl_._item_indices_cached_byte_size_.Get();
1365 if (byte_size > 0) {
1366 target = stream->WriteInt32Packed(
1367 1, this_._internal_item_indices(), byte_size, target);
1373 int byte_size = this_.
_impl_._item_copies_cached_byte_size_.Get();
1374 if (byte_size > 0) {
1375 target = stream->WriteInt32Packed(
1376 2, this_._internal_item_copies(), byte_size, target);
1380 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1382 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1383 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1389#if defined(PROTOBUF_CUSTOM_VTABLE)
1397 ::size_t total_size = 0;
1399 ::uint32_t cached_has_bits = 0;
1401 (void)cached_has_bits;
1403 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1408 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1409 this_._internal_item_indices(), 1,
1410 this_._impl_._item_indices_cached_byte_size_);
1415 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1416 this_._internal_item_copies(), 1,
1417 this_._impl_._item_copies_cached_byte_size_);
1420 return this_.MaybeComputeUnknownFieldsSize(total_size,
1421 &this_._impl_._cached_size_);
1424void VectorBinPackingOneBinInSolution::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1428 ABSL_DCHECK_NE(&from, _this);
1429 ::uint32_t cached_has_bits = 0;
1430 (void) cached_has_bits;
1432 _this->_internal_mutable_item_indices()->MergeFrom(from._internal_item_indices());
1433 _this->_internal_mutable_item_copies()->MergeFrom(from._internal_item_copies());
1434 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1439 if (&from ==
this)
return;
1447 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1448 _impl_.item_indices_.InternalSwap(&other->_impl_.item_indices_);
1449 _impl_.item_copies_.InternalSwap(&other->_impl_.item_copies_);
1453 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1460 decltype(::std::declval<VectorBinPackingSolution>()._impl_._has_bits_);
1466#if defined(PROTOBUF_CUSTOM_VTABLE)
1469 : ::google::protobuf::Message(arena) {
1474PROTOBUF_NDEBUG_INLINE VectorBinPackingSolution::Impl_::Impl_(
1475 ::google::protobuf::internal::InternalVisibility visibility,
1476 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1477 const ::operations_research::packing::vbp::VectorBinPackingSolution& from_msg)
1478 : _has_bits_{from._has_bits_},
1480 bins_{visibility, arena, from.bins_},
1481 solver_info_(arena, from.solver_info_) {}
1484 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1485 const VectorBinPackingSolution& from)
1486#if defined(PROTOBUF_CUSTOM_VTABLE)
1489 : ::google::protobuf::Message(arena) {
1493 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
1494 from._internal_metadata_);
1495 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1496 ::memcpy(
reinterpret_cast<char *
>(&
_impl_) +
1497 offsetof(Impl_, objective_value_),
1498 reinterpret_cast<const char *
>(&from._impl_) +
1499 offsetof(Impl_, objective_value_),
1500 offsetof(Impl_, status_) -
1501 offsetof(Impl_, objective_value_) +
1502 sizeof(Impl_::status_));
1506PROTOBUF_NDEBUG_INLINE VectorBinPackingSolution::Impl_::Impl_(
1507 ::google::protobuf::internal::InternalVisibility visibility,
1508 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1510 bins_{visibility, arena},
1511 solver_info_(arena) {}
1513inline void VectorBinPackingSolution::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1514 new (&
_impl_) Impl_(internal_visibility(), arena);
1515 ::memset(
reinterpret_cast<char *
>(&
_impl_) +
1516 offsetof(Impl_, objective_value_),
1518 offsetof(Impl_, status_) -
1519 offsetof(Impl_, objective_value_) +
1520 sizeof(Impl_::status_));
1528 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1529 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1530 this_.
_impl_.solver_info_.Destroy();
1535 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1536 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1540 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1543 InternalGetArenaOffset(
1544 ::google::protobuf::Message::internal_visibility()),
1546 if (arena_bits.has_value()) {
1547 return ::google::protobuf::internal::MessageCreator::CopyInit(
1556 return ::google::protobuf::internal::ClassDataFull{
1557 ::google::protobuf::internal::ClassData{
1562 &VectorBinPackingSolution::MergeImpl,
1563 ::google::protobuf::Message::GetNewImpl<VectorBinPackingSolution>(),
1564#if defined(PROTOBUF_CUSTOM_VTABLE)
1565 &VectorBinPackingSolution::SharedDtor,
1572 &VectorBinPackingSolution::kDescriptorMethods,
1578PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1582PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1588PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1589const ::_pbi::TcParseTable<3, 6, 1, 76, 2>
1590VectorBinPackingSolution::_table_ = {
1595 offsetof(
decltype(_table_), field_lookup_table),
1597 offsetof(
decltype(_table_), field_entries),
1600 offsetof(
decltype(_table_), aux_entries),
1603 ::_pbi::TcParser::GenericFallback,
1604 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1605 ::_pbi::TcParser::GetTable<::operations_research::packing::vbp::VectorBinPackingSolution>(),
1608 {::_pbi::TcParser::MiniParse, {}},
1610 {::_pbi::TcParser::FastUS1,
1611 {10, 0, 0, PROTOBUF_FIELD_OFFSET(VectorBinPackingSolution, _impl_.solver_info_)}},
1613 {::_pbi::TcParser::FastMtR1,
1619 {::_pbi::TcParser::FastF64S1,
1622 {::_pbi::TcParser::FastF64S1,
1625 {::_pbi::TcParser::FastF64S1,
1627 {::_pbi::TcParser::MiniParse, {}},
1633 (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
1636 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1639 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1642 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1645 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1647 {PROTOBUF_FIELD_OFFSET(
VectorBinPackingSolution, _impl_.arc_flow_time_in_seconds_), _Internal::kHasBitsOffset + 3, 0,
1648 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1651 {::_pbi::TcParser::GetTable<::operations_research::packing::vbp::VectorBinPackingOneBinInSolution>()},
1654 "\70\13\0\0\0\0\0\0"
1655 "operations_research.packing.vbp.VectorBinPackingSolution"
1661 ::google::protobuf::internal::TSanWrite(&
_impl_);
1662 ::uint32_t cached_has_bits = 0;
1664 (void) cached_has_bits;
1667 cached_has_bits =
_impl_._has_bits_[0];
1668 if ((cached_has_bits & 0x00000001u) != 0) {
1669 _impl_.solver_info_.ClearNonDefaultToEmpty();
1671 if ((cached_has_bits & 0x0000001eu) != 0) {
1672 ::memset(&
_impl_.objective_value_, 0,
static_cast<::
size_t>(
1673 reinterpret_cast<char*
>(&
_impl_.status_) -
1674 reinterpret_cast<char*
>(&
_impl_.objective_value_)) +
sizeof(
_impl_.status_));
1676 _impl_._has_bits_.Clear();
1677 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1680#if defined(PROTOBUF_CUSTOM_VTABLE)
1682 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
1683 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1687 ::uint8_t* PROTOBUF_NONNULL target,
1688 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1692 ::uint32_t cached_has_bits = 0;
1693 (void)cached_has_bits;
1696 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
1697 if (!this_._internal_solver_info().empty()) {
1698 const ::std::string& _s = this_._internal_solver_info();
1699 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
1700 _s.data(),
static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE,
"operations_research.packing.vbp.VectorBinPackingSolution.solver_info");
1701 target = stream->WriteStringMaybeAliased(1, _s, target);
1706 for (
unsigned i = 0, n =
static_cast<unsigned>(
1707 this_._internal_bins_size());
1709 const auto& repfield = this_._internal_bins().Get(i);
1711 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1712 2, repfield, repfield.GetCachedSize(),
1717 if ((this_._impl_._has_bits_[0] & 0x00000010u) != 0) {
1718 if (this_._internal_status() != 0) {
1719 target = stream->EnsureSpace(target);
1720 target = ::_pbi::WireFormatLite::WriteEnumToArray(
1721 3, this_._internal_status(), target);
1726 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
1727 if (::absl::bit_cast<::uint64_t>(this_._internal_objective_value()) != 0) {
1728 target = stream->EnsureSpace(target);
1729 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1730 4, this_._internal_objective_value(), target);
1735 if ((this_._impl_._has_bits_[0] & 0x00000004u) != 0) {
1736 if (::absl::bit_cast<::uint64_t>(this_._internal_solve_time_in_seconds()) != 0) {
1737 target = stream->EnsureSpace(target);
1738 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1739 5, this_._internal_solve_time_in_seconds(), target);
1744 if ((this_._impl_._has_bits_[0] & 0x00000008u) != 0) {
1745 if (::absl::bit_cast<::uint64_t>(this_._internal_arc_flow_time_in_seconds()) != 0) {
1746 target = stream->EnsureSpace(target);
1747 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1748 6, this_._internal_arc_flow_time_in_seconds(), target);
1752 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1754 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1755 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1761#if defined(PROTOBUF_CUSTOM_VTABLE)
1769 ::size_t total_size = 0;
1771 ::uint32_t cached_has_bits = 0;
1773 (void)cached_has_bits;
1775 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1779 total_size += 1UL * this_._internal_bins_size();
1780 for (
const auto& msg : this_._internal_bins()) {
1781 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1785 cached_has_bits = this_._impl_._has_bits_[0];
1786 if ((cached_has_bits & 0x0000001fu) != 0) {
1788 if ((cached_has_bits & 0x00000001u) != 0) {
1789 if (!this_._internal_solver_info().empty()) {
1790 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
1791 this_._internal_solver_info());
1795 if ((cached_has_bits & 0x00000002u) != 0) {
1796 if (::absl::bit_cast<::uint64_t>(this_._internal_objective_value()) != 0) {
1801 if ((cached_has_bits & 0x00000004u) != 0) {
1802 if (::absl::bit_cast<::uint64_t>(this_._internal_solve_time_in_seconds()) != 0) {
1807 if ((cached_has_bits & 0x00000008u) != 0) {
1808 if (::absl::bit_cast<::uint64_t>(this_._internal_arc_flow_time_in_seconds()) != 0) {
1813 if ((cached_has_bits & 0x00000010u) != 0) {
1814 if (this_._internal_status() != 0) {
1816 ::_pbi::WireFormatLite::EnumSize(this_._internal_status());
1820 return this_.MaybeComputeUnknownFieldsSize(total_size,
1821 &this_._impl_._cached_size_);
1824void VectorBinPackingSolution::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1828 ABSL_DCHECK_NE(&from, _this);
1829 ::uint32_t cached_has_bits = 0;
1830 (void) cached_has_bits;
1832 _this->_internal_mutable_bins()->MergeFrom(
1833 from._internal_bins());
1834 cached_has_bits = from._impl_._has_bits_[0];
1835 if ((cached_has_bits & 0x0000001fu) != 0) {
1836 if ((cached_has_bits & 0x00000001u) != 0) {
1837 if (!from._internal_solver_info().empty()) {
1838 _this->_internal_set_solver_info(from._internal_solver_info());
1840 if (_this->_impl_.solver_info_.IsDefault()) {
1841 _this->_internal_set_solver_info(
"");
1845 if ((cached_has_bits & 0x00000002u) != 0) {
1846 if (::absl::bit_cast<::uint64_t>(from._internal_objective_value()) != 0) {
1847 _this->_impl_.objective_value_ = from._impl_.objective_value_;
1850 if ((cached_has_bits & 0x00000004u) != 0) {
1851 if (::absl::bit_cast<::uint64_t>(from._internal_solve_time_in_seconds()) != 0) {
1852 _this->_impl_.solve_time_in_seconds_ = from._impl_.solve_time_in_seconds_;
1855 if ((cached_has_bits & 0x00000008u) != 0) {
1856 if (::absl::bit_cast<::uint64_t>(from._internal_arc_flow_time_in_seconds()) != 0) {
1857 _this->_impl_.arc_flow_time_in_seconds_ = from._impl_.arc_flow_time_in_seconds_;
1860 if ((cached_has_bits & 0x00000010u) != 0) {
1861 if (from._internal_status() != 0) {
1862 _this->_impl_.status_ = from._impl_.status_;
1866 _this->_impl_._has_bits_[0] |= cached_has_bits;
1867 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1872 if (&from ==
this)
return;
1880 auto* arena = GetArena();
1881 ABSL_DCHECK_EQ(arena, other->GetArena());
1882 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1883 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1884 _impl_.bins_.InternalSwap(&other->_impl_.bins_);
1885 ::_pbi::ArenaStringPtr::InternalSwap(&
_impl_.solver_info_, &other->_impl_.solver_info_, arena);
1886 ::google::protobuf::internal::memswap<
1890 reinterpret_cast<char*
>(&
_impl_.objective_value_),
1891 reinterpret_cast<char*
>(&other->_impl_.objective_value_));
1895 return ::google::protobuf::Message::GetMetadataImpl(
GetClassData()->full());
1906PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
1909 ::std::false_type{});
1910#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
@protoc_insertion_point(global_scope)
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
static constexpr ::int32_t kHasBitsOffset
decltype(::std::declval< Item >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
void MergeFrom(const Item &from)
::size_t ByteSizeLong() const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const Item &from)
static constexpr auto InternalGenerateClassData_()
friend void swap(Item &a, Item &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static constexpr auto InternalNewImpl_()
::google::protobuf::Metadata GetMetadata() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const VectorBinPackingOneBinInSolution &from)
static constexpr auto InternalNewImpl_()
::google::protobuf::Metadata GetMetadata() const
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static constexpr auto InternalGenerateClassData_()
VectorBinPackingOneBinInSolution()
~VectorBinPackingOneBinInSolution() PROTOBUF_FINAL
void MergeFrom(const VectorBinPackingOneBinInSolution &from)
::size_t ByteSizeLong() const final
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
decltype(::std::declval< VectorBinPackingProblem >()._impl_._has_bits_) HasBits
static constexpr ::int32_t kHasBitsOffset
::size_t ByteSizeLong() const final
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr auto InternalGenerateClassData_()
VectorBinPackingProblem()
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const VectorBinPackingProblem &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const VectorBinPackingProblem &from)
~VectorBinPackingProblem() PROTOBUF_FINAL
static constexpr auto InternalNewImpl_()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr ::int32_t kHasBitsOffset
~VectorBinPackingSolution() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(VectorBinPackingSolution &a, VectorBinPackingSolution &b)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const VectorBinPackingSolution &from)
static constexpr auto InternalNewImpl_()
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::size_t ByteSizeLong() const final
void MergeFrom(const VectorBinPackingSolution &from)
VectorBinPackingSolution()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL VectorBinPackingSolveStatus_descriptor()
PROTOBUF_CONSTINIT const uint32_t VectorBinPackingSolveStatus_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull VectorBinPackingSolution_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Item_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull VectorBinPackingProblem_class_data_
VectorBinPackingSolveStatus
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VectorBinPackingSolutionDefaultTypeInternal _VectorBinPackingSolution_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull VectorBinPackingOneBinInSolution_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ItemDefaultTypeInternal _Item_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VectorBinPackingOneBinInSolutionDefaultTypeInternal _VectorBinPackingOneBinInSolution_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VectorBinPackingProblemDefaultTypeInternal _VectorBinPackingProblem_default_instance_
In SWIG mode, we don't want anything besides these top-level includes.
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
~ItemDefaultTypeInternal()
PROTOBUF_CONSTEXPR ItemDefaultTypeInternal()
VectorBinPackingOneBinInSolution _instance
PROTOBUF_CONSTEXPR VectorBinPackingOneBinInSolutionDefaultTypeInternal()
~VectorBinPackingOneBinInSolutionDefaultTypeInternal()
PROTOBUF_CONSTEXPR VectorBinPackingProblemDefaultTypeInternal()
~VectorBinPackingProblemDefaultTypeInternal()
VectorBinPackingProblem _instance
PROTOBUF_CONSTEXPR VectorBinPackingSolutionDefaultTypeInternal()
~VectorBinPackingSolutionDefaultTypeInternal()
VectorBinPackingSolution _instance
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fpacking_2fvector_5fbin_5fpacking_2eproto[1]
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fpacking_2fvector_5fbin_5fpacking_2eproto
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fpacking_2fvector_5fbin_5fpacking_2eproto
::absl::once_flag descriptor_table_ortools_2fpacking_2fvector_5fbin_5fpacking_2eproto_once
const ::uint32_t TableStruct_ortools_2fpacking_2fvector_5fbin_5fpacking_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)