Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
routing_heuristic_parameters.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/constraint_solver/routing_heuristic_parameters.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 {
28
29inline constexpr SavingsParameters::Impl_::Impl_(
30 ::_pbi::ConstantInitialized) noexcept
31 : _cached_size_{0},
32 neighbors_ratio_{0},
33 max_memory_usage_bytes_{0},
34 arc_coefficient_{0},
35 add_reverse_arcs_{false} {}
36
37template <typename>
38PROTOBUF_CONSTEXPR SavingsParameters::SavingsParameters(::_pbi::ConstantInitialized)
39#if defined(PROTOBUF_CUSTOM_VTABLE)
40 : ::google::protobuf::Message(SavingsParameters_class_data_.base()),
41#else // PROTOBUF_CUSTOM_VTABLE
42 : ::google::protobuf::Message(),
43#endif // PROTOBUF_CUSTOM_VTABLE
44 _impl_(::_pbi::ConstantInitialized()) {
45}
53
54PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
56
57inline constexpr LocalCheapestInsertionParameters::Impl_::Impl_(
58 ::_pbi::ConstantInitialized) noexcept
59 : _cached_size_{0},
60 insertion_sorting_properties_{},
61 _insertion_sorting_properties_cached_byte_size_{0},
62 pickup_delivery_strategy_{static_cast< ::operations_research::LocalCheapestInsertionParameters_PairInsertionStrategy >(0)} {}
63
64template <typename>
65PROTOBUF_CONSTEXPR LocalCheapestInsertionParameters::LocalCheapestInsertionParameters(::_pbi::ConstantInitialized)
66#if defined(PROTOBUF_CUSTOM_VTABLE)
67 : ::google::protobuf::Message(LocalCheapestInsertionParameters_class_data_.base()),
68#else // PROTOBUF_CUSTOM_VTABLE
69 : ::google::protobuf::Message(),
70#endif // PROTOBUF_CUSTOM_VTABLE
71 _impl_(::_pbi::ConstantInitialized()) {
72}
80
81PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
83
84inline constexpr GlobalCheapestInsertionParameters::Impl_::Impl_(
85 ::_pbi::ConstantInitialized) noexcept
86 : _cached_size_{0},
87 farthest_seeds_ratio_{0},
88 neighbors_ratio_{0},
89 min_neighbors_{0},
90 use_neighbors_ratio_for_initialization_{false},
91 add_unperformed_entries_{false} {}
92
93template <typename>
94PROTOBUF_CONSTEXPR GlobalCheapestInsertionParameters::GlobalCheapestInsertionParameters(::_pbi::ConstantInitialized)
95#if defined(PROTOBUF_CUSTOM_VTABLE)
96 : ::google::protobuf::Message(GlobalCheapestInsertionParameters_class_data_.base()),
97#else // PROTOBUF_CUSTOM_VTABLE
98 : ::google::protobuf::Message(),
99#endif // PROTOBUF_CUSTOM_VTABLE
100 _impl_(::_pbi::ConstantInitialized()) {
101}
109
110PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
112} // namespace operations_research
113static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
115static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
117const ::uint32_t
119 protodesc_cold) = {
120 0x081, // bitmap
121 PROTOBUF_FIELD_OFFSET(::operations_research::LocalCheapestInsertionParameters, _impl_._has_bits_),
122 5, // hasbit index offset
123 PROTOBUF_FIELD_OFFSET(::operations_research::LocalCheapestInsertionParameters, _impl_.pickup_delivery_strategy_),
124 PROTOBUF_FIELD_OFFSET(::operations_research::LocalCheapestInsertionParameters, _impl_.insertion_sorting_properties_),
125 1,
126 0,
127 0x081, // bitmap
128 PROTOBUF_FIELD_OFFSET(::operations_research::SavingsParameters, _impl_._has_bits_),
129 7, // hasbit index offset
130 PROTOBUF_FIELD_OFFSET(::operations_research::SavingsParameters, _impl_.neighbors_ratio_),
131 PROTOBUF_FIELD_OFFSET(::operations_research::SavingsParameters, _impl_.max_memory_usage_bytes_),
132 PROTOBUF_FIELD_OFFSET(::operations_research::SavingsParameters, _impl_.add_reverse_arcs_),
133 PROTOBUF_FIELD_OFFSET(::operations_research::SavingsParameters, _impl_.arc_coefficient_),
134 0,
135 1,
136 3,
137 2,
138 0x081, // bitmap
139 PROTOBUF_FIELD_OFFSET(::operations_research::GlobalCheapestInsertionParameters, _impl_._has_bits_),
140 8, // hasbit index offset
141 PROTOBUF_FIELD_OFFSET(::operations_research::GlobalCheapestInsertionParameters, _impl_.farthest_seeds_ratio_),
142 PROTOBUF_FIELD_OFFSET(::operations_research::GlobalCheapestInsertionParameters, _impl_.neighbors_ratio_),
143 PROTOBUF_FIELD_OFFSET(::operations_research::GlobalCheapestInsertionParameters, _impl_.min_neighbors_),
144 PROTOBUF_FIELD_OFFSET(::operations_research::GlobalCheapestInsertionParameters, _impl_.use_neighbors_ratio_for_initialization_),
145 PROTOBUF_FIELD_OFFSET(::operations_research::GlobalCheapestInsertionParameters, _impl_.add_unperformed_entries_),
146 0,
147 1,
148 2,
149 3,
150 4,
151};
152
153static const ::_pbi::MigrationSchema
154 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
158};
164const char descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
165 protodesc_cold) = {
166 "\n<ortools/constraint_solver/routing_heur"
167 "istic_parameters.proto\022\023operations_resea"
168 "rch\"\346\006\n LocalCheapestInsertionParameters"
169 "\022m\n\030pickup_delivery_strategy\030\001 \001(\0162K.ope"
170 "rations_research.LocalCheapestInsertionP"
171 "arameters.PairInsertionStrategy\022t\n\034inser"
172 "tion_sorting_properties\030\002 \003(\0162N.operatio"
173 "ns_research.LocalCheapestInsertionParame"
174 "ters.InsertionSortingProperty\"\222\001\n\025PairIn"
175 "sertionStrategy\022\r\n\tAUTOMATIC\020\000\022\"\n\036BEST_P"
176 "ICKUP_THEN_BEST_DELIVERY\020\001\022\035\n\031BEST_PICKU"
177 "P_DELIVERY_PAIR\020\002\022\'\n#BEST_PICKUP_DELIVER"
178 "Y_PAIR_MULTITOUR\020\003\"\307\003\n\030InsertionSortingP"
179 "roperty\022 \n\034SORTING_PROPERTY_UNSPECIFIED\020"
180 "\000\022%\n!SORTING_PROPERTY_ALLOWED_VEHICLES\020\001"
181 "\022\034\n\030SORTING_PROPERTY_PENALTY\020\002\0228\n4SORTIN"
182 "G_PROPERTY_PENALTY_OVER_ALLOWED_VEHICLES"
183 "_RATIO\020\003\022\?\n;SORTING_PROPERTY_HIGHEST_AVG"
184 "_ARC_COST_TO_VEHICLE_START_ENDS\020\004\022>\n:SOR"
185 "TING_PROPERTY_LOWEST_AVG_ARC_COST_TO_VEH"
186 "ICLE_START_ENDS\020\005\022>\n:SORTING_PROPERTY_LO"
187 "WEST_MIN_ARC_COST_TO_VEHICLE_START_ENDS\020"
188 "\006\022,\n(SORTING_PROPERTY_HIGHEST_DIMENSION_"
189 "USAGE\020\007\022\033\n\027SORTING_PROPERTY_RANDOM\020\010\"\177\n\021"
190 "SavingsParameters\022\027\n\017neighbors_ratio\030\001 \001"
191 "(\001\022\036\n\026max_memory_usage_bytes\030\002 \001(\001\022\030\n\020ad"
192 "d_reverse_arcs\030\003 \001(\010\022\027\n\017arc_coefficient\030"
193 "\004 \001(\001\"\302\001\n!GlobalCheapestInsertionParamet"
194 "ers\022\034\n\024farthest_seeds_ratio\030\001 \001(\001\022\027\n\017nei"
195 "ghbors_ratio\030\002 \001(\001\022\025\n\rmin_neighbors\030\003 \001("
196 "\005\022.\n&use_neighbors_ratio_for_initializat"
197 "ion\030\006 \001(\010\022\037\n\027add_unperformed_entries\030\007 \001"
198 "(\010BI\n#com.google.ortools.constraintsolve"
199 "rP\001\252\002\037Google.OrTools.ConstraintSolverb\006p"
200 "roto3"
201};
219namespace operations_research {
225 262144u, 0u, };
231 589824u, 0u, };
232// ===================================================================
233
234class LocalCheapestInsertionParameters::_Internal {
235 public:
236 using HasBits =
237 decltype(::std::declval<LocalCheapestInsertionParameters>()._impl_._has_bits_);
238 static constexpr ::int32_t kHasBitsOffset =
239 8 * PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_._has_bits_);
240};
241
242LocalCheapestInsertionParameters::LocalCheapestInsertionParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
243#if defined(PROTOBUF_CUSTOM_VTABLE)
244 : ::google::protobuf::Message(arena, LocalCheapestInsertionParameters_class_data_.base()) {
245#else // PROTOBUF_CUSTOM_VTABLE
246 : ::google::protobuf::Message(arena) {
247#endif // PROTOBUF_CUSTOM_VTABLE
248 SharedCtor(arena);
249 // @@protoc_insertion_point(arena_constructor:operations_research.LocalCheapestInsertionParameters)
250}
251PROTOBUF_NDEBUG_INLINE LocalCheapestInsertionParameters::Impl_::Impl_(
252 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
253 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
254 [[maybe_unused]] const ::operations_research::LocalCheapestInsertionParameters& from_msg)
255 : _has_bits_{from._has_bits_},
256 _cached_size_{0},
257 insertion_sorting_properties_{visibility, arena, from.insertion_sorting_properties_},
258 _insertion_sorting_properties_cached_byte_size_{0} {}
259
261 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
263#if defined(PROTOBUF_CUSTOM_VTABLE)
264 : ::google::protobuf::Message(arena, LocalCheapestInsertionParameters_class_data_.base()) {
265#else // PROTOBUF_CUSTOM_VTABLE
266 : ::google::protobuf::Message(arena) {
267#endif // PROTOBUF_CUSTOM_VTABLE
268 LocalCheapestInsertionParameters* const _this = this;
269 (void)_this;
270 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
271 from._internal_metadata_);
272 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
273 _impl_.pickup_delivery_strategy_ = from._impl_.pickup_delivery_strategy_;
274
275 // @@protoc_insertion_point(copy_constructor:operations_research.LocalCheapestInsertionParameters)
276}
277PROTOBUF_NDEBUG_INLINE LocalCheapestInsertionParameters::Impl_::Impl_(
278 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
279 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
280 : _cached_size_{0},
281 insertion_sorting_properties_{visibility, arena},
282 _insertion_sorting_properties_cached_byte_size_{0} {}
283
284inline void LocalCheapestInsertionParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
285 new (&_impl_) Impl_(internal_visibility(), arena);
286 _impl_.pickup_delivery_strategy_ = {};
287}
289 // @@protoc_insertion_point(destructor:operations_research.LocalCheapestInsertionParameters)
290 SharedDtor(*this);
291}
292inline void LocalCheapestInsertionParameters::SharedDtor(MessageLite& self) {
294 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
295 this_.CheckHasBitConsistency();
296 }
297 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
298 ABSL_DCHECK(this_.GetArena() == nullptr);
299 this_._impl_.~Impl_();
300}
301
302inline void* PROTOBUF_NONNULL LocalCheapestInsertionParameters::PlacementNew_(
303 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
304 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
305 return ::new (mem) LocalCheapestInsertionParameters(arena);
306}
307constexpr auto LocalCheapestInsertionParameters::InternalNewImpl_() {
308 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
309 PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_.insertion_sorting_properties_) +
310 decltype(LocalCheapestInsertionParameters::_impl_.insertion_sorting_properties_)::
311 InternalGetArenaOffset(
312 ::google::protobuf::Message::internal_visibility()),
313 });
314 if (arena_bits.has_value()) {
315 return ::google::protobuf::internal::MessageCreator::ZeroInit(
316 sizeof(LocalCheapestInsertionParameters), alignof(LocalCheapestInsertionParameters), *arena_bits);
317 } else {
318 return ::google::protobuf::internal::MessageCreator(&LocalCheapestInsertionParameters::PlacementNew_,
319 sizeof(LocalCheapestInsertionParameters),
320 alignof(LocalCheapestInsertionParameters));
321 }
322}
324 return ::google::protobuf::internal::ClassDataFull{
325 ::google::protobuf::internal::ClassData{
327 &_table_.header,
328 nullptr, // OnDemandRegisterArenaDtor
329 nullptr, // IsInitialized
330 &LocalCheapestInsertionParameters::MergeImpl,
331 ::google::protobuf::Message::GetNewImpl<LocalCheapestInsertionParameters>(),
332#if defined(PROTOBUF_CUSTOM_VTABLE)
333 &LocalCheapestInsertionParameters::SharedDtor,
334 ::google::protobuf::Message::GetClearImpl<LocalCheapestInsertionParameters>(), &LocalCheapestInsertionParameters::ByteSizeLong,
336#endif // PROTOBUF_CUSTOM_VTABLE
337 PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_._cached_size_),
338 false,
339 },
340 &LocalCheapestInsertionParameters::kDescriptorMethods,
342 nullptr, // tracker
343 };
344}
345
346PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
347 ::google::protobuf::internal::ClassDataFull LocalCheapestInsertionParameters_class_data_ =
349
350PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
351LocalCheapestInsertionParameters::GetClassData() const {
352 ::google::protobuf::internal::PrefetchToLocalCache(&LocalCheapestInsertionParameters_class_data_);
353 ::google::protobuf::internal::PrefetchToLocalCache(LocalCheapestInsertionParameters_class_data_.tc_table);
355}
356PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
357const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
358LocalCheapestInsertionParameters::_table_ = {
359 {
360 PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_._has_bits_),
361 0, // no _extensions_
362 2, 8, // max_field_number, fast_idx_mask
363 offsetof(decltype(_table_), field_lookup_table),
364 4294967292, // skipmap
365 offsetof(decltype(_table_), field_entries),
366 2, // num_field_entries
367 0, // num_aux_entries
368 offsetof(decltype(_table_), field_names), // no aux_entries
370 nullptr, // post_loop_handler
371 ::_pbi::TcParser::GenericFallback, // fallback
372 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
373 ::_pbi::TcParser::GetTable<::operations_research::LocalCheapestInsertionParameters>(), // to_prefetch
374 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
375 }, {{
376 // repeated .operations_research.LocalCheapestInsertionParameters.InsertionSortingProperty insertion_sorting_properties = 2;
377 {::_pbi::TcParser::FastV32P1,
378 {18, 0, 0,
379 PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_.insertion_sorting_properties_)}},
380 // .operations_research.LocalCheapestInsertionParameters.PairInsertionStrategy pickup_delivery_strategy = 1;
381 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(LocalCheapestInsertionParameters, _impl_.pickup_delivery_strategy_), 1>(),
382 {8, 1, 0,
383 PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_.pickup_delivery_strategy_)}},
384 }}, {{
385 65535, 65535
386 }}, {{
387 // .operations_research.LocalCheapestInsertionParameters.PairInsertionStrategy pickup_delivery_strategy = 1;
388 {PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_.pickup_delivery_strategy_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
389 // repeated .operations_research.LocalCheapestInsertionParameters.InsertionSortingProperty insertion_sorting_properties = 2;
390 {PROTOBUF_FIELD_OFFSET(LocalCheapestInsertionParameters, _impl_.insertion_sorting_properties_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
391 }},
392 // no aux_entries
393 {{
394 }},
395};
396PROTOBUF_NOINLINE void LocalCheapestInsertionParameters::Clear() {
397// @@protoc_insertion_point(message_clear_start:operations_research.LocalCheapestInsertionParameters)
398 ::google::protobuf::internal::TSanWrite(&_impl_);
399 ::uint32_t cached_has_bits = 0;
400 // Prevent compiler warnings about cached_has_bits being unused
401 (void) cached_has_bits;
402
403 cached_has_bits = _impl_._has_bits_[0];
404 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
405 _impl_.insertion_sorting_properties_.Clear();
406 }
407 _impl_.pickup_delivery_strategy_ = 0;
408 _impl_._has_bits_.Clear();
409 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
410}
411
412#if defined(PROTOBUF_CUSTOM_VTABLE)
414 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
415 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
416 const LocalCheapestInsertionParameters& this_ = static_cast<const LocalCheapestInsertionParameters&>(base);
417#else // PROTOBUF_CUSTOM_VTABLE
419 ::uint8_t* PROTOBUF_NONNULL target,
420 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
421 const LocalCheapestInsertionParameters& this_ = *this;
422#endif // PROTOBUF_CUSTOM_VTABLE
423 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
424 this_.CheckHasBitConsistency();
425 }
426 // @@protoc_insertion_point(serialize_to_array_start:operations_research.LocalCheapestInsertionParameters)
427 ::uint32_t cached_has_bits = 0;
428 (void)cached_has_bits;
429
430 cached_has_bits = this_._impl_._has_bits_[0];
431 // .operations_research.LocalCheapestInsertionParameters.PairInsertionStrategy pickup_delivery_strategy = 1;
432 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
433 if (this_._internal_pickup_delivery_strategy() != 0) {
434 target = stream->EnsureSpace(target);
435 target = ::_pbi::WireFormatLite::WriteEnumToArray(
436 1, this_._internal_pickup_delivery_strategy(), target);
437 }
438 }
439
440 // repeated .operations_research.LocalCheapestInsertionParameters.InsertionSortingProperty insertion_sorting_properties = 2;
441 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
442 {
443 ::size_t byte_size = this_._impl_._insertion_sorting_properties_cached_byte_size_.Get();
444 if (byte_size > 0) {
445 target = stream->WriteEnumPacked(
446 2, this_._internal_insertion_sorting_properties(), byte_size, target);
447 }
448 }
449 }
450
451 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
452 target =
453 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
454 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
455 }
456 // @@protoc_insertion_point(serialize_to_array_end:operations_research.LocalCheapestInsertionParameters)
457 return target;
458}
459
460#if defined(PROTOBUF_CUSTOM_VTABLE)
463#else // PROTOBUF_CUSTOM_VTABLE
466#endif // PROTOBUF_CUSTOM_VTABLE
467 // @@protoc_insertion_point(message_byte_size_start:operations_research.LocalCheapestInsertionParameters)
468 ::size_t total_size = 0;
469
470 ::uint32_t cached_has_bits = 0;
471 // Prevent compiler warnings about cached_has_bits being unused
472 (void)cached_has_bits;
473
474 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
475 cached_has_bits = this_._impl_._has_bits_[0];
476 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
477 // repeated .operations_research.LocalCheapestInsertionParameters.InsertionSortingProperty insertion_sorting_properties = 2;
478 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
479 total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
480 this_._internal_insertion_sorting_properties(), 1, this_._impl_._insertion_sorting_properties_cached_byte_size_);
481 }
482 // .operations_research.LocalCheapestInsertionParameters.PairInsertionStrategy pickup_delivery_strategy = 1;
483 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
484 if (this_._internal_pickup_delivery_strategy() != 0) {
485 total_size += 1 +
486 ::_pbi::WireFormatLite::EnumSize(this_._internal_pickup_delivery_strategy());
487 }
488 }
489 }
490 return this_.MaybeComputeUnknownFieldsSize(total_size,
491 &this_._impl_._cached_size_);
492}
493
494void LocalCheapestInsertionParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
495 const ::google::protobuf::MessageLite& from_msg) {
496 auto* const _this =
497 static_cast<LocalCheapestInsertionParameters*>(&to_msg);
498 auto& from = static_cast<const LocalCheapestInsertionParameters&>(from_msg);
499 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
500 from.CheckHasBitConsistency();
501 }
502 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.LocalCheapestInsertionParameters)
503 ABSL_DCHECK_NE(&from, _this);
504 ::uint32_t cached_has_bits = 0;
505 (void)cached_has_bits;
506
507 cached_has_bits = from._impl_._has_bits_[0];
508 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
509 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
510 _this->_internal_mutable_insertion_sorting_properties()->MergeFrom(from._internal_insertion_sorting_properties());
511 }
512 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
513 if (from._internal_pickup_delivery_strategy() != 0) {
514 _this->_impl_.pickup_delivery_strategy_ = from._impl_.pickup_delivery_strategy_;
515 }
516 }
517 }
518 _this->_impl_._has_bits_[0] |= cached_has_bits;
519 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
520 from._internal_metadata_);
521}
522
524 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.LocalCheapestInsertionParameters)
525 if (&from == this) return;
526 Clear();
527 MergeFrom(from);
528}
529
530
531void LocalCheapestInsertionParameters::InternalSwap(LocalCheapestInsertionParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
532 using ::std::swap;
533 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
534 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
535 _impl_.insertion_sorting_properties_.InternalSwap(&other->_impl_.insertion_sorting_properties_);
536 swap(_impl_.pickup_delivery_strategy_, other->_impl_.pickup_delivery_strategy_);
537}
538
539::google::protobuf::Metadata LocalCheapestInsertionParameters::GetMetadata() const {
540 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
541}
542// ===================================================================
543
545 public:
546 using HasBits =
547 decltype(::std::declval<SavingsParameters>()._impl_._has_bits_);
548 static constexpr ::int32_t kHasBitsOffset =
549 8 * PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_._has_bits_);
551
552SavingsParameters::SavingsParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
553#if defined(PROTOBUF_CUSTOM_VTABLE)
554 : ::google::protobuf::Message(arena, SavingsParameters_class_data_.base()) {
555#else // PROTOBUF_CUSTOM_VTABLE
556 : ::google::protobuf::Message(arena) {
557#endif // PROTOBUF_CUSTOM_VTABLE
558 SharedCtor(arena);
559 // @@protoc_insertion_point(arena_constructor:operations_research.SavingsParameters)
560}
562 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SavingsParameters& from)
563#if defined(PROTOBUF_CUSTOM_VTABLE)
564 : ::google::protobuf::Message(arena, SavingsParameters_class_data_.base()),
565#else // PROTOBUF_CUSTOM_VTABLE
566 : ::google::protobuf::Message(arena),
567#endif // PROTOBUF_CUSTOM_VTABLE
568 _impl_(from._impl_) {
569 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
570 from._internal_metadata_);
571}
572PROTOBUF_NDEBUG_INLINE SavingsParameters::Impl_::Impl_(
573 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
574 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
575 : _cached_size_{0} {}
576
577inline void SavingsParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
578 new (&_impl_) Impl_(internal_visibility(), arena);
579 ::memset(reinterpret_cast<char*>(&_impl_) +
580 offsetof(Impl_, neighbors_ratio_),
581 0,
582 offsetof(Impl_, add_reverse_arcs_) -
583 offsetof(Impl_, neighbors_ratio_) +
584 sizeof(Impl_::add_reverse_arcs_));
585}
587 // @@protoc_insertion_point(destructor:operations_research.SavingsParameters)
588 SharedDtor(*this);
589}
590inline void SavingsParameters::SharedDtor(MessageLite& self) {
591 SavingsParameters& this_ = static_cast<SavingsParameters&>(self);
592 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
593 this_.CheckHasBitConsistency();
594 }
595 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
596 ABSL_DCHECK(this_.GetArena() == nullptr);
597 this_._impl_.~Impl_();
598}
599
600inline void* PROTOBUF_NONNULL SavingsParameters::PlacementNew_(
601 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
602 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
603 return ::new (mem) SavingsParameters(arena);
604}
605constexpr auto SavingsParameters::InternalNewImpl_() {
606 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SavingsParameters),
607 alignof(SavingsParameters));
608}
610 return ::google::protobuf::internal::ClassDataFull{
611 ::google::protobuf::internal::ClassData{
613 &_table_.header,
614 nullptr, // OnDemandRegisterArenaDtor
615 nullptr, // IsInitialized
616 &SavingsParameters::MergeImpl,
617 ::google::protobuf::Message::GetNewImpl<SavingsParameters>(),
618#if defined(PROTOBUF_CUSTOM_VTABLE)
619 &SavingsParameters::SharedDtor,
620 ::google::protobuf::Message::GetClearImpl<SavingsParameters>(), &SavingsParameters::ByteSizeLong,
622#endif // PROTOBUF_CUSTOM_VTABLE
623 PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_._cached_size_),
624 false,
625 },
626 &SavingsParameters::kDescriptorMethods,
628 nullptr, // tracker
629 };
630}
631
632PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
633 ::google::protobuf::internal::ClassDataFull SavingsParameters_class_data_ =
636PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
637SavingsParameters::GetClassData() const {
638 ::google::protobuf::internal::PrefetchToLocalCache(&SavingsParameters_class_data_);
639 ::google::protobuf::internal::PrefetchToLocalCache(SavingsParameters_class_data_.tc_table);
640 return SavingsParameters_class_data_.base();
641}
642PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
643const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
644SavingsParameters::_table_ = {
645 {
646 PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_._has_bits_),
647 0, // no _extensions_
648 4, 24, // max_field_number, fast_idx_mask
649 offsetof(decltype(_table_), field_lookup_table),
650 4294967280, // skipmap
651 offsetof(decltype(_table_), field_entries),
652 4, // num_field_entries
653 0, // num_aux_entries
654 offsetof(decltype(_table_), field_names), // no aux_entries
656 nullptr, // post_loop_handler
657 ::_pbi::TcParser::GenericFallback, // fallback
658 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
659 ::_pbi::TcParser::GetTable<::operations_research::SavingsParameters>(), // to_prefetch
660 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
661 }, {{
662 // double arc_coefficient = 4;
663 {::_pbi::TcParser::FastF64S1,
664 {33, 2, 0,
665 PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.arc_coefficient_)}},
666 // double neighbors_ratio = 1;
667 {::_pbi::TcParser::FastF64S1,
668 {9, 0, 0,
669 PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.neighbors_ratio_)}},
670 // double max_memory_usage_bytes = 2;
671 {::_pbi::TcParser::FastF64S1,
672 {17, 1, 0,
673 PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.max_memory_usage_bytes_)}},
674 // bool add_reverse_arcs = 3;
675 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SavingsParameters, _impl_.add_reverse_arcs_), 3>(),
676 {24, 3, 0,
677 PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.add_reverse_arcs_)}},
678 }}, {{
679 65535, 65535
680 }}, {{
681 // double neighbors_ratio = 1;
682 {PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.neighbors_ratio_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
683 // double max_memory_usage_bytes = 2;
684 {PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.max_memory_usage_bytes_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
685 // bool add_reverse_arcs = 3;
686 {PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.add_reverse_arcs_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
687 // double arc_coefficient = 4;
688 {PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.arc_coefficient_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
689 }},
690 // no aux_entries
691 {{
692 }},
693};
694PROTOBUF_NOINLINE void SavingsParameters::Clear() {
695// @@protoc_insertion_point(message_clear_start:operations_research.SavingsParameters)
696 ::google::protobuf::internal::TSanWrite(&_impl_);
697 ::uint32_t cached_has_bits = 0;
698 // Prevent compiler warnings about cached_has_bits being unused
699 (void) cached_has_bits;
700
701 cached_has_bits = _impl_._has_bits_[0];
702 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
703 ::memset(&_impl_.neighbors_ratio_, 0, static_cast<::size_t>(
704 reinterpret_cast<char*>(&_impl_.add_reverse_arcs_) -
705 reinterpret_cast<char*>(&_impl_.neighbors_ratio_)) + sizeof(_impl_.add_reverse_arcs_));
706 }
707 _impl_._has_bits_.Clear();
708 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
709}
710
711#if defined(PROTOBUF_CUSTOM_VTABLE)
712::uint8_t* PROTOBUF_NONNULL SavingsParameters::_InternalSerialize(
713 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
714 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
715 const SavingsParameters& this_ = static_cast<const SavingsParameters&>(base);
716#else // PROTOBUF_CUSTOM_VTABLE
717::uint8_t* PROTOBUF_NONNULL SavingsParameters::_InternalSerialize(
718 ::uint8_t* PROTOBUF_NONNULL target,
719 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
720 const SavingsParameters& this_ = *this;
721#endif // PROTOBUF_CUSTOM_VTABLE
722 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
723 this_.CheckHasBitConsistency();
724 }
725 // @@protoc_insertion_point(serialize_to_array_start:operations_research.SavingsParameters)
726 ::uint32_t cached_has_bits = 0;
727 (void)cached_has_bits;
728
729 cached_has_bits = this_._impl_._has_bits_[0];
730 // double neighbors_ratio = 1;
731 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
732 if (::absl::bit_cast<::uint64_t>(this_._internal_neighbors_ratio()) != 0) {
733 target = stream->EnsureSpace(target);
734 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
735 1, this_._internal_neighbors_ratio(), target);
736 }
737 }
738
739 // double max_memory_usage_bytes = 2;
740 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
741 if (::absl::bit_cast<::uint64_t>(this_._internal_max_memory_usage_bytes()) != 0) {
742 target = stream->EnsureSpace(target);
743 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
744 2, this_._internal_max_memory_usage_bytes(), target);
745 }
746 }
747
748 // bool add_reverse_arcs = 3;
749 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
750 if (this_._internal_add_reverse_arcs() != 0) {
751 target = stream->EnsureSpace(target);
752 target = ::_pbi::WireFormatLite::WriteBoolToArray(
753 3, this_._internal_add_reverse_arcs(), target);
754 }
755 }
756
757 // double arc_coefficient = 4;
758 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
759 if (::absl::bit_cast<::uint64_t>(this_._internal_arc_coefficient()) != 0) {
760 target = stream->EnsureSpace(target);
761 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
762 4, this_._internal_arc_coefficient(), target);
763 }
764 }
765
766 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
767 target =
768 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
769 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
770 }
771 // @@protoc_insertion_point(serialize_to_array_end:operations_research.SavingsParameters)
772 return target;
773}
774
775#if defined(PROTOBUF_CUSTOM_VTABLE)
777 const SavingsParameters& this_ = static_cast<const SavingsParameters&>(base);
778#else // PROTOBUF_CUSTOM_VTABLE
779::size_t SavingsParameters::ByteSizeLong() const {
780 const SavingsParameters& this_ = *this;
781#endif // PROTOBUF_CUSTOM_VTABLE
782 // @@protoc_insertion_point(message_byte_size_start:operations_research.SavingsParameters)
783 ::size_t total_size = 0;
784
785 ::uint32_t cached_has_bits = 0;
786 // Prevent compiler warnings about cached_has_bits being unused
787 (void)cached_has_bits;
788
789 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
790 cached_has_bits = this_._impl_._has_bits_[0];
791 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
792 // double neighbors_ratio = 1;
793 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
794 if (::absl::bit_cast<::uint64_t>(this_._internal_neighbors_ratio()) != 0) {
795 total_size += 9;
796 }
797 }
798 // double max_memory_usage_bytes = 2;
799 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
800 if (::absl::bit_cast<::uint64_t>(this_._internal_max_memory_usage_bytes()) != 0) {
801 total_size += 9;
802 }
803 }
804 // double arc_coefficient = 4;
805 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
806 if (::absl::bit_cast<::uint64_t>(this_._internal_arc_coefficient()) != 0) {
807 total_size += 9;
808 }
809 }
810 // bool add_reverse_arcs = 3;
811 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
812 if (this_._internal_add_reverse_arcs() != 0) {
813 total_size += 2;
814 }
815 }
816 }
817 return this_.MaybeComputeUnknownFieldsSize(total_size,
818 &this_._impl_._cached_size_);
819}
820
821void SavingsParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
822 const ::google::protobuf::MessageLite& from_msg) {
823 auto* const _this =
824 static_cast<SavingsParameters*>(&to_msg);
825 auto& from = static_cast<const SavingsParameters&>(from_msg);
826 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
827 from.CheckHasBitConsistency();
828 }
829 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SavingsParameters)
830 ABSL_DCHECK_NE(&from, _this);
831 ::uint32_t cached_has_bits = 0;
832 (void)cached_has_bits;
833
834 cached_has_bits = from._impl_._has_bits_[0];
835 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
836 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
837 if (::absl::bit_cast<::uint64_t>(from._internal_neighbors_ratio()) != 0) {
838 _this->_impl_.neighbors_ratio_ = from._impl_.neighbors_ratio_;
839 }
840 }
841 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
842 if (::absl::bit_cast<::uint64_t>(from._internal_max_memory_usage_bytes()) != 0) {
843 _this->_impl_.max_memory_usage_bytes_ = from._impl_.max_memory_usage_bytes_;
844 }
845 }
846 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
847 if (::absl::bit_cast<::uint64_t>(from._internal_arc_coefficient()) != 0) {
848 _this->_impl_.arc_coefficient_ = from._impl_.arc_coefficient_;
849 }
850 }
851 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
852 if (from._internal_add_reverse_arcs() != 0) {
853 _this->_impl_.add_reverse_arcs_ = from._impl_.add_reverse_arcs_;
854 }
855 }
856 }
857 _this->_impl_._has_bits_[0] |= cached_has_bits;
858 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
859 from._internal_metadata_);
860}
861
863 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SavingsParameters)
864 if (&from == this) return;
865 Clear();
866 MergeFrom(from);
867}
868
869
870void SavingsParameters::InternalSwap(SavingsParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
871 using ::std::swap;
872 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
873 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
874 ::google::protobuf::internal::memswap<
875 PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.add_reverse_arcs_)
876 + sizeof(SavingsParameters::_impl_.add_reverse_arcs_)
877 - PROTOBUF_FIELD_OFFSET(SavingsParameters, _impl_.neighbors_ratio_)>(
878 reinterpret_cast<char*>(&_impl_.neighbors_ratio_),
879 reinterpret_cast<char*>(&other->_impl_.neighbors_ratio_));
880}
881
882::google::protobuf::Metadata SavingsParameters::GetMetadata() const {
883 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
885// ===================================================================
886
888 public:
889 using HasBits =
890 decltype(::std::declval<GlobalCheapestInsertionParameters>()._impl_._has_bits_);
891 static constexpr ::int32_t kHasBitsOffset =
892 8 * PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_._has_bits_);
893};
895GlobalCheapestInsertionParameters::GlobalCheapestInsertionParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
896#if defined(PROTOBUF_CUSTOM_VTABLE)
897 : ::google::protobuf::Message(arena, GlobalCheapestInsertionParameters_class_data_.base()) {
898#else // PROTOBUF_CUSTOM_VTABLE
899 : ::google::protobuf::Message(arena) {
900#endif // PROTOBUF_CUSTOM_VTABLE
901 SharedCtor(arena);
902 // @@protoc_insertion_point(arena_constructor:operations_research.GlobalCheapestInsertionParameters)
903}
905 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GlobalCheapestInsertionParameters& from)
906#if defined(PROTOBUF_CUSTOM_VTABLE)
907 : ::google::protobuf::Message(arena, GlobalCheapestInsertionParameters_class_data_.base()),
908#else // PROTOBUF_CUSTOM_VTABLE
909 : ::google::protobuf::Message(arena),
910#endif // PROTOBUF_CUSTOM_VTABLE
911 _impl_(from._impl_) {
912 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
913 from._internal_metadata_);
914}
915PROTOBUF_NDEBUG_INLINE GlobalCheapestInsertionParameters::Impl_::Impl_(
916 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
917 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
918 : _cached_size_{0} {}
919
920inline void GlobalCheapestInsertionParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
921 new (&_impl_) Impl_(internal_visibility(), arena);
922 ::memset(reinterpret_cast<char*>(&_impl_) +
923 offsetof(Impl_, farthest_seeds_ratio_),
924 0,
925 offsetof(Impl_, add_unperformed_entries_) -
926 offsetof(Impl_, farthest_seeds_ratio_) +
927 sizeof(Impl_::add_unperformed_entries_));
928}
930 // @@protoc_insertion_point(destructor:operations_research.GlobalCheapestInsertionParameters)
931 SharedDtor(*this);
933inline void GlobalCheapestInsertionParameters::SharedDtor(MessageLite& self) {
935 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
936 this_.CheckHasBitConsistency();
937 }
938 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
939 ABSL_DCHECK(this_.GetArena() == nullptr);
940 this_._impl_.~Impl_();
941}
942
943inline void* PROTOBUF_NONNULL GlobalCheapestInsertionParameters::PlacementNew_(
944 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
945 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
946 return ::new (mem) GlobalCheapestInsertionParameters(arena);
947}
948constexpr auto GlobalCheapestInsertionParameters::InternalNewImpl_() {
949 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(GlobalCheapestInsertionParameters),
950 alignof(GlobalCheapestInsertionParameters));
951}
953 return ::google::protobuf::internal::ClassDataFull{
954 ::google::protobuf::internal::ClassData{
956 &_table_.header,
957 nullptr, // OnDemandRegisterArenaDtor
958 nullptr, // IsInitialized
959 &GlobalCheapestInsertionParameters::MergeImpl,
960 ::google::protobuf::Message::GetNewImpl<GlobalCheapestInsertionParameters>(),
961#if defined(PROTOBUF_CUSTOM_VTABLE)
962 &GlobalCheapestInsertionParameters::SharedDtor,
963 ::google::protobuf::Message::GetClearImpl<GlobalCheapestInsertionParameters>(), &GlobalCheapestInsertionParameters::ByteSizeLong,
965#endif // PROTOBUF_CUSTOM_VTABLE
966 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_._cached_size_),
967 false,
968 },
969 &GlobalCheapestInsertionParameters::kDescriptorMethods,
971 nullptr, // tracker
972 };
973}
974
975PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
976 ::google::protobuf::internal::ClassDataFull GlobalCheapestInsertionParameters_class_data_ =
978
979PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
980GlobalCheapestInsertionParameters::GetClassData() const {
981 ::google::protobuf::internal::PrefetchToLocalCache(&GlobalCheapestInsertionParameters_class_data_);
982 ::google::protobuf::internal::PrefetchToLocalCache(GlobalCheapestInsertionParameters_class_data_.tc_table);
984}
985PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
986const ::_pbi::TcParseTable<3, 5, 0, 0, 2>
987GlobalCheapestInsertionParameters::_table_ = {
988 {
989 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_._has_bits_),
990 0, // no _extensions_
991 7, 56, // max_field_number, fast_idx_mask
992 offsetof(decltype(_table_), field_lookup_table),
993 4294967192, // skipmap
994 offsetof(decltype(_table_), field_entries),
995 5, // num_field_entries
996 0, // num_aux_entries
997 offsetof(decltype(_table_), field_names), // no aux_entries
999 nullptr, // post_loop_handler
1000 ::_pbi::TcParser::GenericFallback, // fallback
1001 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1002 ::_pbi::TcParser::GetTable<::operations_research::GlobalCheapestInsertionParameters>(), // to_prefetch
1003 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1004 }, {{
1005 {::_pbi::TcParser::MiniParse, {}},
1006 // double farthest_seeds_ratio = 1;
1007 {::_pbi::TcParser::FastF64S1,
1008 {9, 0, 0,
1009 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.farthest_seeds_ratio_)}},
1010 // double neighbors_ratio = 2;
1011 {::_pbi::TcParser::FastF64S1,
1012 {17, 1, 0,
1013 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.neighbors_ratio_)}},
1014 // int32 min_neighbors = 3;
1015 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GlobalCheapestInsertionParameters, _impl_.min_neighbors_), 2>(),
1016 {24, 2, 0,
1017 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.min_neighbors_)}},
1018 {::_pbi::TcParser::MiniParse, {}},
1019 {::_pbi::TcParser::MiniParse, {}},
1020 // bool use_neighbors_ratio_for_initialization = 6;
1021 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GlobalCheapestInsertionParameters, _impl_.use_neighbors_ratio_for_initialization_), 3>(),
1022 {48, 3, 0,
1023 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.use_neighbors_ratio_for_initialization_)}},
1024 // bool add_unperformed_entries = 7;
1025 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GlobalCheapestInsertionParameters, _impl_.add_unperformed_entries_), 4>(),
1026 {56, 4, 0,
1027 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.add_unperformed_entries_)}},
1028 }}, {{
1029 65535, 65535
1030 }}, {{
1031 // double farthest_seeds_ratio = 1;
1032 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.farthest_seeds_ratio_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1033 // double neighbors_ratio = 2;
1034 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.neighbors_ratio_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1035 // int32 min_neighbors = 3;
1036 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.min_neighbors_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1037 // bool use_neighbors_ratio_for_initialization = 6;
1038 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.use_neighbors_ratio_for_initialization_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1039 // bool add_unperformed_entries = 7;
1040 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.add_unperformed_entries_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1041 }},
1042 // no aux_entries
1043 {{
1044 }},
1045};
1046PROTOBUF_NOINLINE void GlobalCheapestInsertionParameters::Clear() {
1047// @@protoc_insertion_point(message_clear_start:operations_research.GlobalCheapestInsertionParameters)
1048 ::google::protobuf::internal::TSanWrite(&_impl_);
1049 ::uint32_t cached_has_bits = 0;
1050 // Prevent compiler warnings about cached_has_bits being unused
1051 (void) cached_has_bits;
1052
1053 cached_has_bits = _impl_._has_bits_[0];
1054 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
1055 ::memset(&_impl_.farthest_seeds_ratio_, 0, static_cast<::size_t>(
1056 reinterpret_cast<char*>(&_impl_.add_unperformed_entries_) -
1057 reinterpret_cast<char*>(&_impl_.farthest_seeds_ratio_)) + sizeof(_impl_.add_unperformed_entries_));
1058 }
1059 _impl_._has_bits_.Clear();
1060 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1061}
1062
1063#if defined(PROTOBUF_CUSTOM_VTABLE)
1065 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1066 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1067 const GlobalCheapestInsertionParameters& this_ = static_cast<const GlobalCheapestInsertionParameters&>(base);
1068#else // PROTOBUF_CUSTOM_VTABLE
1070 ::uint8_t* PROTOBUF_NONNULL target,
1071 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1073#endif // PROTOBUF_CUSTOM_VTABLE
1074 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1075 this_.CheckHasBitConsistency();
1076 }
1077 // @@protoc_insertion_point(serialize_to_array_start:operations_research.GlobalCheapestInsertionParameters)
1078 ::uint32_t cached_has_bits = 0;
1079 (void)cached_has_bits;
1080
1081 cached_has_bits = this_._impl_._has_bits_[0];
1082 // double farthest_seeds_ratio = 1;
1083 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1084 if (::absl::bit_cast<::uint64_t>(this_._internal_farthest_seeds_ratio()) != 0) {
1085 target = stream->EnsureSpace(target);
1086 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1087 1, this_._internal_farthest_seeds_ratio(), target);
1088 }
1089 }
1090
1091 // double neighbors_ratio = 2;
1092 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1093 if (::absl::bit_cast<::uint64_t>(this_._internal_neighbors_ratio()) != 0) {
1094 target = stream->EnsureSpace(target);
1095 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1096 2, this_._internal_neighbors_ratio(), target);
1097 }
1098 }
1099
1100 // int32 min_neighbors = 3;
1101 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1102 if (this_._internal_min_neighbors() != 0) {
1103 target =
1104 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
1105 stream, this_._internal_min_neighbors(), target);
1106 }
1107 }
1108
1109 // bool use_neighbors_ratio_for_initialization = 6;
1110 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1111 if (this_._internal_use_neighbors_ratio_for_initialization() != 0) {
1112 target = stream->EnsureSpace(target);
1113 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1114 6, this_._internal_use_neighbors_ratio_for_initialization(), target);
1115 }
1116 }
1117
1118 // bool add_unperformed_entries = 7;
1119 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1120 if (this_._internal_add_unperformed_entries() != 0) {
1121 target = stream->EnsureSpace(target);
1122 target = ::_pbi::WireFormatLite::WriteBoolToArray(
1123 7, this_._internal_add_unperformed_entries(), target);
1124 }
1125 }
1126
1127 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1128 target =
1129 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1130 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1131 }
1132 // @@protoc_insertion_point(serialize_to_array_end:operations_research.GlobalCheapestInsertionParameters)
1133 return target;
1134}
1135
1136#if defined(PROTOBUF_CUSTOM_VTABLE)
1138 const GlobalCheapestInsertionParameters& this_ = static_cast<const GlobalCheapestInsertionParameters&>(base);
1139#else // PROTOBUF_CUSTOM_VTABLE
1141 const GlobalCheapestInsertionParameters& this_ = *this;
1142#endif // PROTOBUF_CUSTOM_VTABLE
1143 // @@protoc_insertion_point(message_byte_size_start:operations_research.GlobalCheapestInsertionParameters)
1144 ::size_t total_size = 0;
1145
1146 ::uint32_t cached_has_bits = 0;
1147 // Prevent compiler warnings about cached_has_bits being unused
1148 (void)cached_has_bits;
1149
1150 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1151 cached_has_bits = this_._impl_._has_bits_[0];
1152 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
1153 // double farthest_seeds_ratio = 1;
1154 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1155 if (::absl::bit_cast<::uint64_t>(this_._internal_farthest_seeds_ratio()) != 0) {
1156 total_size += 9;
1157 }
1158 }
1159 // double neighbors_ratio = 2;
1160 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1161 if (::absl::bit_cast<::uint64_t>(this_._internal_neighbors_ratio()) != 0) {
1162 total_size += 9;
1163 }
1164 }
1165 // int32 min_neighbors = 3;
1166 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1167 if (this_._internal_min_neighbors() != 0) {
1168 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1169 this_._internal_min_neighbors());
1170 }
1171 }
1172 // bool use_neighbors_ratio_for_initialization = 6;
1173 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1174 if (this_._internal_use_neighbors_ratio_for_initialization() != 0) {
1175 total_size += 2;
1176 }
1177 }
1178 // bool add_unperformed_entries = 7;
1179 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1180 if (this_._internal_add_unperformed_entries() != 0) {
1181 total_size += 2;
1182 }
1183 }
1184 }
1185 return this_.MaybeComputeUnknownFieldsSize(total_size,
1186 &this_._impl_._cached_size_);
1187}
1188
1189void GlobalCheapestInsertionParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
1190 const ::google::protobuf::MessageLite& from_msg) {
1191 auto* const _this =
1192 static_cast<GlobalCheapestInsertionParameters*>(&to_msg);
1193 auto& from = static_cast<const GlobalCheapestInsertionParameters&>(from_msg);
1194 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1195 from.CheckHasBitConsistency();
1196 }
1197 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.GlobalCheapestInsertionParameters)
1198 ABSL_DCHECK_NE(&from, _this);
1199 ::uint32_t cached_has_bits = 0;
1200 (void)cached_has_bits;
1201
1202 cached_has_bits = from._impl_._has_bits_[0];
1203 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
1204 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1205 if (::absl::bit_cast<::uint64_t>(from._internal_farthest_seeds_ratio()) != 0) {
1206 _this->_impl_.farthest_seeds_ratio_ = from._impl_.farthest_seeds_ratio_;
1207 }
1208 }
1209 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1210 if (::absl::bit_cast<::uint64_t>(from._internal_neighbors_ratio()) != 0) {
1211 _this->_impl_.neighbors_ratio_ = from._impl_.neighbors_ratio_;
1212 }
1213 }
1214 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1215 if (from._internal_min_neighbors() != 0) {
1216 _this->_impl_.min_neighbors_ = from._impl_.min_neighbors_;
1217 }
1218 }
1219 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1220 if (from._internal_use_neighbors_ratio_for_initialization() != 0) {
1221 _this->_impl_.use_neighbors_ratio_for_initialization_ = from._impl_.use_neighbors_ratio_for_initialization_;
1222 }
1223 }
1224 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1225 if (from._internal_add_unperformed_entries() != 0) {
1226 _this->_impl_.add_unperformed_entries_ = from._impl_.add_unperformed_entries_;
1227 }
1228 }
1229 }
1230 _this->_impl_._has_bits_[0] |= cached_has_bits;
1231 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1232 from._internal_metadata_);
1233}
1234
1235void GlobalCheapestInsertionParameters::CopyFrom(const GlobalCheapestInsertionParameters& from) {
1236 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.GlobalCheapestInsertionParameters)
1237 if (&from == this) return;
1239 MergeFrom(from);
1240}
1241
1242
1243void GlobalCheapestInsertionParameters::InternalSwap(GlobalCheapestInsertionParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1244 using ::std::swap;
1245 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1246 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1247 ::google::protobuf::internal::memswap<
1248 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.add_unperformed_entries_)
1249 + sizeof(GlobalCheapestInsertionParameters::_impl_.add_unperformed_entries_)
1250 - PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters, _impl_.farthest_seeds_ratio_)>(
1251 reinterpret_cast<char*>(&_impl_.farthest_seeds_ratio_),
1252 reinterpret_cast<char*>(&other->_impl_.farthest_seeds_ratio_));
1253}
1254
1255::google::protobuf::Metadata GlobalCheapestInsertionParameters::GetMetadata() const {
1256 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1257}
1258// @@protoc_insertion_point(namespace_scope)
1259} // namespace operations_research
1260namespace google {
1261namespace protobuf {
1262} // namespace protobuf
1263} // namespace google
1264// @@protoc_insertion_point(global_scope)
1265PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
1266 _static_init2_ [[maybe_unused]] =
1268 ::std::false_type{});
1269#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[]
void CopyFrom(const GlobalCheapestInsertionParameters &from)
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
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
decltype(::std::declval< LocalCheapestInsertionParameters >()._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
void CopyFrom(const LocalCheapestInsertionParameters &from)
void MergeFrom(const LocalCheapestInsertionParameters &from)
friend void swap(LocalCheapestInsertionParameters &a, LocalCheapestInsertionParameters &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
decltype(::std::declval< SavingsParameters >()._impl_._has_bits_) HasBits
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(SavingsParameters &a, SavingsParameters &b)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
OR-Tools root namespace.
PROTOBUF_CONSTINIT const uint32_t LocalCheapestInsertionParameters_InsertionSortingProperty_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SavingsParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LocalCheapestInsertionParameters_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlobalCheapestInsertionParametersDefaultTypeInternal _GlobalCheapestInsertionParameters_default_instance_
PROTOBUF_CONSTINIT const uint32_t LocalCheapestInsertionParameters_PairInsertionStrategy_internal_data_[]
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL LocalCheapestInsertionParameters_PairInsertionStrategy_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull GlobalCheapestInsertionParameters_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SavingsParametersDefaultTypeInternal _SavingsParameters_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL LocalCheapestInsertionParameters_InsertionSortingProperty_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LocalCheapestInsertionParametersDefaultTypeInternal _LocalCheapestInsertionParameters_default_instance_
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto
const ::uint32_t TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto[2]
::absl::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto_once