Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
multiple_dimensions_bin_packing.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/packing/multiple_dimensions_bin_packing.proto
4// Protobuf C++ Version: 6.33.1
5
7
8#include <algorithm>
9#include <type_traits>
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"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28namespace packing {
29
30inline constexpr MultipleDimensionsBinPackingShape::Impl_::Impl_(
31 ::_pbi::ConstantInitialized) noexcept
32 : _cached_size_{0},
33 dimensions_{},
34 _dimensions_cached_byte_size_{0} {}
35
36template <typename>
37PROTOBUF_CONSTEXPR MultipleDimensionsBinPackingShape::MultipleDimensionsBinPackingShape(::_pbi::ConstantInitialized)
38#if defined(PROTOBUF_CUSTOM_VTABLE)
39 : ::google::protobuf::Message(MultipleDimensionsBinPackingShape_class_data_.base()),
40#else // PROTOBUF_CUSTOM_VTABLE
41 : ::google::protobuf::Message(),
42#endif // PROTOBUF_CUSTOM_VTABLE
43 _impl_(::_pbi::ConstantInitialized()) {
44}
52
53PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
55
56inline constexpr MultipleDimensionsBinPackingItem::Impl_::Impl_(
57 ::_pbi::ConstantInitialized) noexcept
58 : _cached_size_{0},
59 shapes_{},
60 value_{::int64_t{0}} {}
61
62template <typename>
63PROTOBUF_CONSTEXPR MultipleDimensionsBinPackingItem::MultipleDimensionsBinPackingItem(::_pbi::ConstantInitialized)
64#if defined(PROTOBUF_CUSTOM_VTABLE)
65 : ::google::protobuf::Message(MultipleDimensionsBinPackingItem_class_data_.base()),
66#else // PROTOBUF_CUSTOM_VTABLE
67 : ::google::protobuf::Message(),
68#endif // PROTOBUF_CUSTOM_VTABLE
69 _impl_(::_pbi::ConstantInitialized()) {
70}
78
79PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
81
82inline constexpr MultipleDimensionsBinPackingProblem::Impl_::Impl_(
83 ::_pbi::ConstantInitialized) noexcept
84 : _cached_size_{0},
85 items_{},
86 box_shape_{nullptr} {}
87
88template <typename>
90#if defined(PROTOBUF_CUSTOM_VTABLE)
91 : ::google::protobuf::Message(MultipleDimensionsBinPackingProblem_class_data_.base()),
92#else // PROTOBUF_CUSTOM_VTABLE
93 : ::google::protobuf::Message(),
94#endif // PROTOBUF_CUSTOM_VTABLE
95 _impl_(::_pbi::ConstantInitialized()) {
96}
104
105PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
107} // namespace packing
108} // namespace operations_research
109static constexpr const ::_pb::EnumDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
111static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
113const ::uint32_t
115 protodesc_cold) = {
116 0x081, // bitmap
117 PROTOBUF_FIELD_OFFSET(::operations_research::packing::MultipleDimensionsBinPackingShape, _impl_._has_bits_),
118 4, // hasbit index offset
119 PROTOBUF_FIELD_OFFSET(::operations_research::packing::MultipleDimensionsBinPackingShape, _impl_.dimensions_),
120 0,
121 0x081, // bitmap
122 PROTOBUF_FIELD_OFFSET(::operations_research::packing::MultipleDimensionsBinPackingItem, _impl_._has_bits_),
123 5, // hasbit index offset
124 PROTOBUF_FIELD_OFFSET(::operations_research::packing::MultipleDimensionsBinPackingItem, _impl_.shapes_),
125 PROTOBUF_FIELD_OFFSET(::operations_research::packing::MultipleDimensionsBinPackingItem, _impl_.value_),
126 0,
127 1,
128 0x081, // bitmap
129 PROTOBUF_FIELD_OFFSET(::operations_research::packing::MultipleDimensionsBinPackingProblem, _impl_._has_bits_),
130 5, // hasbit index offset
131 PROTOBUF_FIELD_OFFSET(::operations_research::packing::MultipleDimensionsBinPackingProblem, _impl_.box_shape_),
133 1,
134 0,
135};
136
137static const ::_pbi::MigrationSchema
138 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
142};
148const char descriptor_table_protodef_ortools_2fpacking_2fmultiple_5fdimensions_5fbin_5fpacking_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
149 protodesc_cold) = {
150 "\n5ortools/packing/multiple_dimensions_bi"
151 "n_packing.proto\022\033operations_research.pac"
152 "king\"7\n!MultipleDimensionsBinPackingShap"
153 "e\022\022\n\ndimensions\030\001 \003(\003\"\201\001\n MultipleDimens"
154 "ionsBinPackingItem\022N\n\006shapes\030\001 \003(\0132>.ope"
155 "rations_research.packing.MultipleDimensi"
156 "onsBinPackingShape\022\r\n\005value\030\002 \001(\003\"\306\001\n#Mu"
157 "ltipleDimensionsBinPackingProblem\022Q\n\tbox"
158 "_shape\030\001 \001(\0132>.operations_research.packi"
159 "ng.MultipleDimensionsBinPackingShape\022L\n\005"
160 "items\030\002 \003(\0132=.operations_research.packin"
161 "g.MultipleDimensionsBinPackingItemB\002P\001b\006"
162 "proto3"
163};
181namespace operations_research {
182namespace packing {
183// ===================================================================
184
186 public:
187 using HasBits =
188 decltype(::std::declval<MultipleDimensionsBinPackingShape>()._impl_._has_bits_);
189 static constexpr ::int32_t kHasBitsOffset =
190 8 * PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingShape, _impl_._has_bits_);
191};
192
193MultipleDimensionsBinPackingShape::MultipleDimensionsBinPackingShape(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
194#if defined(PROTOBUF_CUSTOM_VTABLE)
195 : ::google::protobuf::Message(arena, MultipleDimensionsBinPackingShape_class_data_.base()) {
196#else // PROTOBUF_CUSTOM_VTABLE
197 : ::google::protobuf::Message(arena) {
198#endif // PROTOBUF_CUSTOM_VTABLE
199 SharedCtor(arena);
200 // @@protoc_insertion_point(arena_constructor:operations_research.packing.MultipleDimensionsBinPackingShape)
201}
202PROTOBUF_NDEBUG_INLINE MultipleDimensionsBinPackingShape::Impl_::Impl_(
203 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
204 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
205 [[maybe_unused]] const ::operations_research::packing::MultipleDimensionsBinPackingShape& from_msg)
206 : _has_bits_{from._has_bits_},
207 _cached_size_{0},
208 dimensions_{visibility, arena, from.dimensions_},
209 _dimensions_cached_byte_size_{0} {}
210
212 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
214#if defined(PROTOBUF_CUSTOM_VTABLE)
215 : ::google::protobuf::Message(arena, MultipleDimensionsBinPackingShape_class_data_.base()) {
216#else // PROTOBUF_CUSTOM_VTABLE
217 : ::google::protobuf::Message(arena) {
218#endif // PROTOBUF_CUSTOM_VTABLE
219 MultipleDimensionsBinPackingShape* const _this = this;
220 (void)_this;
221 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
222 from._internal_metadata_);
223 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
224
225 // @@protoc_insertion_point(copy_constructor:operations_research.packing.MultipleDimensionsBinPackingShape)
226}
227PROTOBUF_NDEBUG_INLINE MultipleDimensionsBinPackingShape::Impl_::Impl_(
228 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
229 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
230 : _cached_size_{0},
231 dimensions_{visibility, arena},
232 _dimensions_cached_byte_size_{0} {}
233
234inline void MultipleDimensionsBinPackingShape::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
235 new (&_impl_) Impl_(internal_visibility(), arena);
236}
238 // @@protoc_insertion_point(destructor:operations_research.packing.MultipleDimensionsBinPackingShape)
239 SharedDtor(*this);
240}
241inline void MultipleDimensionsBinPackingShape::SharedDtor(MessageLite& self) {
243 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
244 this_.CheckHasBitConsistency();
245 }
246 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
247 ABSL_DCHECK(this_.GetArena() == nullptr);
248 this_._impl_.~Impl_();
249}
250
251inline void* PROTOBUF_NONNULL MultipleDimensionsBinPackingShape::PlacementNew_(
252 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
253 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
254 return ::new (mem) MultipleDimensionsBinPackingShape(arena);
255}
256constexpr auto MultipleDimensionsBinPackingShape::InternalNewImpl_() {
257 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
258 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingShape, _impl_.dimensions_) +
259 decltype(MultipleDimensionsBinPackingShape::_impl_.dimensions_)::
260 InternalGetArenaOffset(
261 ::google::protobuf::Message::internal_visibility()),
262 });
263 if (arena_bits.has_value()) {
264 return ::google::protobuf::internal::MessageCreator::ZeroInit(
265 sizeof(MultipleDimensionsBinPackingShape), alignof(MultipleDimensionsBinPackingShape), *arena_bits);
266 } else {
267 return ::google::protobuf::internal::MessageCreator(&MultipleDimensionsBinPackingShape::PlacementNew_,
268 sizeof(MultipleDimensionsBinPackingShape),
269 alignof(MultipleDimensionsBinPackingShape));
270 }
271}
273 return ::google::protobuf::internal::ClassDataFull{
274 ::google::protobuf::internal::ClassData{
276 &_table_.header,
277 nullptr, // OnDemandRegisterArenaDtor
278 nullptr, // IsInitialized
279 &MultipleDimensionsBinPackingShape::MergeImpl,
280 ::google::protobuf::Message::GetNewImpl<MultipleDimensionsBinPackingShape>(),
281#if defined(PROTOBUF_CUSTOM_VTABLE)
282 &MultipleDimensionsBinPackingShape::SharedDtor,
283 ::google::protobuf::Message::GetClearImpl<MultipleDimensionsBinPackingShape>(), &MultipleDimensionsBinPackingShape::ByteSizeLong,
285#endif // PROTOBUF_CUSTOM_VTABLE
286 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingShape, _impl_._cached_size_),
287 false,
288 },
289 &MultipleDimensionsBinPackingShape::kDescriptorMethods,
291 nullptr, // tracker
292 };
293}
294
295PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
296 ::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingShape_class_data_ =
298
299PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
300MultipleDimensionsBinPackingShape::GetClassData() const {
301 ::google::protobuf::internal::PrefetchToLocalCache(&MultipleDimensionsBinPackingShape_class_data_);
302 ::google::protobuf::internal::PrefetchToLocalCache(MultipleDimensionsBinPackingShape_class_data_.tc_table);
304}
305PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
306const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
307MultipleDimensionsBinPackingShape::_table_ = {
308 {
309 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingShape, _impl_._has_bits_),
310 0, // no _extensions_
311 1, 0, // max_field_number, fast_idx_mask
312 offsetof(decltype(_table_), field_lookup_table),
313 4294967294, // skipmap
314 offsetof(decltype(_table_), field_entries),
315 1, // num_field_entries
316 0, // num_aux_entries
317 offsetof(decltype(_table_), field_names), // no aux_entries
319 nullptr, // post_loop_handler
320 ::_pbi::TcParser::GenericFallback, // fallback
321 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
322 ::_pbi::TcParser::GetTable<::operations_research::packing::MultipleDimensionsBinPackingShape>(), // to_prefetch
323 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
324 }, {{
325 // repeated int64 dimensions = 1;
326 {::_pbi::TcParser::FastV64P1,
327 {10, 0, 0,
328 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingShape, _impl_.dimensions_)}},
329 }}, {{
330 65535, 65535
331 }}, {{
332 // repeated int64 dimensions = 1;
333 {PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingShape, _impl_.dimensions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
334 }},
335 // no aux_entries
336 {{
337 }},
338};
339PROTOBUF_NOINLINE void MultipleDimensionsBinPackingShape::Clear() {
340// @@protoc_insertion_point(message_clear_start:operations_research.packing.MultipleDimensionsBinPackingShape)
341 ::google::protobuf::internal::TSanWrite(&_impl_);
342 ::uint32_t cached_has_bits = 0;
343 // Prevent compiler warnings about cached_has_bits being unused
344 (void) cached_has_bits;
345
346 cached_has_bits = _impl_._has_bits_[0];
347 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
348 _impl_.dimensions_.Clear();
349 }
350 _impl_._has_bits_.Clear();
351 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
352}
353
354#if defined(PROTOBUF_CUSTOM_VTABLE)
356 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
357 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
359#else // PROTOBUF_CUSTOM_VTABLE
361 ::uint8_t* PROTOBUF_NONNULL target,
362 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
363 const MultipleDimensionsBinPackingShape& this_ = *this;
364#endif // PROTOBUF_CUSTOM_VTABLE
365 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
366 this_.CheckHasBitConsistency();
367 }
368 // @@protoc_insertion_point(serialize_to_array_start:operations_research.packing.MultipleDimensionsBinPackingShape)
369 ::uint32_t cached_has_bits = 0;
370 (void)cached_has_bits;
371
372 cached_has_bits = this_._impl_._has_bits_[0];
373 // repeated int64 dimensions = 1;
374 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
375 {
376 int byte_size = this_._impl_._dimensions_cached_byte_size_.Get();
377 if (byte_size > 0) {
378 target = stream->WriteInt64Packed(
379 1, this_._internal_dimensions(), byte_size, target);
380 }
381 }
382 }
383
384 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
385 target =
386 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
387 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
388 }
389 // @@protoc_insertion_point(serialize_to_array_end:operations_research.packing.MultipleDimensionsBinPackingShape)
390 return target;
391}
392
393#if defined(PROTOBUF_CUSTOM_VTABLE)
396#else // PROTOBUF_CUSTOM_VTABLE
399#endif // PROTOBUF_CUSTOM_VTABLE
400 // @@protoc_insertion_point(message_byte_size_start:operations_research.packing.MultipleDimensionsBinPackingShape)
401 ::size_t total_size = 0;
402
403 ::uint32_t cached_has_bits = 0;
404 // Prevent compiler warnings about cached_has_bits being unused
405 (void)cached_has_bits;
406
407 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
408 {
409 // repeated int64 dimensions = 1;
410 cached_has_bits = this_._impl_._has_bits_[0];
411 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
412 total_size +=
413 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
414 this_._internal_dimensions(), 1,
415 this_._impl_._dimensions_cached_byte_size_);
416 }
417 }
418 return this_.MaybeComputeUnknownFieldsSize(total_size,
419 &this_._impl_._cached_size_);
420}
421
422void MultipleDimensionsBinPackingShape::MergeImpl(::google::protobuf::MessageLite& to_msg,
423 const ::google::protobuf::MessageLite& from_msg) {
424 auto* const _this =
425 static_cast<MultipleDimensionsBinPackingShape*>(&to_msg);
426 auto& from = static_cast<const MultipleDimensionsBinPackingShape&>(from_msg);
427 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
428 from.CheckHasBitConsistency();
429 }
430 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.packing.MultipleDimensionsBinPackingShape)
431 ABSL_DCHECK_NE(&from, _this);
432 ::uint32_t cached_has_bits = 0;
433 (void)cached_has_bits;
434
435 cached_has_bits = from._impl_._has_bits_[0];
436 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
437 _this->_internal_mutable_dimensions()->MergeFrom(from._internal_dimensions());
438 }
439 _this->_impl_._has_bits_[0] |= cached_has_bits;
440 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
441 from._internal_metadata_);
442}
443
445 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.packing.MultipleDimensionsBinPackingShape)
446 if (&from == this) return;
447 Clear();
448 MergeFrom(from);
449}
450
451
452void MultipleDimensionsBinPackingShape::InternalSwap(MultipleDimensionsBinPackingShape* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
453 using ::std::swap;
454 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
455 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
456 _impl_.dimensions_.InternalSwap(&other->_impl_.dimensions_);
457}
458
459::google::protobuf::Metadata MultipleDimensionsBinPackingShape::GetMetadata() const {
460 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
461}
462// ===================================================================
463
465 public:
466 using HasBits =
467 decltype(::std::declval<MultipleDimensionsBinPackingItem>()._impl_._has_bits_);
468 static constexpr ::int32_t kHasBitsOffset =
469 8 * PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_._has_bits_);
471
472MultipleDimensionsBinPackingItem::MultipleDimensionsBinPackingItem(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
473#if defined(PROTOBUF_CUSTOM_VTABLE)
474 : ::google::protobuf::Message(arena, MultipleDimensionsBinPackingItem_class_data_.base()) {
475#else // PROTOBUF_CUSTOM_VTABLE
476 : ::google::protobuf::Message(arena) {
477#endif // PROTOBUF_CUSTOM_VTABLE
478 SharedCtor(arena);
479 // @@protoc_insertion_point(arena_constructor:operations_research.packing.MultipleDimensionsBinPackingItem)
480}
481PROTOBUF_NDEBUG_INLINE MultipleDimensionsBinPackingItem::Impl_::Impl_(
482 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
483 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
484 [[maybe_unused]] const ::operations_research::packing::MultipleDimensionsBinPackingItem& from_msg)
485 : _has_bits_{from._has_bits_},
486 _cached_size_{0},
487 shapes_{visibility, arena, from.shapes_} {}
488
490 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
492#if defined(PROTOBUF_CUSTOM_VTABLE)
493 : ::google::protobuf::Message(arena, MultipleDimensionsBinPackingItem_class_data_.base()) {
494#else // PROTOBUF_CUSTOM_VTABLE
495 : ::google::protobuf::Message(arena) {
496#endif // PROTOBUF_CUSTOM_VTABLE
497 MultipleDimensionsBinPackingItem* const _this = this;
498 (void)_this;
499 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
500 from._internal_metadata_);
501 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
502 _impl_.value_ = from._impl_.value_;
503
504 // @@protoc_insertion_point(copy_constructor:operations_research.packing.MultipleDimensionsBinPackingItem)
505}
506PROTOBUF_NDEBUG_INLINE MultipleDimensionsBinPackingItem::Impl_::Impl_(
507 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
508 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
509 : _cached_size_{0},
510 shapes_{visibility, arena} {}
511
512inline void MultipleDimensionsBinPackingItem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
513 new (&_impl_) Impl_(internal_visibility(), arena);
514 _impl_.value_ = {};
515}
517 // @@protoc_insertion_point(destructor:operations_research.packing.MultipleDimensionsBinPackingItem)
518 SharedDtor(*this);
519}
520inline void MultipleDimensionsBinPackingItem::SharedDtor(MessageLite& self) {
522 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
523 this_.CheckHasBitConsistency();
524 }
525 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
526 ABSL_DCHECK(this_.GetArena() == nullptr);
527 this_._impl_.~Impl_();
528}
529
530inline void* PROTOBUF_NONNULL MultipleDimensionsBinPackingItem::PlacementNew_(
531 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
532 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
533 return ::new (mem) MultipleDimensionsBinPackingItem(arena);
534}
535constexpr auto MultipleDimensionsBinPackingItem::InternalNewImpl_() {
536 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
537 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_.shapes_) +
539 InternalGetArenaOffset(
540 ::google::protobuf::Message::internal_visibility()),
541 });
542 if (arena_bits.has_value()) {
543 return ::google::protobuf::internal::MessageCreator::ZeroInit(
544 sizeof(MultipleDimensionsBinPackingItem), alignof(MultipleDimensionsBinPackingItem), *arena_bits);
545 } else {
546 return ::google::protobuf::internal::MessageCreator(&MultipleDimensionsBinPackingItem::PlacementNew_,
547 sizeof(MultipleDimensionsBinPackingItem),
548 alignof(MultipleDimensionsBinPackingItem));
549 }
550}
552 return ::google::protobuf::internal::ClassDataFull{
553 ::google::protobuf::internal::ClassData{
555 &_table_.header,
556 nullptr, // OnDemandRegisterArenaDtor
557 nullptr, // IsInitialized
558 &MultipleDimensionsBinPackingItem::MergeImpl,
559 ::google::protobuf::Message::GetNewImpl<MultipleDimensionsBinPackingItem>(),
560#if defined(PROTOBUF_CUSTOM_VTABLE)
561 &MultipleDimensionsBinPackingItem::SharedDtor,
562 ::google::protobuf::Message::GetClearImpl<MultipleDimensionsBinPackingItem>(), &MultipleDimensionsBinPackingItem::ByteSizeLong,
564#endif // PROTOBUF_CUSTOM_VTABLE
565 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_._cached_size_),
566 false,
567 },
568 &MultipleDimensionsBinPackingItem::kDescriptorMethods,
570 nullptr, // tracker
571 };
572}
573
574PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
575 ::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingItem_class_data_ =
578PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
579MultipleDimensionsBinPackingItem::GetClassData() const {
580 ::google::protobuf::internal::PrefetchToLocalCache(&MultipleDimensionsBinPackingItem_class_data_);
581 ::google::protobuf::internal::PrefetchToLocalCache(MultipleDimensionsBinPackingItem_class_data_.tc_table);
583}
584PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
585const ::_pbi::TcParseTable<1, 2, 1, 0, 2>
586MultipleDimensionsBinPackingItem::_table_ = {
587 {
588 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_._has_bits_),
589 0, // no _extensions_
590 2, 8, // max_field_number, fast_idx_mask
591 offsetof(decltype(_table_), field_lookup_table),
592 4294967292, // skipmap
593 offsetof(decltype(_table_), field_entries),
594 2, // num_field_entries
595 1, // num_aux_entries
596 offsetof(decltype(_table_), aux_entries),
598 nullptr, // post_loop_handler
599 ::_pbi::TcParser::GenericFallback, // fallback
600 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
601 ::_pbi::TcParser::GetTable<::operations_research::packing::MultipleDimensionsBinPackingItem>(), // to_prefetch
602 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
603 }, {{
604 // int64 value = 2;
605 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MultipleDimensionsBinPackingItem, _impl_.value_), 1>(),
606 {16, 1, 0,
607 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_.value_)}},
608 // repeated .operations_research.packing.MultipleDimensionsBinPackingShape shapes = 1;
609 {::_pbi::TcParser::FastMtR1,
610 {10, 0, 0,
611 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_.shapes_)}},
612 }}, {{
613 65535, 65535
614 }}, {{
615 // repeated .operations_research.packing.MultipleDimensionsBinPackingShape shapes = 1;
616 {PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_.shapes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
617 // int64 value = 2;
618 {PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingItem, _impl_.value_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
619 }},
620 {{
621 {::_pbi::TcParser::GetTable<::operations_research::packing::MultipleDimensionsBinPackingShape>()},
622 }},
623 {{
624 }},
625};
626PROTOBUF_NOINLINE void MultipleDimensionsBinPackingItem::Clear() {
627// @@protoc_insertion_point(message_clear_start:operations_research.packing.MultipleDimensionsBinPackingItem)
628 ::google::protobuf::internal::TSanWrite(&_impl_);
629 ::uint32_t cached_has_bits = 0;
630 // Prevent compiler warnings about cached_has_bits being unused
631 (void) cached_has_bits;
632
633 cached_has_bits = _impl_._has_bits_[0];
634 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
635 _impl_.shapes_.Clear();
636 }
637 _impl_.value_ = ::int64_t{0};
638 _impl_._has_bits_.Clear();
639 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
640}
641
642#if defined(PROTOBUF_CUSTOM_VTABLE)
644 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
645 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
646 const MultipleDimensionsBinPackingItem& this_ = static_cast<const MultipleDimensionsBinPackingItem&>(base);
647#else // PROTOBUF_CUSTOM_VTABLE
649 ::uint8_t* PROTOBUF_NONNULL target,
650 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
651 const MultipleDimensionsBinPackingItem& this_ = *this;
652#endif // PROTOBUF_CUSTOM_VTABLE
653 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
654 this_.CheckHasBitConsistency();
655 }
656 // @@protoc_insertion_point(serialize_to_array_start:operations_research.packing.MultipleDimensionsBinPackingItem)
657 ::uint32_t cached_has_bits = 0;
658 (void)cached_has_bits;
659
660 cached_has_bits = this_._impl_._has_bits_[0];
661 // repeated .operations_research.packing.MultipleDimensionsBinPackingShape shapes = 1;
662 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
663 for (unsigned i = 0, n = static_cast<unsigned>(
664 this_._internal_shapes_size());
665 i < n; i++) {
666 const auto& repfield = this_._internal_shapes().Get(i);
667 target =
668 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
669 1, repfield, repfield.GetCachedSize(),
670 target, stream);
671 }
672 }
673
674 // int64 value = 2;
675 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
676 if (this_._internal_value() != 0) {
677 target =
678 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
679 stream, this_._internal_value(), target);
680 }
681 }
682
683 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
684 target =
685 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
686 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
687 }
688 // @@protoc_insertion_point(serialize_to_array_end:operations_research.packing.MultipleDimensionsBinPackingItem)
689 return target;
690}
691
692#if defined(PROTOBUF_CUSTOM_VTABLE)
695#else // PROTOBUF_CUSTOM_VTABLE
697 const MultipleDimensionsBinPackingItem& this_ = *this;
698#endif // PROTOBUF_CUSTOM_VTABLE
699 // @@protoc_insertion_point(message_byte_size_start:operations_research.packing.MultipleDimensionsBinPackingItem)
700 ::size_t total_size = 0;
701
702 ::uint32_t cached_has_bits = 0;
703 // Prevent compiler warnings about cached_has_bits being unused
704 (void)cached_has_bits;
705
706 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
707 cached_has_bits = this_._impl_._has_bits_[0];
708 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
709 // repeated .operations_research.packing.MultipleDimensionsBinPackingShape shapes = 1;
710 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
711 total_size += 1UL * this_._internal_shapes_size();
712 for (const auto& msg : this_._internal_shapes()) {
713 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
714 }
715 }
716 // int64 value = 2;
717 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
718 if (this_._internal_value() != 0) {
719 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
720 this_._internal_value());
721 }
722 }
723 }
724 return this_.MaybeComputeUnknownFieldsSize(total_size,
725 &this_._impl_._cached_size_);
726}
727
728void MultipleDimensionsBinPackingItem::MergeImpl(::google::protobuf::MessageLite& to_msg,
729 const ::google::protobuf::MessageLite& from_msg) {
730 auto* const _this =
731 static_cast<MultipleDimensionsBinPackingItem*>(&to_msg);
732 auto& from = static_cast<const MultipleDimensionsBinPackingItem&>(from_msg);
733 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
734 from.CheckHasBitConsistency();
735 }
736 ::google::protobuf::Arena* arena = _this->GetArena();
737 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.packing.MultipleDimensionsBinPackingItem)
738 ABSL_DCHECK_NE(&from, _this);
739 ::uint32_t cached_has_bits = 0;
740 (void)cached_has_bits;
741
742 cached_has_bits = from._impl_._has_bits_[0];
743 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
744 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
745 _this->_internal_mutable_shapes()->InternalMergeFromWithArena(
746 ::google::protobuf::MessageLite::internal_visibility(), arena,
747 from._internal_shapes());
748 }
749 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
750 if (from._internal_value() != 0) {
751 _this->_impl_.value_ = from._impl_.value_;
752 }
753 }
754 }
755 _this->_impl_._has_bits_[0] |= cached_has_bits;
756 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
757 from._internal_metadata_);
758}
759
761 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.packing.MultipleDimensionsBinPackingItem)
762 if (&from == this) return;
763 Clear();
764 MergeFrom(from);
765}
766
767
768void MultipleDimensionsBinPackingItem::InternalSwap(MultipleDimensionsBinPackingItem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
769 using ::std::swap;
770 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
771 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
772 _impl_.shapes_.InternalSwap(&other->_impl_.shapes_);
773 swap(_impl_.value_, other->_impl_.value_);
774}
775
776::google::protobuf::Metadata MultipleDimensionsBinPackingItem::GetMetadata() const {
777 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
779// ===================================================================
780
782 public:
783 using HasBits =
784 decltype(::std::declval<MultipleDimensionsBinPackingProblem>()._impl_._has_bits_);
785 static constexpr ::int32_t kHasBitsOffset =
786 8 * PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_._has_bits_);
787};
789MultipleDimensionsBinPackingProblem::MultipleDimensionsBinPackingProblem(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
790#if defined(PROTOBUF_CUSTOM_VTABLE)
791 : ::google::protobuf::Message(arena, MultipleDimensionsBinPackingProblem_class_data_.base()) {
792#else // PROTOBUF_CUSTOM_VTABLE
793 : ::google::protobuf::Message(arena) {
794#endif // PROTOBUF_CUSTOM_VTABLE
795 SharedCtor(arena);
796 // @@protoc_insertion_point(arena_constructor:operations_research.packing.MultipleDimensionsBinPackingProblem)
797}
798PROTOBUF_NDEBUG_INLINE MultipleDimensionsBinPackingProblem::Impl_::Impl_(
799 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
800 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
801 [[maybe_unused]] const ::operations_research::packing::MultipleDimensionsBinPackingProblem& from_msg)
802 : _has_bits_{from._has_bits_},
803 _cached_size_{0},
804 items_{visibility, arena, from.items_} {}
805
807 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
809#if defined(PROTOBUF_CUSTOM_VTABLE)
810 : ::google::protobuf::Message(arena, MultipleDimensionsBinPackingProblem_class_data_.base()) {
811#else // PROTOBUF_CUSTOM_VTABLE
812 : ::google::protobuf::Message(arena) {
813#endif // PROTOBUF_CUSTOM_VTABLE
814 MultipleDimensionsBinPackingProblem* const _this = this;
815 (void)_this;
816 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
817 from._internal_metadata_);
818 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
819 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
820 _impl_.box_shape_ = (CheckHasBit(cached_has_bits, 0x00000002U))
821 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.box_shape_)
822 : nullptr;
823
824 // @@protoc_insertion_point(copy_constructor:operations_research.packing.MultipleDimensionsBinPackingProblem)
825}
826PROTOBUF_NDEBUG_INLINE MultipleDimensionsBinPackingProblem::Impl_::Impl_(
827 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
828 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
829 : _cached_size_{0},
830 items_{visibility, arena} {}
831
832inline void MultipleDimensionsBinPackingProblem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
833 new (&_impl_) Impl_(internal_visibility(), arena);
834 _impl_.box_shape_ = {};
835}
837 // @@protoc_insertion_point(destructor:operations_research.packing.MultipleDimensionsBinPackingProblem)
838 SharedDtor(*this);
840inline void MultipleDimensionsBinPackingProblem::SharedDtor(MessageLite& self) {
842 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
843 this_.CheckHasBitConsistency();
844 }
845 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
846 ABSL_DCHECK(this_.GetArena() == nullptr);
847 delete this_._impl_.box_shape_;
848 this_._impl_.~Impl_();
849}
850
851inline void* PROTOBUF_NONNULL MultipleDimensionsBinPackingProblem::PlacementNew_(
852 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
853 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
854 return ::new (mem) MultipleDimensionsBinPackingProblem(arena);
855}
856constexpr auto MultipleDimensionsBinPackingProblem::InternalNewImpl_() {
857 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
858 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_.items_) +
860 InternalGetArenaOffset(
861 ::google::protobuf::Message::internal_visibility()),
862 });
863 if (arena_bits.has_value()) {
864 return ::google::protobuf::internal::MessageCreator::ZeroInit(
865 sizeof(MultipleDimensionsBinPackingProblem), alignof(MultipleDimensionsBinPackingProblem), *arena_bits);
866 } else {
867 return ::google::protobuf::internal::MessageCreator(&MultipleDimensionsBinPackingProblem::PlacementNew_,
868 sizeof(MultipleDimensionsBinPackingProblem),
869 alignof(MultipleDimensionsBinPackingProblem));
870 }
871}
873 return ::google::protobuf::internal::ClassDataFull{
874 ::google::protobuf::internal::ClassData{
876 &_table_.header,
877 nullptr, // OnDemandRegisterArenaDtor
878 nullptr, // IsInitialized
879 &MultipleDimensionsBinPackingProblem::MergeImpl,
880 ::google::protobuf::Message::GetNewImpl<MultipleDimensionsBinPackingProblem>(),
881#if defined(PROTOBUF_CUSTOM_VTABLE)
882 &MultipleDimensionsBinPackingProblem::SharedDtor,
883 ::google::protobuf::Message::GetClearImpl<MultipleDimensionsBinPackingProblem>(), &MultipleDimensionsBinPackingProblem::ByteSizeLong,
885#endif // PROTOBUF_CUSTOM_VTABLE
886 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_._cached_size_),
887 false,
888 },
889 &MultipleDimensionsBinPackingProblem::kDescriptorMethods,
891 nullptr, // tracker
892 };
893}
894
895PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
896 ::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingProblem_class_data_ =
898
899PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
900MultipleDimensionsBinPackingProblem::GetClassData() const {
901 ::google::protobuf::internal::PrefetchToLocalCache(&MultipleDimensionsBinPackingProblem_class_data_);
902 ::google::protobuf::internal::PrefetchToLocalCache(MultipleDimensionsBinPackingProblem_class_data_.tc_table);
904}
905PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
906const ::_pbi::TcParseTable<1, 2, 2, 0, 2>
907MultipleDimensionsBinPackingProblem::_table_ = {
908 {
909 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_._has_bits_),
910 0, // no _extensions_
911 2, 8, // max_field_number, fast_idx_mask
912 offsetof(decltype(_table_), field_lookup_table),
913 4294967292, // skipmap
914 offsetof(decltype(_table_), field_entries),
915 2, // num_field_entries
916 2, // num_aux_entries
917 offsetof(decltype(_table_), aux_entries),
919 nullptr, // post_loop_handler
920 ::_pbi::TcParser::GenericFallback, // fallback
921 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
922 ::_pbi::TcParser::GetTable<::operations_research::packing::MultipleDimensionsBinPackingProblem>(), // to_prefetch
923 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
924 }, {{
925 // repeated .operations_research.packing.MultipleDimensionsBinPackingItem items = 2;
926 {::_pbi::TcParser::FastMtR1,
927 {18, 0, 1,
928 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_.items_)}},
929 // .operations_research.packing.MultipleDimensionsBinPackingShape box_shape = 1;
930 {::_pbi::TcParser::FastMtS1,
931 {10, 1, 0,
932 PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_.box_shape_)}},
933 }}, {{
934 65535, 65535
935 }}, {{
936 // .operations_research.packing.MultipleDimensionsBinPackingShape box_shape = 1;
937 {PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_.box_shape_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
938 // repeated .operations_research.packing.MultipleDimensionsBinPackingItem items = 2;
939 {PROTOBUF_FIELD_OFFSET(MultipleDimensionsBinPackingProblem, _impl_.items_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
940 }},
941 {{
942 {::_pbi::TcParser::GetTable<::operations_research::packing::MultipleDimensionsBinPackingShape>()},
943 {::_pbi::TcParser::GetTable<::operations_research::packing::MultipleDimensionsBinPackingItem>()},
944 }},
945 {{
946 }},
947};
948PROTOBUF_NOINLINE void MultipleDimensionsBinPackingProblem::Clear() {
949// @@protoc_insertion_point(message_clear_start:operations_research.packing.MultipleDimensionsBinPackingProblem)
950 ::google::protobuf::internal::TSanWrite(&_impl_);
951 ::uint32_t cached_has_bits = 0;
952 // Prevent compiler warnings about cached_has_bits being unused
953 (void) cached_has_bits;
954
955 cached_has_bits = _impl_._has_bits_[0];
956 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
957 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
958 _impl_.items_.Clear();
959 }
960 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
961 ABSL_DCHECK(_impl_.box_shape_ != nullptr);
962 _impl_.box_shape_->Clear();
963 }
964 }
965 _impl_._has_bits_.Clear();
966 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
967}
968
969#if defined(PROTOBUF_CUSTOM_VTABLE)
971 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
972 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
973 const MultipleDimensionsBinPackingProblem& this_ = static_cast<const MultipleDimensionsBinPackingProblem&>(base);
974#else // PROTOBUF_CUSTOM_VTABLE
976 ::uint8_t* PROTOBUF_NONNULL target,
977 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
979#endif // PROTOBUF_CUSTOM_VTABLE
980 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
981 this_.CheckHasBitConsistency();
982 }
983 // @@protoc_insertion_point(serialize_to_array_start:operations_research.packing.MultipleDimensionsBinPackingProblem)
984 ::uint32_t cached_has_bits = 0;
985 (void)cached_has_bits;
986
987 cached_has_bits = this_._impl_._has_bits_[0];
988 // .operations_research.packing.MultipleDimensionsBinPackingShape box_shape = 1;
989 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
990 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
991 1, *this_._impl_.box_shape_, this_._impl_.box_shape_->GetCachedSize(), target,
992 stream);
993 }
994
995 // repeated .operations_research.packing.MultipleDimensionsBinPackingItem items = 2;
996 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
997 for (unsigned i = 0, n = static_cast<unsigned>(
998 this_._internal_items_size());
999 i < n; i++) {
1000 const auto& repfield = this_._internal_items().Get(i);
1001 target =
1002 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1003 2, repfield, repfield.GetCachedSize(),
1004 target, stream);
1005 }
1006 }
1007
1008 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1009 target =
1010 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1011 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1012 }
1013 // @@protoc_insertion_point(serialize_to_array_end:operations_research.packing.MultipleDimensionsBinPackingProblem)
1014 return target;
1015}
1016
1017#if defined(PROTOBUF_CUSTOM_VTABLE)
1019 const MultipleDimensionsBinPackingProblem& this_ = static_cast<const MultipleDimensionsBinPackingProblem&>(base);
1020#else // PROTOBUF_CUSTOM_VTABLE
1022 const MultipleDimensionsBinPackingProblem& this_ = *this;
1023#endif // PROTOBUF_CUSTOM_VTABLE
1024 // @@protoc_insertion_point(message_byte_size_start:operations_research.packing.MultipleDimensionsBinPackingProblem)
1025 ::size_t total_size = 0;
1026
1027 ::uint32_t cached_has_bits = 0;
1028 // Prevent compiler warnings about cached_has_bits being unused
1029 (void)cached_has_bits;
1030
1031 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1032 cached_has_bits = this_._impl_._has_bits_[0];
1033 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1034 // repeated .operations_research.packing.MultipleDimensionsBinPackingItem items = 2;
1035 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1036 total_size += 1UL * this_._internal_items_size();
1037 for (const auto& msg : this_._internal_items()) {
1038 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1039 }
1040 }
1041 // .operations_research.packing.MultipleDimensionsBinPackingShape box_shape = 1;
1042 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1043 total_size += 1 +
1044 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.box_shape_);
1045 }
1046 }
1047 return this_.MaybeComputeUnknownFieldsSize(total_size,
1048 &this_._impl_._cached_size_);
1049}
1050
1051void MultipleDimensionsBinPackingProblem::MergeImpl(::google::protobuf::MessageLite& to_msg,
1052 const ::google::protobuf::MessageLite& from_msg) {
1053 auto* const _this =
1054 static_cast<MultipleDimensionsBinPackingProblem*>(&to_msg);
1055 auto& from = static_cast<const MultipleDimensionsBinPackingProblem&>(from_msg);
1056 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1057 from.CheckHasBitConsistency();
1058 }
1059 ::google::protobuf::Arena* arena = _this->GetArena();
1060 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.packing.MultipleDimensionsBinPackingProblem)
1061 ABSL_DCHECK_NE(&from, _this);
1062 ::uint32_t cached_has_bits = 0;
1063 (void)cached_has_bits;
1064
1065 cached_has_bits = from._impl_._has_bits_[0];
1066 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1067 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1068 _this->_internal_mutable_items()->InternalMergeFromWithArena(
1069 ::google::protobuf::MessageLite::internal_visibility(), arena,
1070 from._internal_items());
1071 }
1072 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1073 ABSL_DCHECK(from._impl_.box_shape_ != nullptr);
1074 if (_this->_impl_.box_shape_ == nullptr) {
1075 _this->_impl_.box_shape_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.box_shape_);
1076 } else {
1077 _this->_impl_.box_shape_->MergeFrom(*from._impl_.box_shape_);
1078 }
1079 }
1080 }
1081 _this->_impl_._has_bits_[0] |= cached_has_bits;
1082 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1083 from._internal_metadata_);
1084}
1085
1086void MultipleDimensionsBinPackingProblem::CopyFrom(const MultipleDimensionsBinPackingProblem& from) {
1087 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.packing.MultipleDimensionsBinPackingProblem)
1088 if (&from == this) return;
1090 MergeFrom(from);
1091}
1092
1093
1094void MultipleDimensionsBinPackingProblem::InternalSwap(MultipleDimensionsBinPackingProblem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1095 using ::std::swap;
1096 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1097 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1098 _impl_.items_.InternalSwap(&other->_impl_.items_);
1099 swap(_impl_.box_shape_, other->_impl_.box_shape_);
1100}
1101
1102::google::protobuf::Metadata MultipleDimensionsBinPackingProblem::GetMetadata() const {
1103 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1104}
1105// @@protoc_insertion_point(namespace_scope)
1106} // namespace packing
1107} // namespace operations_research
1108namespace google {
1109namespace protobuf {
1110} // namespace protobuf
1111} // namespace google
1112// @@protoc_insertion_point(global_scope)
1113PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
1114 _static_init2_ [[maybe_unused]] =
1116 ::std::false_type{});
1117#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
decltype(::std::declval< MultipleDimensionsBinPackingItem >()._impl_._has_bits_) HasBits
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(MultipleDimensionsBinPackingItem &a, MultipleDimensionsBinPackingItem &b)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
decltype(::std::declval< MultipleDimensionsBinPackingShape >()._impl_._has_bits_) HasBits
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(MultipleDimensionsBinPackingShape &a, MultipleDimensionsBinPackingShape &b)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fpacking_2fmultiple_5fdimensions_5fbin_5fpacking_2eproto
static constexprconst ::_pb::EnumDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_enum_descriptors_ortools_2fpacking_2fmultiple_5fdimensions_5fbin_5fpacking_2eproto
const ::uint32_t TableStruct_ortools_2fpacking_2fmultiple_5fdimensions_5fbin_5fpacking_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
::absl::once_flag descriptor_table_ortools_2fpacking_2fmultiple_5fdimensions_5fbin_5fpacking_2eproto_once
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fpacking_2fmultiple_5fdimensions_5fbin_5fpacking_2eproto
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingShape_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingProblem_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultipleDimensionsBinPackingItemDefaultTypeInternal _MultipleDimensionsBinPackingItem_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultipleDimensionsBinPackingShapeDefaultTypeInternal _MultipleDimensionsBinPackingShape_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingItem_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultipleDimensionsBinPackingProblemDefaultTypeInternal _MultipleDimensionsBinPackingProblem_default_instance_
OR-Tools root namespace.