10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
26namespace _fl = ::google::protobuf::internal::field_layout;
29inline constexpr SavingsParameters::Impl_::Impl_(
30 ::_pbi::ConstantInitialized) noexcept
33 max_memory_usage_bytes_{0},
35 add_reverse_arcs_{
false} {}
39#if defined(PROTOBUF_CUSTOM_VTABLE)
42 : ::google::protobuf::Message(),
44 _impl_(::_pbi::ConstantInitialized()) {
54PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
57inline constexpr LocalCheapestInsertionParameters::Impl_::Impl_(
58 ::_pbi::ConstantInitialized) noexcept
60 insertion_sorting_properties_{},
61 _insertion_sorting_properties_cached_byte_size_{0},
66#if defined(PROTOBUF_CUSTOM_VTABLE)
69 : ::google::protobuf::Message(),
71 _impl_(::_pbi::ConstantInitialized()) {
81PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
84inline constexpr GlobalCheapestInsertionParameters::Impl_::Impl_(
85 ::_pbi::ConstantInitialized) noexcept
87 farthest_seeds_ratio_{0},
90 use_neighbors_ratio_for_initialization_{
false},
91 add_unperformed_entries_{
false} {}
95#if defined(PROTOBUF_CUSTOM_VTABLE)
98 : ::google::protobuf::Message(),
100 _impl_(::_pbi::ConstantInitialized()) {
110PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
113static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
115static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
153static const ::_pbi::MigrationSchema
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"
207 descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto,
208 "ortools/constraint_solver/routing_heuristic_parameters.proto",
234class LocalCheapestInsertionParameters::_Internal {
237 decltype(::std::declval<LocalCheapestInsertionParameters>()._impl_._has_bits_);
243#if defined(PROTOBUF_CUSTOM_VTABLE)
246 : ::google::protobuf::Message(arena) {
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_},
257 insertion_sorting_properties_{visibility, arena, from.insertion_sorting_properties_},
258 _insertion_sorting_properties_cached_byte_size_{0} {}
261 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
263#if defined(PROTOBUF_CUSTOM_VTABLE)
266 : ::google::protobuf::Message(arena) {
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_;
277PROTOBUF_NDEBUG_INLINE LocalCheapestInsertionParameters::Impl_::Impl_(
278 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
279 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
281 insertion_sorting_properties_{visibility, arena},
282 _insertion_sorting_properties_cached_byte_size_{0} {}
284inline void LocalCheapestInsertionParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
285 new (&
_impl_) Impl_(internal_visibility(), arena);
286 _impl_.pickup_delivery_strategy_ = {};
292inline void LocalCheapestInsertionParameters::SharedDtor(
MessageLite& self) {
294 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
295 this_.CheckHasBitConsistency();
297 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
298 ABSL_DCHECK(this_.GetArena() ==
nullptr);
302inline void* PROTOBUF_NONNULL LocalCheapestInsertionParameters::PlacementNew_(
303 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
304 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
307constexpr auto LocalCheapestInsertionParameters::InternalNewImpl_() {
308 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
311 InternalGetArenaOffset(
312 ::google::protobuf::Message::internal_visibility()),
314 if (arena_bits.has_value()) {
315 return ::google::protobuf::internal::MessageCreator::ZeroInit(
316 sizeof(LocalCheapestInsertionParameters), alignof(LocalCheapestInsertionParameters), *arena_bits);
318 return ::google::protobuf::internal::MessageCreator(&LocalCheapestInsertionParameters::PlacementNew_,
319 sizeof(LocalCheapestInsertionParameters),
320 alignof(LocalCheapestInsertionParameters));
324 return ::google::protobuf::internal::ClassDataFull{
325 ::google::protobuf::internal::ClassData{
330 &LocalCheapestInsertionParameters::MergeImpl,
331 ::google::protobuf::Message::GetNewImpl<LocalCheapestInsertionParameters>(),
332#if defined(PROTOBUF_CUSTOM_VTABLE)
333 &LocalCheapestInsertionParameters::SharedDtor,
340 &LocalCheapestInsertionParameters::kDescriptorMethods,
346PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
350PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
351LocalCheapestInsertionParameters::GetClassData()
const {
356PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
357const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
358LocalCheapestInsertionParameters::_table_ = {
363 offsetof(
decltype(_table_), field_lookup_table),
365 offsetof(
decltype(_table_), field_entries),
368 offsetof(
decltype(_table_), field_names),
371 ::_pbi::TcParser::GenericFallback,
372 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
373 ::_pbi::TcParser::GetTable<::operations_research::LocalCheapestInsertionParameters>(),
377 {::_pbi::TcParser::FastV32P1,
398 ::google::protobuf::internal::TSanWrite(&
_impl_);
399 ::uint32_t cached_has_bits = 0;
401 (void) cached_has_bits;
403 cached_has_bits =
_impl_._has_bits_[0];
404 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
405 _impl_.insertion_sorting_properties_.Clear();
407 _impl_.pickup_delivery_strategy_ = 0;
408 _impl_._has_bits_.Clear();
409 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
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) {
419 ::uint8_t* PROTOBUF_NONNULL target,
420 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
423 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
424 this_.CheckHasBitConsistency();
427 ::uint32_t cached_has_bits = 0;
428 (void)cached_has_bits;
430 cached_has_bits = this_.
_impl_._has_bits_[0];
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);
441 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
443 ::size_t byte_size = this_.
_impl_._insertion_sorting_properties_cached_byte_size_.Get();
445 target = stream->WriteEnumPacked(
446 2, this_._internal_insertion_sorting_properties(), byte_size, target);
451 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
453 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
454 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
460#if defined(PROTOBUF_CUSTOM_VTABLE)
468 ::size_t total_size = 0;
470 ::uint32_t cached_has_bits = 0;
472 (void)cached_has_bits;
474 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
475 cached_has_bits = this_.
_impl_._has_bits_[0];
476 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
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_);
483 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
484 if (this_._internal_pickup_delivery_strategy() != 0) {
486 ::_pbi::WireFormatLite::EnumSize(this_._internal_pickup_delivery_strategy());
490 return this_.MaybeComputeUnknownFieldsSize(total_size,
491 &this_.
_impl_._cached_size_);
494void LocalCheapestInsertionParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
495 const ::google::protobuf::MessageLite& from_msg) {
499 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
500 from.CheckHasBitConsistency();
503 ABSL_DCHECK_NE(&from, _this);
504 ::uint32_t cached_has_bits = 0;
505 (void)cached_has_bits;
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());
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_;
518 _this->_impl_._has_bits_[0] |= cached_has_bits;
519 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
520 from._internal_metadata_);
525 if (&from ==
this)
return;
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_);
540 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
547 decltype(::std::declval<SavingsParameters>()._impl_._has_bits_);
553#if defined(PROTOBUF_CUSTOM_VTABLE)
556 : ::google::protobuf::Message(arena) {
562 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const SavingsParameters& from)
563#if defined(PROTOBUF_CUSTOM_VTABLE)
566 : ::google::protobuf::Message(arena),
569 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
570 from._internal_metadata_);
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} {}
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_),
582 offsetof(Impl_, add_reverse_arcs_) -
583 offsetof(Impl_, neighbors_ratio_) +
584 sizeof(Impl_::add_reverse_arcs_));
590inline void SavingsParameters::SharedDtor(
MessageLite& self) {
592 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
593 this_.CheckHasBitConsistency();
595 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
596 ABSL_DCHECK(this_.GetArena() ==
nullptr);
600inline void* PROTOBUF_NONNULL SavingsParameters::PlacementNew_(
601 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
602 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
605constexpr auto SavingsParameters::InternalNewImpl_() {
606 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(
SavingsParameters),
610 return ::google::protobuf::internal::ClassDataFull{
611 ::google::protobuf::internal::ClassData{
616 &SavingsParameters::MergeImpl,
617 ::google::protobuf::Message::GetNewImpl<SavingsParameters>(),
618#if defined(PROTOBUF_CUSTOM_VTABLE)
619 &SavingsParameters::SharedDtor,
626 &SavingsParameters::kDescriptorMethods,
632PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
636PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
637SavingsParameters::GetClassData()
const {
642PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
643const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
644SavingsParameters::_table_ = {
649 offsetof(
decltype(_table_), field_lookup_table),
651 offsetof(
decltype(_table_), field_entries),
654 offsetof(
decltype(_table_), field_names),
657 ::_pbi::TcParser::GenericFallback,
658 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
659 ::_pbi::TcParser::GetTable<::operations_research::SavingsParameters>(),
663 {::_pbi::TcParser::FastF64S1,
667 {::_pbi::TcParser::FastF64S1,
671 {::_pbi::TcParser::FastF64S1,
696 ::google::protobuf::internal::TSanWrite(&
_impl_);
697 ::uint32_t cached_has_bits = 0;
699 (void) cached_has_bits;
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_));
707 _impl_._has_bits_.Clear();
708 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
711#if defined(PROTOBUF_CUSTOM_VTABLE)
713 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
714 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
718 ::uint8_t* PROTOBUF_NONNULL target,
719 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
722 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
723 this_.CheckHasBitConsistency();
726 ::uint32_t cached_has_bits = 0;
727 (void)cached_has_bits;
729 cached_has_bits = this_.
_impl_._has_bits_[0];
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);
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);
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);
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);
766 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
768 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
769 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
775#if defined(PROTOBUF_CUSTOM_VTABLE)
783 ::size_t total_size = 0;
785 ::uint32_t cached_has_bits = 0;
787 (void)cached_has_bits;
789 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
790 cached_has_bits = this_.
_impl_._has_bits_[0];
791 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
793 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
794 if (::absl::bit_cast<::uint64_t>(this_._internal_neighbors_ratio()) != 0) {
799 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
800 if (::absl::bit_cast<::uint64_t>(this_._internal_max_memory_usage_bytes()) != 0) {
805 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
806 if (::absl::bit_cast<::uint64_t>(this_._internal_arc_coefficient()) != 0) {
811 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
812 if (this_._internal_add_reverse_arcs() != 0) {
817 return this_.MaybeComputeUnknownFieldsSize(total_size,
818 &this_.
_impl_._cached_size_);
821void SavingsParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
822 const ::google::protobuf::MessageLite& from_msg) {
826 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
827 from.CheckHasBitConsistency();
830 ABSL_DCHECK_NE(&from, _this);
831 ::uint32_t cached_has_bits = 0;
832 (void)cached_has_bits;
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_;
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_;
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_;
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_;
857 _this->_impl_._has_bits_[0] |= cached_has_bits;
858 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
859 from._internal_metadata_);
864 if (&from ==
this)
return;
870void SavingsParameters::InternalSwap(
SavingsParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
872 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
873 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
874 ::google::protobuf::internal::memswap<
878 reinterpret_cast<char*
>(&
_impl_.neighbors_ratio_),
879 reinterpret_cast<char*
>(&other->_impl_.neighbors_ratio_));
883 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
890 decltype(::std::declval<GlobalCheapestInsertionParameters>()._impl_._has_bits_);
896#if defined(PROTOBUF_CUSTOM_VTABLE)
899 : ::google::protobuf::Message(arena) {
906#if defined(PROTOBUF_CUSTOM_VTABLE)
909 : ::google::protobuf::Message(arena),
912 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
913 from._internal_metadata_);
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} {}
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_),
925 offsetof(Impl_, add_unperformed_entries_) -
926 offsetof(Impl_, farthest_seeds_ratio_) +
927 sizeof(Impl_::add_unperformed_entries_));
933inline void GlobalCheapestInsertionParameters::SharedDtor(
MessageLite& self) {
935 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
936 this_.CheckHasBitConsistency();
938 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
939 ABSL_DCHECK(this_.GetArena() ==
nullptr);
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);
948constexpr auto GlobalCheapestInsertionParameters::InternalNewImpl_() {
949 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(GlobalCheapestInsertionParameters),
950 alignof(GlobalCheapestInsertionParameters));
953 return ::google::protobuf::internal::ClassDataFull{
954 ::google::protobuf::internal::ClassData{
959 &GlobalCheapestInsertionParameters::MergeImpl,
960 ::google::protobuf::Message::GetNewImpl<GlobalCheapestInsertionParameters>(),
961#if defined(PROTOBUF_CUSTOM_VTABLE)
962 &GlobalCheapestInsertionParameters::SharedDtor,
969 &GlobalCheapestInsertionParameters::kDescriptorMethods,
975PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
979PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
980GlobalCheapestInsertionParameters::GetClassData()
const {
985PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
986const ::_pbi::TcParseTable<3, 5, 0, 0, 2>
987GlobalCheapestInsertionParameters::_table_ = {
989 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_._has_bits_),
992 offsetof(
decltype(_table_), field_lookup_table),
994 offsetof(
decltype(_table_), field_entries),
997 offsetof(
decltype(_table_), field_names),
1000 ::_pbi::TcParser::GenericFallback,
1001 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1002 ::_pbi::TcParser::GetTable<::operations_research::GlobalCheapestInsertionParameters>(),
1005 {::_pbi::TcParser::MiniParse, {}},
1007 {::_pbi::TcParser::FastF64S1,
1009 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.farthest_seeds_ratio_)}},
1011 {::_pbi::TcParser::FastF64S1,
1013 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.neighbors_ratio_)}},
1015 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GlobalCheapestInsertionParameters,
_impl_.min_neighbors_), 2>(),
1017 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.min_neighbors_)}},
1018 {::_pbi::TcParser::MiniParse, {}},
1019 {::_pbi::TcParser::MiniParse, {}},
1021 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GlobalCheapestInsertionParameters,
_impl_.use_neighbors_ratio_for_initialization_), 3>(),
1023 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.use_neighbors_ratio_for_initialization_)}},
1025 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GlobalCheapestInsertionParameters,
_impl_.add_unperformed_entries_), 4>(),
1027 PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.add_unperformed_entries_)}},
1032 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.farthest_seeds_ratio_),
_Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1034 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.neighbors_ratio_),
_Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1036 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.min_neighbors_),
_Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
1038 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.use_neighbors_ratio_for_initialization_),
_Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1040 {PROTOBUF_FIELD_OFFSET(GlobalCheapestInsertionParameters,
_impl_.add_unperformed_entries_),
_Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
1048 ::google::protobuf::internal::TSanWrite(&
_impl_);
1049 ::uint32_t cached_has_bits = 0;
1051 (void) cached_has_bits;
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_));
1059 _impl_._has_bits_.Clear();
1060 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
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);
1070 ::uint8_t* PROTOBUF_NONNULL target,
1071 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1074 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1075 this_.CheckHasBitConsistency();
1078 ::uint32_t cached_has_bits = 0;
1079 (void)cached_has_bits;
1081 cached_has_bits = this_.
_impl_._has_bits_[0];
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);
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);
1101 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1102 if (this_._internal_min_neighbors() != 0) {
1104 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
1105 stream, this_._internal_min_neighbors(), target);
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);
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);
1127 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1129 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1130 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1136#if defined(PROTOBUF_CUSTOM_VTABLE)
1138 const GlobalCheapestInsertionParameters& this_ =
static_cast<const GlobalCheapestInsertionParameters&
>(base);
1141 const GlobalCheapestInsertionParameters& this_ = *
this;
1144 ::size_t total_size = 0;
1146 ::uint32_t cached_has_bits = 0;
1148 (void)cached_has_bits;
1150 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1151 cached_has_bits = this_._impl_._has_bits_[0];
1152 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
1154 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1155 if (::absl::bit_cast<::uint64_t>(this_._internal_farthest_seeds_ratio()) != 0) {
1160 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1161 if (::absl::bit_cast<::uint64_t>(this_._internal_neighbors_ratio()) != 0) {
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());
1173 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1174 if (this_._internal_use_neighbors_ratio_for_initialization() != 0) {
1179 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1180 if (this_._internal_add_unperformed_entries() != 0) {
1185 return this_.MaybeComputeUnknownFieldsSize(total_size,
1186 &this_._impl_._cached_size_);
1189void GlobalCheapestInsertionParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
1190 const ::google::protobuf::MessageLite& from_msg) {
1192 static_cast<GlobalCheapestInsertionParameters*
>(&to_msg);
1193 auto& from =
static_cast<const GlobalCheapestInsertionParameters&
>(from_msg);
1194 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1195 from.CheckHasBitConsistency();
1198 ABSL_DCHECK_NE(&from, _this);
1199 ::uint32_t cached_has_bits = 0;
1200 (void)cached_has_bits;
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_;
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_;
1214 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1215 if (from._internal_min_neighbors() != 0) {
1216 _this->_impl_.min_neighbors_ = from.
_impl_.min_neighbors_;
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_;
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_;
1230 _this->_impl_._has_bits_[0] |= cached_has_bits;
1231 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1232 from._internal_metadata_);
1237 if (&from ==
this)
return;
1245 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1246 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1247 ::google::protobuf::internal::memswap<
1251 reinterpret_cast<char*
>(&
_impl_.farthest_seeds_ratio_),
1252 reinterpret_cast<char*
>(&other->_impl_.farthest_seeds_ratio_));
1256 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1265PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
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[]
static constexpr ::int32_t kHasBitsOffset
::size_t ByteSizeLong() const final
void CopyFrom(const GlobalCheapestInsertionParameters &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::Metadata GetMetadata() const
static constexpr auto InternalGenerateClassData_()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
GlobalCheapestInsertionParameters()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
~GlobalCheapestInsertionParameters() PROTOBUF_FINAL
decltype(::std::declval< LocalCheapestInsertionParameters >()._impl_._has_bits_) HasBits
static constexpr ::int32_t kHasBitsOffset
friend class ::google::protobuf::MessageLite
::size_t ByteSizeLong() const final
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
static constexpr auto InternalGenerateClassData_()
void CopyFrom(const LocalCheapestInsertionParameters &from)
LocalCheapestInsertionParameters()
~LocalCheapestInsertionParameters() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const LocalCheapestInsertionParameters &from)
friend void swap(LocalCheapestInsertionParameters &a, LocalCheapestInsertionParameters &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr ::int32_t kHasBitsOffset
decltype(::std::declval< SavingsParameters >()._impl_._has_bits_) HasBits
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::MessageLite
void CopyFrom(const SavingsParameters &from)
::size_t ByteSizeLong() const final
static constexpr auto InternalGenerateClassData_()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(SavingsParameters &a, SavingsParameters &b)
~SavingsParameters() PROTOBUF_FINAL
void MergeFrom(const SavingsParameters &from)
::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
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_
LocalCheapestInsertionParameters_PairInsertionStrategy
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
GlobalCheapestInsertionParameters _instance
PROTOBUF_CONSTEXPR GlobalCheapestInsertionParametersDefaultTypeInternal()
~GlobalCheapestInsertionParametersDefaultTypeInternal()
~LocalCheapestInsertionParametersDefaultTypeInternal()
LocalCheapestInsertionParameters _instance
PROTOBUF_CONSTEXPR LocalCheapestInsertionParametersDefaultTypeInternal()
PROTOBUF_CONSTEXPR SavingsParametersDefaultTypeInternal()
~SavingsParametersDefaultTypeInternal()
SavingsParameters _instance