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 SpatiallyCloseRoutesRuinStrategy::Impl_::Impl_(
30 ::_pbi::ConstantInitialized) noexcept
32 num_ruined_routes_{0u} {}
36#if defined(PROTOBUF_CUSTOM_VTABLE)
39 : ::google::protobuf::Message(),
41 _impl_(::_pbi::ConstantInitialized()) {
51PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
54inline constexpr SimulatedAnnealingAcceptanceStrategy::Impl_::Impl_(
55 ::_pbi::ConstantInitialized) noexcept
57 initial_temperature_{0},
59 automatic_temperatures_{
false},
60 final_temperature_{0} {}
64#if defined(PROTOBUF_CUSTOM_VTABLE)
67 : ::google::protobuf::Message(),
69 _impl_(::_pbi::ConstantInitialized()) {
79PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
82inline constexpr SISRRuinStrategy::Impl_::Impl_(
83 ::_pbi::ConstantInitialized) noexcept
85 max_removed_sequence_size_{0u},
86 avg_num_removed_visits_{0u},
91#if defined(PROTOBUF_CUSTOM_VTABLE)
94 : ::google::protobuf::Message(),
96 _impl_(::_pbi::ConstantInitialized()) {
106PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
110#if defined(PROTOBUF_CUSTOM_VTABLE)
113 : ::google::protobuf::internal::ZeroFieldsBase() {
124PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
127inline constexpr RandomWalkRuinStrategy::Impl_::Impl_(
128 ::_pbi::ConstantInitialized) noexcept
130 num_removed_visits_{0u} {}
134#if defined(PROTOBUF_CUSTOM_VTABLE)
137 : ::google::protobuf::Message(),
139 _impl_(::_pbi::ConstantInitialized()) {
149PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
153#if defined(PROTOBUF_CUSTOM_VTABLE)
156 : ::google::protobuf::internal::ZeroFieldsBase() {
167PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
171#if defined(PROTOBUF_CUSTOM_VTABLE)
174 : ::google::protobuf::internal::ZeroFieldsBase() {
185PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
189#if defined(PROTOBUF_CUSTOM_VTABLE)
192 : ::google::protobuf::internal::ZeroFieldsBase() {
203PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
207#if defined(PROTOBUF_CUSTOM_VTABLE)
210 : ::google::protobuf::internal::ZeroFieldsBase() {
221PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
225#if defined(PROTOBUF_CUSTOM_VTABLE)
228 : ::google::protobuf::internal::ZeroFieldsBase() {
239PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
242inline constexpr AbsencesBasedAcceptanceStrategy::Impl_::Impl_(
243 ::_pbi::ConstantInitialized) noexcept
245 remove_route_with_lowest_absences_{
false} {}
249#if defined(PROTOBUF_CUSTOM_VTABLE)
252 : ::google::protobuf::Message(),
254 _impl_(::_pbi::ConstantInitialized()) {
264PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
267inline constexpr RuinStrategy::Impl_::Impl_(
268 ::_pbi::ConstantInitialized) noexcept
275#if defined(PROTOBUF_CUSTOM_VTABLE)
278 : ::google::protobuf::Message(),
280 _impl_(::_pbi::ConstantInitialized()) {
290PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
293inline constexpr RecreateParameters::Impl_::Impl_(
294 ::_pbi::ConstantInitialized) noexcept
301#if defined(PROTOBUF_CUSTOM_VTABLE)
304 : ::google::protobuf::Message(),
306 _impl_(::_pbi::ConstantInitialized()) {
316PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
319inline constexpr AcceptanceStrategy::Impl_::Impl_(
320 ::_pbi::ConstantInitialized) noexcept
327#if defined(PROTOBUF_CUSTOM_VTABLE)
330 : ::google::protobuf::Message(),
332 _impl_(::_pbi::ConstantInitialized()) {
342PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
345inline constexpr RecreateStrategy::Impl_::Impl_(
346 ::_pbi::ConstantInitialized) noexcept
348 parameters_{
nullptr},
353#if defined(PROTOBUF_CUSTOM_VTABLE)
356 : ::google::protobuf::Message(),
358 _impl_(::_pbi::ConstantInitialized()) {
368PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
371inline constexpr RuinRecreateParameters::Impl_::Impl_(
372 ::_pbi::ConstantInitialized) noexcept
375 recreate_strategy_{
nullptr},
377 route_selection_min_neighbors_{0u},
378 route_selection_neighbors_ratio_{0},
379 route_selection_max_neighbors_{0u} {}
383#if defined(PROTOBUF_CUSTOM_VTABLE)
386 : ::google::protobuf::Message(),
388 _impl_(::_pbi::ConstantInitialized()) {
398PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
401inline constexpr IteratedLocalSearchParameters::Impl_::Impl_(
402 ::_pbi::ConstantInitialized) noexcept
404 ruin_recreate_parameters_{
nullptr},
405 reference_solution_acceptance_strategy_{
nullptr},
406 best_solution_acceptance_strategy_{
nullptr},
408 improve_perturbed_solution_{
false} {}
412#if defined(PROTOBUF_CUSTOM_VTABLE)
415 : ::google::protobuf::Message(),
417 _impl_(::_pbi::ConstantInitialized()) {
427PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
430static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
432static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
535static const ::_pbi::MigrationSchema
576 "\n+ortools/constraint_solver/routing_ils."
577 "proto\022\023operations_research\032-ortools/cons"
578 "traint_solver/routing_enums.proto\032<ortoo"
579 "ls/constraint_solver/routing_heuristic_p"
580 "arameters.proto\"X\n SpatiallyCloseRoutesR"
581 "uinStrategy\022\036\n\021num_ruined_routes\030\003 \001(\rH\000"
582 "\210\001\001B\024\n\022_num_ruined_routes\"P\n\026RandomWalkR"
583 "uinStrategy\022\037\n\022num_removed_visits\030\007 \001(\rH"
584 "\000\210\001\001B\025\n\023_num_removed_visits\"\306\001\n\020SISRRuin"
585 "Strategy\022&\n\031max_removed_sequence_size\030\001 "
586 "\001(\rH\000\210\001\001\022#\n\026avg_num_removed_visits\030\002 \001(\r"
587 "H\001\210\001\001\022\032\n\rbypass_factor\030\003 \001(\001H\002\210\001\001B\034\n\032_ma"
588 "x_removed_sequence_sizeB\031\n\027_avg_num_remo"
589 "ved_visitsB\020\n\016_bypass_factor\"\356\001\n\014RuinStr"
590 "ategy\022W\n\026spatially_close_routes\030\001 \001(\01325."
591 "operations_research.SpatiallyCloseRoutes"
592 "RuinStrategyH\000\022B\n\013random_walk\030\002 \001(\0132+.op"
593 "erations_research.RandomWalkRuinStrategy"
594 "H\000\0225\n\004sisr\030\003 \001(\0132%.operations_research.S"
595 "ISRRuinStrategyH\000B\n\n\010strategy\"\225\002\n\022Recrea"
596 "teParameters\022Y\n\030local_cheapest_insertion"
597 "\030\001 \001(\01325.operations_research.LocalCheape"
598 "stInsertionParametersH\000\0229\n\007savings\030\002 \001(\013"
599 "2&.operations_research.SavingsParameters"
600 "H\000\022[\n\031global_cheapest_insertion\030\003 \001(\01326."
601 "operations_research.GlobalCheapestInsert"
602 "ionParametersH\000B\014\n\nparameters\"\273\001\n\020Recrea"
603 "teStrategy\022H\n\theuristic\030\001 \001(\01620.operatio"
604 "ns_research.FirstSolutionStrategy.ValueH"
605 "\000\210\001\001\022@\n\nparameters\030\002 \001(\0132\'.operations_re"
606 "search.RecreateParametersH\001\210\001\001B\014\n\n_heuri"
607 "sticB\r\n\013_parameters\"s\n\027RuinCompositionSt"
608 "rategy\"X\n\005Value\022\t\n\005UNSET\020\000\022\030\n\024RUN_ALL_SE"
609 "QUENTIALLY\020\001\022\024\n\020RUN_ALL_RANDOMLY\020\002\022\024\n\020RU"
610 "N_ONE_RANDOMLY\020\003\"\333\003\n\026RuinRecreateParamet"
611 "ers\022:\n\017ruin_strategies\030\001 \003(\0132!.operation"
612 "s_research.RuinStrategy\022U\n\031ruin_composit"
613 "ion_strategy\030\002 \001(\01622.operations_research"
614 ".RuinCompositionStrategy.Value\022@\n\021recrea"
615 "te_strategy\030\003 \001(\0132%.operations_research."
616 "RecreateStrategy\022,\n\037route_selection_neig"
617 "hbors_ratio\030\004 \001(\001H\000\210\001\001\022*\n\035route_selectio"
618 "n_min_neighbors\030\005 \001(\rH\001\210\001\001\022*\n\035route_sele"
619 "ction_max_neighbors\030\006 \001(\rH\002\210\001\001B\"\n _route"
620 "_selection_neighbors_ratioB \n\036_route_sel"
621 "ection_min_neighborsB \n\036_route_selection"
622 "_max_neighbors\"A\n\024PerturbationStrategy\")"
623 "\n\005Value\022\t\n\005UNSET\020\000\022\025\n\021RUIN_AND_RECREATE\020"
624 "\001\"J\n\027CoolingScheduleStrategy\"/\n\005Value\022\t\n"
625 "\005UNSET\020\000\022\017\n\013EXPONENTIAL\020\001\022\n\n\006LINEAR\020\002\"!\n"
626 "\037GreedyDescentAcceptanceStrategy\"\255\002\n$Sim"
627 "ulatedAnnealingAcceptanceStrategy\022U\n\031coo"
628 "ling_schedule_strategy\030\001 \001(\01622.operation"
629 "s_research.CoolingScheduleStrategy.Value"
630 "\022 \n\023initial_temperature\030\002 \001(\001H\000\210\001\001\022\036\n\021fi"
631 "nal_temperature\030\003 \001(\001H\001\210\001\001\022#\n\026automatic_"
632 "temperatures\030\004 \001(\010H\002\210\001\001B\026\n\024_initial_temp"
633 "eratureB\024\n\022_final_temperatureB\031\n\027_automa"
634 "tic_temperatures\"%\n#AllNodesPerformedAcc"
635 "eptanceStrategy\"&\n$MoreNodesPerformedAcc"
636 "eptanceStrategy\"w\n\037AbsencesBasedAcceptan"
637 "ceStrategy\022.\n!remove_route_with_lowest_a"
638 "bsences\030\001 \001(\010H\000\210\001\001B$\n\"_remove_route_with"
639 "_lowest_absences\"\316\003\n\022AcceptanceStrategy\022"
640 "N\n\016greedy_descent\030\001 \001(\01324.operations_res"
641 "earch.GreedyDescentAcceptanceStrategyH\000\022"
642 "X\n\023simulated_annealing\030\002 \001(\01329.operation"
643 "s_research.SimulatedAnnealingAcceptanceS"
644 "trategyH\000\022W\n\023all_nodes_performed\030\003 \001(\01328"
645 ".operations_research.AllNodesPerformedAc"
646 "ceptanceStrategyH\000\022Y\n\024more_nodes_perform"
647 "ed\030\004 \001(\01329.operations_research.MoreNodes"
648 "PerformedAcceptanceStrategyH\000\022N\n\016absence"
649 "s_based\030\005 \001(\01324.operations_research.Abse"
650 "ncesBasedAcceptanceStrategyH\000B\n\n\010strateg"
651 "y\"\263\003\n\035IteratedLocalSearchParameters\022N\n\025p"
652 "erturbation_strategy\030\001 \001(\0162/.operations_"
653 "research.PerturbationStrategy.Value\022M\n\030r"
654 "uin_recreate_parameters\030\002 \001(\0132+.operatio"
655 "ns_research.RuinRecreateParameters\022\'\n\032im"
656 "prove_perturbed_solution\030\003 \001(\010H\000\210\001\001\022W\n&r"
657 "eference_solution_acceptance_strategy\030\004 "
658 "\001(\0132\'.operations_research.AcceptanceStra"
659 "tegy\022R\n!best_solution_acceptance_strateg"
660 "y\030\005 \001(\0132\'.operations_research.Acceptance"
661 "StrategyB\035\n\033_improve_perturbed_solutionB"
662 "I\n#com.google.ortools.constraintsolverP\001"
663 "\252\002\037Google.OrTools.ConstraintSolverb\006prot"
666static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL
const
676 descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto,
677 "ortools/constraint_solver/routing_ils.proto",
709class SpatiallyCloseRoutesRuinStrategy::_Internal {
712 decltype(::std::declval<SpatiallyCloseRoutesRuinStrategy>()._impl_._has_bits_);
718#if defined(PROTOBUF_CUSTOM_VTABLE)
721 : ::google::protobuf::Message(arena) {
728#if defined(PROTOBUF_CUSTOM_VTABLE)
731 : ::google::protobuf::Message(arena),
734 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
735 from._internal_metadata_);
737PROTOBUF_NDEBUG_INLINE SpatiallyCloseRoutesRuinStrategy::Impl_::Impl_(
738 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
739 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
740 : _cached_size_{0} {}
742inline void SpatiallyCloseRoutesRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
743 new (&
_impl_) Impl_(internal_visibility(), arena);
744 _impl_.num_ruined_routes_ = {};
750inline void SpatiallyCloseRoutesRuinStrategy::SharedDtor(
MessageLite& self) {
752 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
753 this_.CheckHasBitConsistency();
755 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
756 ABSL_DCHECK(this_.GetArena() ==
nullptr);
760inline void* PROTOBUF_NONNULL SpatiallyCloseRoutesRuinStrategy::PlacementNew_(
761 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
762 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
765constexpr auto SpatiallyCloseRoutesRuinStrategy::InternalNewImpl_() {
770 return ::google::protobuf::internal::ClassDataFull{
771 ::google::protobuf::internal::ClassData{
776 &SpatiallyCloseRoutesRuinStrategy::MergeImpl,
777 ::google::protobuf::Message::GetNewImpl<SpatiallyCloseRoutesRuinStrategy>(),
778#if defined(PROTOBUF_CUSTOM_VTABLE)
779 &SpatiallyCloseRoutesRuinStrategy::SharedDtor,
786 &SpatiallyCloseRoutesRuinStrategy::kDescriptorMethods,
792PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
796PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
797SpatiallyCloseRoutesRuinStrategy::GetClassData()
const {
802PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
803const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
804SpatiallyCloseRoutesRuinStrategy::_table_ = {
809 offsetof(
decltype(_table_), field_lookup_table),
811 offsetof(
decltype(_table_), field_entries),
814 offsetof(
decltype(_table_), field_names),
817 ::_pbi::TcParser::GenericFallback,
818 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
819 ::_pbi::TcParser::GetTable<::operations_research::SpatiallyCloseRoutesRuinStrategy>(),
838 ::google::protobuf::internal::TSanWrite(&
_impl_);
839 ::uint32_t cached_has_bits = 0;
841 (void) cached_has_bits;
843 _impl_.num_ruined_routes_ = 0u;
844 _impl_._has_bits_.Clear();
845 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
848#if defined(PROTOBUF_CUSTOM_VTABLE)
850 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
851 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
855 ::uint8_t* PROTOBUF_NONNULL target,
856 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
859 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
860 this_.CheckHasBitConsistency();
863 ::uint32_t cached_has_bits = 0;
864 (void)cached_has_bits;
866 cached_has_bits = this_.
_impl_._has_bits_[0];
868 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
869 target = stream->EnsureSpace(target);
870 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
871 3, this_._internal_num_ruined_routes(), target);
874 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
876 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
877 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
883#if defined(PROTOBUF_CUSTOM_VTABLE)
891 ::size_t total_size = 0;
893 ::uint32_t cached_has_bits = 0;
895 (void)cached_has_bits;
899 cached_has_bits = this_.
_impl_._has_bits_[0];
900 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
901 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
902 this_._internal_num_ruined_routes());
905 return this_.MaybeComputeUnknownFieldsSize(total_size,
906 &this_.
_impl_._cached_size_);
909void SpatiallyCloseRoutesRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
910 const ::google::protobuf::MessageLite& from_msg) {
914 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
915 from.CheckHasBitConsistency();
918 ABSL_DCHECK_NE(&from, _this);
919 ::uint32_t cached_has_bits = 0;
920 (void)cached_has_bits;
922 cached_has_bits = from.
_impl_._has_bits_[0];
923 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
924 _this->_impl_.num_ruined_routes_ = from.
_impl_.num_ruined_routes_;
926 _this->_impl_._has_bits_[0] |= cached_has_bits;
927 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
928 from._internal_metadata_);
933 if (&from ==
this)
return;
941 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
942 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
943 swap(
_impl_.num_ruined_routes_, other->_impl_.num_ruined_routes_);
947 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
954 decltype(::std::declval<RandomWalkRuinStrategy>()._impl_._has_bits_);
960#if defined(PROTOBUF_CUSTOM_VTABLE)
963 : ::google::protobuf::Message(arena) {
970#if defined(PROTOBUF_CUSTOM_VTABLE)
973 : ::google::protobuf::Message(arena),
976 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
977 from._internal_metadata_);
979PROTOBUF_NDEBUG_INLINE RandomWalkRuinStrategy::Impl_::Impl_(
980 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
981 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
982 : _cached_size_{0} {}
984inline void RandomWalkRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
985 new (&
_impl_) Impl_(internal_visibility(), arena);
986 _impl_.num_removed_visits_ = {};
992inline void RandomWalkRuinStrategy::SharedDtor(
MessageLite& self) {
994 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
995 this_.CheckHasBitConsistency();
997 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
998 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1002inline void* PROTOBUF_NONNULL RandomWalkRuinStrategy::PlacementNew_(
1003 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1004 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1007constexpr auto RandomWalkRuinStrategy::InternalNewImpl_() {
1012 return ::google::protobuf::internal::ClassDataFull{
1013 ::google::protobuf::internal::ClassData{
1018 &RandomWalkRuinStrategy::MergeImpl,
1019 ::google::protobuf::Message::GetNewImpl<RandomWalkRuinStrategy>(),
1020#if defined(PROTOBUF_CUSTOM_VTABLE)
1021 &RandomWalkRuinStrategy::SharedDtor,
1028 &RandomWalkRuinStrategy::kDescriptorMethods,
1034PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1038PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1039RandomWalkRuinStrategy::GetClassData()
const {
1044PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1045const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
1046RandomWalkRuinStrategy::_table_ = {
1051 offsetof(
decltype(_table_), field_lookup_table),
1053 offsetof(
decltype(_table_), field_entries),
1056 offsetof(
decltype(_table_), field_names),
1059 ::_pbi::TcParser::GenericFallback,
1060 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1061 ::_pbi::TcParser::GetTable<::operations_research::RandomWalkRuinStrategy>(),
1080 ::google::protobuf::internal::TSanWrite(&
_impl_);
1081 ::uint32_t cached_has_bits = 0;
1083 (void) cached_has_bits;
1085 _impl_.num_removed_visits_ = 0u;
1086 _impl_._has_bits_.Clear();
1087 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1090#if defined(PROTOBUF_CUSTOM_VTABLE)
1092 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
1093 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1097 ::uint8_t* PROTOBUF_NONNULL target,
1098 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1101 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1102 this_.CheckHasBitConsistency();
1105 ::uint32_t cached_has_bits = 0;
1106 (void)cached_has_bits;
1108 cached_has_bits = this_.
_impl_._has_bits_[0];
1110 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1111 target = stream->EnsureSpace(target);
1112 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1113 7, this_._internal_num_removed_visits(), target);
1116 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1118 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1119 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1125#if defined(PROTOBUF_CUSTOM_VTABLE)
1133 ::size_t total_size = 0;
1135 ::uint32_t cached_has_bits = 0;
1137 (void)cached_has_bits;
1141 cached_has_bits = this_.
_impl_._has_bits_[0];
1142 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1143 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1144 this_._internal_num_removed_visits());
1147 return this_.MaybeComputeUnknownFieldsSize(total_size,
1148 &this_.
_impl_._cached_size_);
1151void RandomWalkRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
1152 const ::google::protobuf::MessageLite& from_msg) {
1156 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1157 from.CheckHasBitConsistency();
1160 ABSL_DCHECK_NE(&from, _this);
1161 ::uint32_t cached_has_bits = 0;
1162 (void)cached_has_bits;
1164 cached_has_bits = from.
_impl_._has_bits_[0];
1165 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1166 _this->_impl_.num_removed_visits_ = from.
_impl_.num_removed_visits_;
1168 _this->_impl_._has_bits_[0] |= cached_has_bits;
1169 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1170 from._internal_metadata_);
1175 if (&from ==
this)
return;
1181void RandomWalkRuinStrategy::InternalSwap(
RandomWalkRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1183 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1184 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1185 swap(
_impl_.num_removed_visits_, other->_impl_.num_removed_visits_);
1189 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1196 decltype(::std::declval<SISRRuinStrategy>()._impl_._has_bits_);
1202#if defined(PROTOBUF_CUSTOM_VTABLE)
1205 : ::google::protobuf::Message(arena) {
1211 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const SISRRuinStrategy& from)
1212#if defined(PROTOBUF_CUSTOM_VTABLE)
1215 : ::google::protobuf::Message(arena),
1218 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1219 from._internal_metadata_);
1221PROTOBUF_NDEBUG_INLINE SISRRuinStrategy::Impl_::Impl_(
1222 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1223 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1224 : _cached_size_{0} {}
1226inline void SISRRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1227 new (&
_impl_) Impl_(internal_visibility(), arena);
1228 ::memset(
reinterpret_cast<char*
>(&
_impl_) +
1229 offsetof(Impl_, max_removed_sequence_size_),
1231 offsetof(Impl_, bypass_factor_) -
1232 offsetof(Impl_, max_removed_sequence_size_) +
1233 sizeof(Impl_::bypass_factor_));
1239inline void SISRRuinStrategy::SharedDtor(
MessageLite& self) {
1241 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1242 this_.CheckHasBitConsistency();
1244 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1245 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1249inline void* PROTOBUF_NONNULL SISRRuinStrategy::PlacementNew_(
1250 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1251 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1252 return ::new (mem) SISRRuinStrategy(arena);
1254constexpr auto SISRRuinStrategy::InternalNewImpl_() {
1255 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(SISRRuinStrategy),
1256 alignof(SISRRuinStrategy));
1259 return ::google::protobuf::internal::ClassDataFull{
1260 ::google::protobuf::internal::ClassData{
1265 &SISRRuinStrategy::MergeImpl,
1266 ::google::protobuf::Message::GetNewImpl<SISRRuinStrategy>(),
1267#if defined(PROTOBUF_CUSTOM_VTABLE)
1268 &SISRRuinStrategy::SharedDtor,
1275 &SISRRuinStrategy::kDescriptorMethods,
1281PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1285PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1286SISRRuinStrategy::GetClassData()
const {
1291PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1292const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
1293SISRRuinStrategy::_table_ = {
1295 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy,
_impl_._has_bits_),
1298 offsetof(
decltype(_table_), field_lookup_table),
1300 offsetof(
decltype(_table_), field_entries),
1303 offsetof(
decltype(_table_), field_names),
1306 ::_pbi::TcParser::GenericFallback,
1307 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1308 ::_pbi::TcParser::GetTable<::operations_research::SISRRuinStrategy>(),
1311 {::_pbi::TcParser::MiniParse, {}},
1313 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SISRRuinStrategy,
_impl_.max_removed_sequence_size_), 0>(),
1315 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy,
_impl_.max_removed_sequence_size_)}},
1317 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SISRRuinStrategy,
_impl_.avg_num_removed_visits_), 1>(),
1319 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy,
_impl_.avg_num_removed_visits_)}},
1321 {::_pbi::TcParser::FastF64S1,
1323 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy,
_impl_.bypass_factor_)}},
1328 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy,
_impl_.max_removed_sequence_size_),
_Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1330 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy,
_impl_.avg_num_removed_visits_),
_Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1340 ::google::protobuf::internal::TSanWrite(&
_impl_);
1341 ::uint32_t cached_has_bits = 0;
1343 (void) cached_has_bits;
1345 cached_has_bits =
_impl_._has_bits_[0];
1346 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1347 ::memset(&
_impl_.max_removed_sequence_size_, 0,
static_cast<::
size_t>(
1348 reinterpret_cast<char*
>(&
_impl_.bypass_factor_) -
1349 reinterpret_cast<char*
>(&
_impl_.max_removed_sequence_size_)) +
sizeof(
_impl_.bypass_factor_));
1351 _impl_._has_bits_.Clear();
1352 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1355#if defined(PROTOBUF_CUSTOM_VTABLE)
1357 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1358 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1359 const SISRRuinStrategy& this_ =
static_cast<const SISRRuinStrategy&
>(base);
1362 ::uint8_t* PROTOBUF_NONNULL target,
1363 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1366 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1367 this_.CheckHasBitConsistency();
1370 ::uint32_t cached_has_bits = 0;
1371 (void)cached_has_bits;
1373 cached_has_bits = this_.
_impl_._has_bits_[0];
1375 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1376 target = stream->EnsureSpace(target);
1377 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1378 1, this_._internal_max_removed_sequence_size(), target);
1382 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1383 target = stream->EnsureSpace(target);
1384 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1385 2, this_._internal_avg_num_removed_visits(), target);
1389 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1390 target = stream->EnsureSpace(target);
1391 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1392 3, this_._internal_bypass_factor(), target);
1395 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1397 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1398 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1404#if defined(PROTOBUF_CUSTOM_VTABLE)
1406 const SISRRuinStrategy& this_ =
static_cast<const SISRRuinStrategy&
>(base);
1409 const SISRRuinStrategy& this_ = *
this;
1412 ::size_t total_size = 0;
1414 ::uint32_t cached_has_bits = 0;
1416 (void)cached_has_bits;
1418 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1419 cached_has_bits = this_._impl_._has_bits_[0];
1420 total_size +=
static_cast<bool>(0x00000004U & cached_has_bits) * 9;
1421 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1423 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1424 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1425 this_._internal_max_removed_sequence_size());
1428 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1429 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1430 this_._internal_avg_num_removed_visits());
1433 return this_.MaybeComputeUnknownFieldsSize(total_size,
1434 &this_._impl_._cached_size_);
1437void SISRRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
1438 const ::google::protobuf::MessageLite& from_msg) {
1440 static_cast<SISRRuinStrategy*
>(&to_msg);
1441 auto& from =
static_cast<const SISRRuinStrategy&
>(from_msg);
1442 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1443 from.CheckHasBitConsistency();
1446 ABSL_DCHECK_NE(&from, _this);
1447 ::uint32_t cached_has_bits = 0;
1448 (void)cached_has_bits;
1450 cached_has_bits = from.
_impl_._has_bits_[0];
1451 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1452 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1453 _this->_impl_.max_removed_sequence_size_ = from.
_impl_.max_removed_sequence_size_;
1455 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1456 _this->_impl_.avg_num_removed_visits_ = from.
_impl_.avg_num_removed_visits_;
1458 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1459 _this->_impl_.bypass_factor_ = from.
_impl_.bypass_factor_;
1462 _this->_impl_._has_bits_[0] |= cached_has_bits;
1463 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1464 from._internal_metadata_);
1469 if (&from ==
this)
return;
1475void SISRRuinStrategy::InternalSwap(
SISRRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1477 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1478 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1479 ::google::protobuf::internal::memswap<
1483 reinterpret_cast<char*
>(&
_impl_.max_removed_sequence_size_),
1484 reinterpret_cast<char*
>(&other->_impl_.max_removed_sequence_size_));
1488 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1494 static constexpr ::int32_t kOneofCaseOffset =
1499 ::google::protobuf::Arena* message_arena = GetArena();
1503 if (message_arena != submessage_arena) {
1506 set_has_spatially_close_routes();
1507 _impl_.strategy_.spatially_close_routes_ = spatially_close_routes;
1515 ::google::protobuf::Arena* submessage_arena =
random_walk->GetArena();
1516 if (message_arena != submessage_arena) {
1517 random_walk = ::google::protobuf::internal::GetOwnedMessage(message_arena,
random_walk, submessage_arena);
1519 set_has_random_walk();
1520 _impl_.strategy_.random_walk_ = random_walk;
1528 ::google::protobuf::Arena* submessage_arena =
sisr->GetArena();
1529 if (message_arena != submessage_arena) {
1530 sisr = ::google::protobuf::internal::GetOwnedMessage(message_arena,
sisr, submessage_arena);
1533 _impl_.strategy_.sisr_ = sisr;
1538#if defined(PROTOBUF_CUSTOM_VTABLE)
1541 : ::google::protobuf::Message(arena) {
1546PROTOBUF_NDEBUG_INLINE RuinStrategy::Impl_::Impl_(
1547 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1548 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1549 [[maybe_unused]] const ::operations_research::RuinStrategy& from_msg)
1552 _oneof_case_{from._oneof_case_[0]} {}
1555 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1557#if defined(PROTOBUF_CUSTOM_VTABLE)
1560 : ::google::protobuf::Message(arena) {
1564 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
1565 from._internal_metadata_);
1566 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1567 switch (strategy_case()) {
1568 case STRATEGY_NOT_SET:
1570 case kSpatiallyCloseRoutes:
1571 _impl_.strategy_.spatially_close_routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.spatially_close_routes_);
1574 _impl_.strategy_.random_walk_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.random_walk_);
1577 _impl_.strategy_.sisr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.sisr_);
1583PROTOBUF_NDEBUG_INLINE RuinStrategy::Impl_::Impl_(
1584 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1585 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1590inline void RuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1591 new (&
_impl_) Impl_(internal_visibility(), arena);
1599 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1600 this_.CheckHasBitConsistency();
1602 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1603 ABSL_DCHECK(this_.GetArena() ==
nullptr);
1604 if (this_.has_strategy()) {
1612 ::google::protobuf::internal::TSanWrite(&
_impl_);
1615 if (GetArena() ==
nullptr) {
1616 delete _impl_.strategy_.spatially_close_routes_;
1617 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1618 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.strategy_.spatially_close_routes_);
1623 if (GetArena() ==
nullptr) {
1625 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1631 if (GetArena() ==
nullptr) {
1632 delete _impl_.strategy_.sisr_;
1633 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1634 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.strategy_.sisr_);
1646inline void* PROTOBUF_NONNULL RuinStrategy::PlacementNew_(
1647 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1648 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1651constexpr auto RuinStrategy::InternalNewImpl_() {
1652 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(
RuinStrategy),
1656 return ::google::protobuf::internal::ClassDataFull{
1657 ::google::protobuf::internal::ClassData{
1662 &RuinStrategy::MergeImpl,
1663 ::google::protobuf::Message::GetNewImpl<RuinStrategy>(),
1664#if defined(PROTOBUF_CUSTOM_VTABLE)
1665 &RuinStrategy::SharedDtor,
1672 &RuinStrategy::kDescriptorMethods,
1678PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1682PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1683RuinStrategy::GetClassData()
const {
1688PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1689const ::_pbi::TcParseTable<0, 3, 3, 0, 2>
1690RuinStrategy::_table_ = {
1695 offsetof(
decltype(_table_), field_lookup_table),
1697 offsetof(
decltype(_table_), field_entries),
1700 offsetof(
decltype(_table_), aux_entries),
1703 ::_pbi::TcParser::GenericFallback,
1704 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1705 ::_pbi::TcParser::GetTable<::operations_research::RuinStrategy>(),
1708 {::_pbi::TcParser::MiniParse, {}},
1713 {PROTOBUF_FIELD_OFFSET(
RuinStrategy, _impl_.strategy_.spatially_close_routes_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1715 {PROTOBUF_FIELD_OFFSET(
RuinStrategy, _impl_.strategy_.random_walk_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1717 {PROTOBUF_FIELD_OFFSET(
RuinStrategy, _impl_.strategy_.sisr_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1720 {::_pbi::TcParser::GetTable<::operations_research::SpatiallyCloseRoutesRuinStrategy>()},
1721 {::_pbi::TcParser::GetTable<::operations_research::RandomWalkRuinStrategy>()},
1722 {::_pbi::TcParser::GetTable<::operations_research::SISRRuinStrategy>()},
1729 ::google::protobuf::internal::TSanWrite(&
_impl_);
1730 ::uint32_t cached_has_bits = 0;
1732 (void) cached_has_bits;
1735 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1738#if defined(PROTOBUF_CUSTOM_VTABLE)
1740 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
1741 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1745 ::uint8_t* PROTOBUF_NONNULL target,
1746 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1749 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1750 this_.CheckHasBitConsistency();
1753 ::uint32_t cached_has_bits = 0;
1754 (void)cached_has_bits;
1758 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1764 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1770 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1778 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1780 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1781 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1787#if defined(PROTOBUF_CUSTOM_VTABLE)
1795 ::size_t total_size = 0;
1797 ::uint32_t cached_has_bits = 0;
1799 (void)cached_has_bits;
1801 switch (this_.strategy_case()) {
1805 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.spatially_close_routes_);
1811 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.random_walk_);
1817 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.sisr_);
1824 return this_.MaybeComputeUnknownFieldsSize(total_size,
1825 &this_._impl_._cached_size_);
1828void RuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
1829 const ::google::protobuf::MessageLite& from_msg) {
1832 auto& from =
static_cast<const RuinStrategy&
>(from_msg);
1833 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1834 from.CheckHasBitConsistency();
1838 ABSL_DCHECK_NE(&from, _this);
1839 ::uint32_t cached_has_bits = 0;
1840 (void)cached_has_bits;
1842 if (
const uint32_t oneof_from_case =
1843 from._impl_._oneof_case_[0]) {
1844 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
1845 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
1846 if (oneof_needs_init) {
1847 if (oneof_to_case != 0) {
1848 _this->clear_strategy();
1850 _this->_impl_._oneof_case_[0] = oneof_from_case;
1853 switch (oneof_from_case) {
1855 if (oneof_needs_init) {
1856 _this->_impl_.strategy_.spatially_close_routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.spatially_close_routes_);
1858 _this->_impl_.strategy_.spatially_close_routes_->MergeFrom(*from._impl_.strategy_.spatially_close_routes_);
1863 if (oneof_needs_init) {
1864 _this->_impl_.strategy_.random_walk_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.random_walk_);
1866 _this->_impl_.strategy_.random_walk_->MergeFrom(*from._impl_.strategy_.random_walk_);
1871 if (oneof_needs_init) {
1872 _this->_impl_.strategy_.sisr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.sisr_);
1874 _this->_impl_.strategy_.sisr_->MergeFrom(*from._impl_.strategy_.sisr_);
1882 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1883 from._internal_metadata_);
1888 if (&from ==
this)
return;
1894void RuinStrategy::InternalSwap(
RuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1896 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1897 swap(
_impl_.strategy_, other->_impl_.strategy_);
1898 swap(
_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
1902 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1908 static constexpr ::int32_t kOneofCaseOffset =
1913 ::google::protobuf::Arena* message_arena = GetArena();
1916 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(
local_cheapest_insertion)->GetArena();
1917 if (message_arena != submessage_arena) {
1920 set_has_local_cheapest_insertion();
1921 _impl_.parameters_.local_cheapest_insertion_ = local_cheapest_insertion;
1926 ::google::protobuf::internal::TSanWrite(&
_impl_);
1927 if (parameters_case() == kLocalCheapestInsertion) {
1928 if (GetArena() ==
nullptr) {
1929 delete _impl_.parameters_.local_cheapest_insertion_;
1930 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1931 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.parameters_.local_cheapest_insertion_);
1933 clear_has_parameters();
1941 if (message_arena != submessage_arena) {
1942 savings = ::google::protobuf::internal::GetOwnedMessage(message_arena,
savings, submessage_arena);
1945 _impl_.parameters_.savings_ = savings;
1950 ::google::protobuf::internal::TSanWrite(&
_impl_);
1951 if (parameters_case() == kSavings) {
1952 if (GetArena() ==
nullptr) {
1953 delete _impl_.parameters_.savings_;
1954 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1955 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.parameters_.savings_);
1957 clear_has_parameters();
1963 if (global_cheapest_insertion) {
1964 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(global_cheapest_insertion)->GetArena();
1965 if (message_arena != submessage_arena) {
1968 set_has_global_cheapest_insertion();
1969 _impl_.parameters_.global_cheapest_insertion_ = global_cheapest_insertion;
1974 ::google::protobuf::internal::TSanWrite(&
_impl_);
1975 if (parameters_case() == kGlobalCheapestInsertion) {
1976 if (GetArena() ==
nullptr) {
1977 delete _impl_.parameters_.global_cheapest_insertion_;
1978 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1979 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.parameters_.global_cheapest_insertion_);
1981 clear_has_parameters();
1985#if defined(PROTOBUF_CUSTOM_VTABLE)
1988 : ::google::protobuf::Message(arena) {
1993PROTOBUF_NDEBUG_INLINE RecreateParameters::Impl_::Impl_(
1994 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1995 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1996 [[maybe_unused]] const ::operations_research::RecreateParameters& from_msg)
1999 _oneof_case_{from._oneof_case_[0]} {}
2002 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2004#if defined(PROTOBUF_CUSTOM_VTABLE)
2007 : ::google::protobuf::Message(arena) {
2011 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
2012 from._internal_metadata_);
2013 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2014 switch (parameters_case()) {
2015 case PARAMETERS_NOT_SET:
2017 case kLocalCheapestInsertion:
2018 _impl_.parameters_.local_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.local_cheapest_insertion_);
2021 _impl_.parameters_.savings_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.savings_);
2023 case kGlobalCheapestInsertion:
2024 _impl_.parameters_.global_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.global_cheapest_insertion_);
2030PROTOBUF_NDEBUG_INLINE RecreateParameters::Impl_::Impl_(
2031 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2032 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2037inline void RecreateParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2038 new (&
_impl_) Impl_(internal_visibility(), arena);
2044inline void RecreateParameters::SharedDtor(MessageLite& self) {
2046 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2047 this_.CheckHasBitConsistency();
2049 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2050 ABSL_DCHECK(this_.GetArena() ==
nullptr);
2051 if (this_.has_parameters()) {
2059 ::google::protobuf::internal::TSanWrite(&
_impl_);
2062 if (GetArena() ==
nullptr) {
2063 delete _impl_.parameters_.local_cheapest_insertion_;
2064 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2070 if (GetArena() ==
nullptr) {
2071 delete _impl_.parameters_.savings_;
2072 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2073 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.parameters_.savings_);
2078 if (GetArena() ==
nullptr) {
2079 delete _impl_.parameters_.global_cheapest_insertion_;
2080 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2081 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.parameters_.global_cheapest_insertion_);
2093inline void* PROTOBUF_NONNULL RecreateParameters::PlacementNew_(
2094 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
2095 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2098constexpr auto RecreateParameters::InternalNewImpl_() {
2099 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(
RecreateParameters),
2103 return ::google::protobuf::internal::ClassDataFull{
2104 ::google::protobuf::internal::ClassData{
2109 &RecreateParameters::MergeImpl,
2110 ::google::protobuf::Message::GetNewImpl<RecreateParameters>(),
2111#if defined(PROTOBUF_CUSTOM_VTABLE)
2112 &RecreateParameters::SharedDtor,
2119 &RecreateParameters::kDescriptorMethods,
2125PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2129PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2130RecreateParameters::GetClassData()
const {
2135PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2136const ::_pbi::TcParseTable<0, 3, 3, 0, 2>
2137RecreateParameters::_table_ = {
2142 offsetof(
decltype(_table_), field_lookup_table),
2144 offsetof(
decltype(_table_), field_entries),
2147 offsetof(
decltype(_table_), aux_entries),
2150 ::_pbi::TcParser::GenericFallback,
2151 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2152 ::_pbi::TcParser::GetTable<::operations_research::RecreateParameters>(),
2155 {::_pbi::TcParser::MiniParse, {}},
2160 {PROTOBUF_FIELD_OFFSET(
RecreateParameters, _impl_.parameters_.local_cheapest_insertion_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
2162 {PROTOBUF_FIELD_OFFSET(
RecreateParameters, _impl_.parameters_.savings_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
2164 {PROTOBUF_FIELD_OFFSET(
RecreateParameters, _impl_.parameters_.global_cheapest_insertion_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
2167 {::_pbi::TcParser::GetTable<::operations_research::LocalCheapestInsertionParameters>()},
2168 {::_pbi::TcParser::GetTable<::operations_research::SavingsParameters>()},
2169 {::_pbi::TcParser::GetTable<::operations_research::GlobalCheapestInsertionParameters>()},
2176 ::google::protobuf::internal::TSanWrite(&
_impl_);
2177 ::uint32_t cached_has_bits = 0;
2179 (void) cached_has_bits;
2182 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2185#if defined(PROTOBUF_CUSTOM_VTABLE)
2187 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
2188 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2192 ::uint8_t* PROTOBUF_NONNULL target,
2193 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
2196 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2197 this_.CheckHasBitConsistency();
2200 ::uint32_t cached_has_bits = 0;
2201 (void)cached_has_bits;
2205 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2211 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2217 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2225 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2227 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2228 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2234#if defined(PROTOBUF_CUSTOM_VTABLE)
2242 ::size_t total_size = 0;
2244 ::uint32_t cached_has_bits = 0;
2246 (void)cached_has_bits;
2248 switch (this_.parameters_case()) {
2252 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_.local_cheapest_insertion_);
2258 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_.savings_);
2264 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_.global_cheapest_insertion_);
2271 return this_.MaybeComputeUnknownFieldsSize(total_size,
2272 &this_._impl_._cached_size_);
2275void RecreateParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
2276 const ::google::protobuf::MessageLite& from_msg) {
2280 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2281 from.CheckHasBitConsistency();
2285 ABSL_DCHECK_NE(&from, _this);
2286 ::uint32_t cached_has_bits = 0;
2287 (void)cached_has_bits;
2289 if (
const uint32_t oneof_from_case =
2290 from._impl_._oneof_case_[0]) {
2291 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
2292 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
2293 if (oneof_needs_init) {
2294 if (oneof_to_case != 0) {
2295 _this->clear_parameters();
2297 _this->_impl_._oneof_case_[0] = oneof_from_case;
2300 switch (oneof_from_case) {
2302 if (oneof_needs_init) {
2303 _this->_impl_.parameters_.local_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.local_cheapest_insertion_);
2305 _this->_impl_.parameters_.local_cheapest_insertion_->MergeFrom(*from._impl_.parameters_.local_cheapest_insertion_);
2310 if (oneof_needs_init) {
2311 _this->_impl_.parameters_.savings_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.savings_);
2313 _this->_impl_.parameters_.savings_->MergeFrom(*from._impl_.parameters_.savings_);
2318 if (oneof_needs_init) {
2319 _this->_impl_.parameters_.global_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.global_cheapest_insertion_);
2321 _this->_impl_.parameters_.global_cheapest_insertion_->MergeFrom(*from._impl_.parameters_.global_cheapest_insertion_);
2329 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2330 from._internal_metadata_);
2335 if (&from ==
this)
return;
2341void RecreateParameters::InternalSwap(
RecreateParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2343 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2344 swap(
_impl_.parameters_, other->_impl_.parameters_);
2345 swap(
_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
2349 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2356 decltype(::std::declval<RecreateStrategy>()._impl_._has_bits_);
2357 static constexpr ::int32_t kHasBitsOffset =
2362#if defined(PROTOBUF_CUSTOM_VTABLE)
2365 : ::google::protobuf::Message(arena) {
2370PROTOBUF_NDEBUG_INLINE RecreateStrategy::Impl_::Impl_(
2371 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2372 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
2373 [[maybe_unused]] const ::operations_research::RecreateStrategy& from_msg)
2374 : _has_bits_{from._has_bits_},
2378 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2380#if defined(PROTOBUF_CUSTOM_VTABLE)
2383 : ::google::protobuf::Message(arena) {
2387 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
2388 from._internal_metadata_);
2389 new (&
_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2390 ::uint32_t cached_has_bits =
_impl_._has_bits_[0];
2391 _impl_.parameters_ = (CheckHasBit(cached_has_bits, 0x00000001U))
2392 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_)
2394 _impl_.heuristic_ = from._impl_.heuristic_;
2398PROTOBUF_NDEBUG_INLINE RecreateStrategy::Impl_::Impl_(
2399 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2400 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2401 : _cached_size_{0} {}
2403inline void RecreateStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2404 new (&
_impl_) Impl_(internal_visibility(), arena);
2405 ::memset(
reinterpret_cast<char*
>(&
_impl_) +
2406 offsetof(Impl_, parameters_),
2408 offsetof(Impl_, heuristic_) -
2409 offsetof(Impl_, parameters_) +
2410 sizeof(Impl_::heuristic_));
2416inline void RecreateStrategy::SharedDtor(
MessageLite& self) {
2418 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2419 this_.CheckHasBitConsistency();
2421 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2422 ABSL_DCHECK(this_.GetArena() ==
nullptr);
2423 delete this_.
_impl_.parameters_;
2427inline void* PROTOBUF_NONNULL RecreateStrategy::PlacementNew_(
2428 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
2429 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2430 return ::new (mem) RecreateStrategy(arena);
2432constexpr auto RecreateStrategy::InternalNewImpl_() {
2433 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(RecreateStrategy),
2434 alignof(RecreateStrategy));
2437 return ::google::protobuf::internal::ClassDataFull{
2438 ::google::protobuf::internal::ClassData{
2443 &RecreateStrategy::MergeImpl,
2444 ::google::protobuf::Message::GetNewImpl<RecreateStrategy>(),
2445#if defined(PROTOBUF_CUSTOM_VTABLE)
2446 &RecreateStrategy::SharedDtor,
2453 &RecreateStrategy::kDescriptorMethods,
2459PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2463PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2464RecreateStrategy::GetClassData()
const {
2469PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2470const ::_pbi::TcParseTable<1, 2, 1, 0, 2>
2471RecreateStrategy::_table_ = {
2473 PROTOBUF_FIELD_OFFSET(RecreateStrategy,
_impl_._has_bits_),
2476 offsetof(
decltype(_table_), field_lookup_table),
2478 offsetof(
decltype(_table_), field_entries),
2481 offsetof(
decltype(_table_), aux_entries),
2484 ::_pbi::TcParser::GenericFallback,
2485 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2486 ::_pbi::TcParser::GetTable<::operations_research::RecreateStrategy>(),
2490 {::_pbi::TcParser::FastMtS1,
2492 PROTOBUF_FIELD_OFFSET(RecreateStrategy,
_impl_.parameters_)}},
2494 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RecreateStrategy,
_impl_.heuristic_), 1>(),
2496 PROTOBUF_FIELD_OFFSET(RecreateStrategy,
_impl_.heuristic_)}},
2501 {PROTOBUF_FIELD_OFFSET(RecreateStrategy,
_impl_.heuristic_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
2503 {PROTOBUF_FIELD_OFFSET(RecreateStrategy,
_impl_.parameters_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2506 {::_pbi::TcParser::GetTable<::operations_research::RecreateParameters>()},
2513 ::google::protobuf::internal::TSanWrite(&
_impl_);
2514 ::uint32_t cached_has_bits = 0;
2516 (void) cached_has_bits;
2518 cached_has_bits =
_impl_._has_bits_[0];
2519 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2520 ABSL_DCHECK(
_impl_.parameters_ !=
nullptr);
2521 _impl_.parameters_->Clear();
2524 _impl_._has_bits_.Clear();
2525 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2528#if defined(PROTOBUF_CUSTOM_VTABLE)
2530 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2531 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2532 const RecreateStrategy& this_ =
static_cast<const RecreateStrategy&
>(base);
2535 ::uint8_t* PROTOBUF_NONNULL target,
2536 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
2537 const RecreateStrategy& this_ = *
this;
2539 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2540 this_.CheckHasBitConsistency();
2543 ::uint32_t cached_has_bits = 0;
2544 (void)cached_has_bits;
2546 cached_has_bits = this_.
_impl_._has_bits_[0];
2548 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2549 target = stream->EnsureSpace(target);
2550 target = ::_pbi::WireFormatLite::WriteEnumToArray(
2551 1, this_._internal_heuristic(), target);
2555 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2556 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2557 2, *this_._impl_.parameters_, this_._impl_.parameters_->GetCachedSize(), target,
2561 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2563 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2564 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2570#if defined(PROTOBUF_CUSTOM_VTABLE)
2572 const RecreateStrategy& this_ =
static_cast<const RecreateStrategy&
>(base);
2575 const RecreateStrategy& this_ = *
this;
2578 ::size_t total_size = 0;
2580 ::uint32_t cached_has_bits = 0;
2582 (void)cached_has_bits;
2584 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2585 cached_has_bits = this_._impl_._has_bits_[0];
2586 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2588 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2590 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_);
2593 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2595 ::_pbi::WireFormatLite::EnumSize(this_._internal_heuristic());
2598 return this_.MaybeComputeUnknownFieldsSize(total_size,
2599 &this_._impl_._cached_size_);
2602void RecreateStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
2603 const ::google::protobuf::MessageLite& from_msg) {
2605 static_cast<RecreateStrategy*
>(&to_msg);
2606 auto& from =
static_cast<const RecreateStrategy&
>(from_msg);
2607 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2608 from.CheckHasBitConsistency();
2612 ABSL_DCHECK_NE(&from, _this);
2613 ::uint32_t cached_has_bits = 0;
2614 (void)cached_has_bits;
2616 cached_has_bits = from._impl_._has_bits_[0];
2617 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2618 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2619 ABSL_DCHECK(from._impl_.parameters_ !=
nullptr);
2620 if (_this->_impl_.parameters_ ==
nullptr) {
2621 _this->_impl_.parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_);
2623 _this->_impl_.parameters_->MergeFrom(*from._impl_.parameters_);
2626 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2627 _this->_impl_.heuristic_ = from._impl_.heuristic_;
2630 _this->_impl_._has_bits_[0] |= cached_has_bits;
2631 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2632 from._internal_metadata_);
2637 if (&from ==
this)
return;
2643void RecreateStrategy::InternalSwap(
RecreateStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2645 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2646 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2647 ::google::protobuf::internal::memswap<
2651 reinterpret_cast<char*
>(&
_impl_.parameters_),
2652 reinterpret_cast<char*
>(&other->_impl_.parameters_));
2656 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2660class RuinCompositionStrategy::_Internal {
2665#if defined(PROTOBUF_CUSTOM_VTABLE)
2668 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2673 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2675#if defined(PROTOBUF_CUSTOM_VTABLE)
2678 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2682 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2683 from._internal_metadata_);
2688inline void* PROTOBUF_NONNULL RuinCompositionStrategy::PlacementNew_(
2689 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
2690 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2693constexpr auto RuinCompositionStrategy::InternalNewImpl_() {
2694 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(RuinCompositionStrategy),
2695 alignof(RuinCompositionStrategy));
2698 return ::google::protobuf::internal::ClassDataFull{
2699 ::google::protobuf::internal::ClassData{
2704 &RuinCompositionStrategy::MergeImpl,
2705 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<RuinCompositionStrategy>(),
2706#if defined(PROTOBUF_CUSTOM_VTABLE)
2707 &RuinCompositionStrategy::SharedDtor,
2708 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<RuinCompositionStrategy>(), &RuinCompositionStrategy::ByteSizeLong,
2709 &RuinCompositionStrategy::_InternalSerialize,
2714 &RuinCompositionStrategy::kDescriptorMethods,
2720PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2724PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2725RuinCompositionStrategy::GetClassData()
const {
2730PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2731const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
2732RuinCompositionStrategy::_table_ = {
2737 offsetof(
decltype(_table_), field_lookup_table),
2739 offsetof(
decltype(_table_), field_names),
2742 offsetof(
decltype(_table_), field_names),
2745 ::_pbi::TcParser::GenericFallback,
2746 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2747 ::_pbi::TcParser::GetTable<::operations_research::RuinCompositionStrategy>(),
2750 {::_pbi::TcParser::MiniParse, {}},
2765 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
2769class RuinRecreateParameters::_Internal {
2772 decltype(::std::declval<RuinRecreateParameters>()._impl_._has_bits_);
2773 static constexpr ::int32_t kHasBitsOffset =
2778#if defined(PROTOBUF_CUSTOM_VTABLE)
2781 : ::google::protobuf::Message(arena) {
2786PROTOBUF_NDEBUG_INLINE RuinRecreateParameters::Impl_::Impl_(
2787 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2788 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
2789 [[maybe_unused]] const ::operations_research::RuinRecreateParameters& from_msg)
2790 : _has_bits_{from._has_bits_},
2792 ruin_strategies_{visibility, arena, from.ruin_strategies_} {}
2795 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2797#if defined(PROTOBUF_CUSTOM_VTABLE)
2800 : ::google::protobuf::Message(arena) {
2804 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
2805 from._internal_metadata_);
2806 new (&
_impl_) Impl_(internal_visibility(), arena, from.
_impl_, from);
2807 ::uint32_t cached_has_bits =
_impl_._has_bits_[0];
2808 _impl_.recreate_strategy_ = (CheckHasBit(cached_has_bits, 0x00000002U))
2809 ? ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.recreate_strategy_)
2811 ::memcpy(
reinterpret_cast<char*
>(&
_impl_) +
2812 offsetof(Impl_, ruin_composition_strategy_),
2813 reinterpret_cast<const char*
>(&from.
_impl_) +
2814 offsetof(Impl_, ruin_composition_strategy_),
2815 offsetof(Impl_, route_selection_max_neighbors_) -
2816 offsetof(Impl_, ruin_composition_strategy_) +
2817 sizeof(Impl_::route_selection_max_neighbors_));
2821PROTOBUF_NDEBUG_INLINE RuinRecreateParameters::Impl_::Impl_(
2822 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2823 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2825 ruin_strategies_{visibility, arena} {}
2827inline void RuinRecreateParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2828 new (&
_impl_) Impl_(internal_visibility(), arena);
2829 ::memset(
reinterpret_cast<char*
>(&
_impl_) +
2830 offsetof(Impl_, recreate_strategy_),
2832 offsetof(Impl_, route_selection_max_neighbors_) -
2833 offsetof(Impl_, recreate_strategy_) +
2834 sizeof(Impl_::route_selection_max_neighbors_));
2840inline void RuinRecreateParameters::SharedDtor(
MessageLite& self) {
2842 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2843 this_.CheckHasBitConsistency();
2845 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2846 ABSL_DCHECK(this_.GetArena() ==
nullptr);
2847 delete this_._impl_.recreate_strategy_;
2848 this_._impl_.~Impl_();
2851inline void* PROTOBUF_NONNULL RuinRecreateParameters::PlacementNew_(
2852 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
2853 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2856constexpr auto RuinRecreateParameters::InternalNewImpl_() {
2857 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2860 InternalGetArenaOffset(
2861 ::google::protobuf::Message::internal_visibility()),
2863 if (arena_bits.has_value()) {
2864 return ::google::protobuf::internal::MessageCreator::ZeroInit(
2865 sizeof(RuinRecreateParameters), alignof(RuinRecreateParameters), *arena_bits);
2867 return ::google::protobuf::internal::MessageCreator(&RuinRecreateParameters::PlacementNew_,
2868 sizeof(RuinRecreateParameters),
2869 alignof(RuinRecreateParameters));
2873 return ::google::protobuf::internal::ClassDataFull{
2874 ::google::protobuf::internal::ClassData{
2879 &RuinRecreateParameters::MergeImpl,
2880 ::google::protobuf::Message::GetNewImpl<RuinRecreateParameters>(),
2881#if defined(PROTOBUF_CUSTOM_VTABLE)
2882 &RuinRecreateParameters::SharedDtor,
2889 &RuinRecreateParameters::kDescriptorMethods,
2895PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2899PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2900RuinRecreateParameters::GetClassData()
const {
2905PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2906const ::_pbi::TcParseTable<3, 6, 2, 0, 2>
2907RuinRecreateParameters::_table_ = {
2912 offsetof(
decltype(_table_), field_lookup_table),
2914 offsetof(
decltype(_table_), field_entries),
2917 offsetof(
decltype(_table_), aux_entries),
2920 ::_pbi::TcParser::GenericFallback,
2921 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2922 ::_pbi::TcParser::GetTable<::operations_research::RuinRecreateParameters>(),
2925 {::_pbi::TcParser::MiniParse, {}},
2927 {::_pbi::TcParser::FastMtR1,
2935 {::_pbi::TcParser::FastMtS1,
2939 {::_pbi::TcParser::FastF64S1,
2950 {::_pbi::TcParser::MiniParse, {}},
2968 {::_pbi::TcParser::GetTable<::operations_research::RuinStrategy>()},
2969 {::_pbi::TcParser::GetTable<::operations_research::RecreateStrategy>()},
2976 ::google::protobuf::internal::TSanWrite(&
_impl_);
2977 ::uint32_t cached_has_bits = 0;
2979 (void) cached_has_bits;
2981 cached_has_bits =
_impl_._has_bits_[0];
2982 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2983 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2984 _impl_.ruin_strategies_.Clear();
2986 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2987 ABSL_DCHECK(
_impl_.recreate_strategy_ !=
nullptr);
2988 _impl_.recreate_strategy_->Clear();
2991 if (BatchCheckHasBit(cached_has_bits, 0x0000003cU)) {
2992 ::memset(&
_impl_.ruin_composition_strategy_, 0,
static_cast<::
size_t>(
2993 reinterpret_cast<char*
>(&
_impl_.route_selection_max_neighbors_) -
2994 reinterpret_cast<char*
>(&
_impl_.ruin_composition_strategy_)) +
sizeof(
_impl_.route_selection_max_neighbors_));
2996 _impl_._has_bits_.Clear();
2997 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3000#if defined(PROTOBUF_CUSTOM_VTABLE)
3002 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3003 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3007 ::uint8_t* PROTOBUF_NONNULL target,
3008 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
3011 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3012 this_.CheckHasBitConsistency();
3015 ::uint32_t cached_has_bits = 0;
3016 (void)cached_has_bits;
3018 cached_has_bits = this_._impl_._has_bits_[0];
3020 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3021 for (
unsigned i = 0, n =
static_cast<unsigned>(
3022 this_._internal_ruin_strategies_size());
3024 const auto& repfield = this_._internal_ruin_strategies().Get(i);
3026 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3027 1, repfield, repfield.GetCachedSize(),
3033 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3034 if (this_._internal_ruin_composition_strategy() != 0) {
3035 target = stream->EnsureSpace(target);
3036 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3037 2, this_._internal_ruin_composition_strategy(), target);
3042 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3043 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3044 3, *this_._impl_.recreate_strategy_, this_._impl_.recreate_strategy_->GetCachedSize(), target,
3049 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
3050 target = stream->EnsureSpace(target);
3051 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3052 4, this_._internal_route_selection_neighbors_ratio(), target);
3056 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3057 target = stream->EnsureSpace(target);
3058 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
3059 5, this_._internal_route_selection_min_neighbors(), target);
3063 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3064 target = stream->EnsureSpace(target);
3065 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
3066 6, this_._internal_route_selection_max_neighbors(), target);
3069 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3071 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3072 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3078#if defined(PROTOBUF_CUSTOM_VTABLE)
3086 ::size_t total_size = 0;
3088 ::uint32_t cached_has_bits = 0;
3090 (void)cached_has_bits;
3092 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3093 cached_has_bits = this_._impl_._has_bits_[0];
3094 total_size +=
static_cast<bool>(0x00000010U & cached_has_bits) * 9;
3095 if (BatchCheckHasBit(cached_has_bits, 0x0000002fU)) {
3097 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3098 total_size += 1UL * this_._internal_ruin_strategies_size();
3099 for (
const auto& msg : this_._internal_ruin_strategies()) {
3100 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
3104 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3106 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.recreate_strategy_);
3109 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3110 if (this_._internal_ruin_composition_strategy() != 0) {
3112 ::_pbi::WireFormatLite::EnumSize(this_._internal_ruin_composition_strategy());
3116 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3117 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
3118 this_._internal_route_selection_min_neighbors());
3121 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3122 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
3123 this_._internal_route_selection_max_neighbors());
3126 return this_.MaybeComputeUnknownFieldsSize(total_size,
3127 &this_._impl_._cached_size_);
3130void RuinRecreateParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
3131 const ::google::protobuf::MessageLite& from_msg) {
3135 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3136 from.CheckHasBitConsistency();
3140 ABSL_DCHECK_NE(&from, _this);
3141 ::uint32_t cached_has_bits = 0;
3142 (void)cached_has_bits;
3144 cached_has_bits = from.
_impl_._has_bits_[0];
3145 if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
3146 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3147 _this->_internal_mutable_ruin_strategies()->InternalMergeFromWithArena(
3148 ::google::protobuf::MessageLite::internal_visibility(), arena,
3149 from._internal_ruin_strategies());
3151 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3152 ABSL_DCHECK(from.
_impl_.recreate_strategy_ !=
nullptr);
3153 if (_this->
_impl_.recreate_strategy_ ==
nullptr) {
3154 _this->
_impl_.recreate_strategy_ = ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.recreate_strategy_);
3159 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3160 if (from._internal_ruin_composition_strategy() != 0) {
3161 _this->
_impl_.ruin_composition_strategy_ = from.
_impl_.ruin_composition_strategy_;
3164 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3165 _this->
_impl_.route_selection_min_neighbors_ = from.
_impl_.route_selection_min_neighbors_;
3167 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
3168 _this->
_impl_.route_selection_neighbors_ratio_ = from.
_impl_.route_selection_neighbors_ratio_;
3170 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3171 _this->
_impl_.route_selection_max_neighbors_ = from.
_impl_.route_selection_max_neighbors_;
3174 _this->
_impl_._has_bits_[0] |= cached_has_bits;
3175 _this->_internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
3176 from._internal_metadata_);
3181 if (&from ==
this)
return;
3189 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3190 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3191 _impl_.ruin_strategies_.InternalSwap(&other->_impl_.ruin_strategies_);
3192 ::google::protobuf::internal::memswap<
3196 reinterpret_cast<char*
>(&
_impl_.recreate_strategy_),
3197 reinterpret_cast<char*
>(&other->_impl_.recreate_strategy_));
3201 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3205class PerturbationStrategy::_Internal {
3210#if defined(PROTOBUF_CUSTOM_VTABLE)
3213 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3218 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3220#if defined(PROTOBUF_CUSTOM_VTABLE)
3223 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3227 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
3228 from._internal_metadata_);
3233inline void* PROTOBUF_NONNULL PerturbationStrategy::PlacementNew_(
3234 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
3235 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3238constexpr auto PerturbationStrategy::InternalNewImpl_() {
3239 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(PerturbationStrategy),
3240 alignof(PerturbationStrategy));
3243 return ::google::protobuf::internal::ClassDataFull{
3244 ::google::protobuf::internal::ClassData{
3249 &PerturbationStrategy::MergeImpl,
3250 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<PerturbationStrategy>(),
3251#if defined(PROTOBUF_CUSTOM_VTABLE)
3252 &PerturbationStrategy::SharedDtor,
3253 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<PerturbationStrategy>(), &PerturbationStrategy::ByteSizeLong,
3254 &PerturbationStrategy::_InternalSerialize,
3259 &PerturbationStrategy::kDescriptorMethods,
3265PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3269PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3270PerturbationStrategy::GetClassData()
const {
3275PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3276const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3277PerturbationStrategy::_table_ = {
3282 offsetof(
decltype(_table_), field_lookup_table),
3284 offsetof(
decltype(_table_), field_names),
3287 offsetof(
decltype(_table_), field_names),
3290 ::_pbi::TcParser::GenericFallback,
3291 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3292 ::_pbi::TcParser::GetTable<::operations_research::PerturbationStrategy>(),
3295 {::_pbi::TcParser::MiniParse, {}},
3310 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3314class CoolingScheduleStrategy::_Internal {
3319#if defined(PROTOBUF_CUSTOM_VTABLE)
3322 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3327 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3329#if defined(PROTOBUF_CUSTOM_VTABLE)
3332 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3336 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
3337 from._internal_metadata_);
3342inline void* PROTOBUF_NONNULL CoolingScheduleStrategy::PlacementNew_(
3343 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
3344 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3347constexpr auto CoolingScheduleStrategy::InternalNewImpl_() {
3348 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(CoolingScheduleStrategy),
3349 alignof(CoolingScheduleStrategy));
3352 return ::google::protobuf::internal::ClassDataFull{
3353 ::google::protobuf::internal::ClassData{
3358 &CoolingScheduleStrategy::MergeImpl,
3359 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<CoolingScheduleStrategy>(),
3360#if defined(PROTOBUF_CUSTOM_VTABLE)
3361 &CoolingScheduleStrategy::SharedDtor,
3362 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<CoolingScheduleStrategy>(), &CoolingScheduleStrategy::ByteSizeLong,
3363 &CoolingScheduleStrategy::_InternalSerialize,
3368 &CoolingScheduleStrategy::kDescriptorMethods,
3374PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3378PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3379CoolingScheduleStrategy::GetClassData()
const {
3384PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3385const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3386CoolingScheduleStrategy::_table_ = {
3391 offsetof(
decltype(_table_), field_lookup_table),
3393 offsetof(
decltype(_table_), field_names),
3396 offsetof(
decltype(_table_), field_names),
3399 ::_pbi::TcParser::GenericFallback,
3400 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3401 ::_pbi::TcParser::GetTable<::operations_research::CoolingScheduleStrategy>(),
3404 {::_pbi::TcParser::MiniParse, {}},
3419 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3423class GreedyDescentAcceptanceStrategy::_Internal {
3428#if defined(PROTOBUF_CUSTOM_VTABLE)
3431 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3436 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3438#if defined(PROTOBUF_CUSTOM_VTABLE)
3441 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3445 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
3446 from._internal_metadata_);
3451inline void* PROTOBUF_NONNULL GreedyDescentAcceptanceStrategy::PlacementNew_(
3452 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
3453 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3456constexpr auto GreedyDescentAcceptanceStrategy::InternalNewImpl_() {
3457 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(GreedyDescentAcceptanceStrategy),
3458 alignof(GreedyDescentAcceptanceStrategy));
3461 return ::google::protobuf::internal::ClassDataFull{
3462 ::google::protobuf::internal::ClassData{
3467 &GreedyDescentAcceptanceStrategy::MergeImpl,
3468 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<GreedyDescentAcceptanceStrategy>(),
3469#if defined(PROTOBUF_CUSTOM_VTABLE)
3470 &GreedyDescentAcceptanceStrategy::SharedDtor,
3471 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<GreedyDescentAcceptanceStrategy>(), &GreedyDescentAcceptanceStrategy::ByteSizeLong,
3472 &GreedyDescentAcceptanceStrategy::_InternalSerialize,
3477 &GreedyDescentAcceptanceStrategy::kDescriptorMethods,
3483PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3487PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3488GreedyDescentAcceptanceStrategy::GetClassData()
const {
3493PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3494const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3495GreedyDescentAcceptanceStrategy::_table_ = {
3500 offsetof(
decltype(_table_), field_lookup_table),
3502 offsetof(
decltype(_table_), field_names),
3505 offsetof(
decltype(_table_), field_names),
3508 ::_pbi::TcParser::GenericFallback,
3509 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3510 ::_pbi::TcParser::GetTable<::operations_research::GreedyDescentAcceptanceStrategy>(),
3513 {::_pbi::TcParser::MiniParse, {}},
3528 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3532class SimulatedAnnealingAcceptanceStrategy::_Internal {
3535 decltype(::std::declval<SimulatedAnnealingAcceptanceStrategy>()._impl_._has_bits_);
3536 static constexpr ::int32_t kHasBitsOffset =
3537 8 * PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_._has_bits_);
3541#if defined(PROTOBUF_CUSTOM_VTABLE)
3544 : ::google::protobuf::Message(arena) {
3551#if defined(PROTOBUF_CUSTOM_VTABLE)
3554 : ::google::protobuf::Message(arena),
3557 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3558 from._internal_metadata_);
3560PROTOBUF_NDEBUG_INLINE SimulatedAnnealingAcceptanceStrategy::Impl_::Impl_(
3561 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3562 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3563 : _cached_size_{0} {}
3565inline void SimulatedAnnealingAcceptanceStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3566 new (&
_impl_) Impl_(internal_visibility(), arena);
3567 ::memset(
reinterpret_cast<char*
>(&
_impl_) +
3568 offsetof(Impl_, initial_temperature_),
3570 offsetof(Impl_, final_temperature_) -
3571 offsetof(Impl_, initial_temperature_) +
3572 sizeof(Impl_::final_temperature_));
3578inline void SimulatedAnnealingAcceptanceStrategy::SharedDtor(
MessageLite& self) {
3580 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3581 this_.CheckHasBitConsistency();
3583 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3584 ABSL_DCHECK(this_.GetArena() ==
nullptr);
3585 this_._impl_.~Impl_();
3588inline void* PROTOBUF_NONNULL SimulatedAnnealingAcceptanceStrategy::PlacementNew_(
3589 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
3590 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3593constexpr auto SimulatedAnnealingAcceptanceStrategy::InternalNewImpl_() {
3598 return ::google::protobuf::internal::ClassDataFull{
3599 ::google::protobuf::internal::ClassData{
3604 &SimulatedAnnealingAcceptanceStrategy::MergeImpl,
3605 ::google::protobuf::Message::GetNewImpl<SimulatedAnnealingAcceptanceStrategy>(),
3606#if defined(PROTOBUF_CUSTOM_VTABLE)
3607 &SimulatedAnnealingAcceptanceStrategy::SharedDtor,
3614 &SimulatedAnnealingAcceptanceStrategy::kDescriptorMethods,
3620PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3624PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3625SimulatedAnnealingAcceptanceStrategy::GetClassData()
const {
3630PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3631const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
3632SimulatedAnnealingAcceptanceStrategy::_table_ = {
3637 offsetof(
decltype(_table_), field_lookup_table),
3639 offsetof(
decltype(_table_), field_entries),
3642 offsetof(
decltype(_table_), field_names),
3645 ::_pbi::TcParser::GenericFallback,
3646 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3647 ::_pbi::TcParser::GetTable<::operations_research::SimulatedAnnealingAcceptanceStrategy>(),
3659 {::_pbi::TcParser::FastF64S1,
3663 {::_pbi::TcParser::FastF64S1,
3684 ::google::protobuf::internal::TSanWrite(&
_impl_);
3685 ::uint32_t cached_has_bits = 0;
3687 (void) cached_has_bits;
3689 cached_has_bits =
_impl_._has_bits_[0];
3690 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
3691 ::memset(&
_impl_.initial_temperature_, 0,
static_cast<::
size_t>(
3692 reinterpret_cast<char*
>(&
_impl_.final_temperature_) -
3693 reinterpret_cast<char*
>(&
_impl_.initial_temperature_)) +
sizeof(
_impl_.final_temperature_));
3695 _impl_._has_bits_.Clear();
3696 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3699#if defined(PROTOBUF_CUSTOM_VTABLE)
3701 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3702 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3706 ::uint8_t* PROTOBUF_NONNULL target,
3707 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
3710 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3711 this_.CheckHasBitConsistency();
3714 ::uint32_t cached_has_bits = 0;
3715 (void)cached_has_bits;
3717 cached_has_bits = this_._impl_._has_bits_[0];
3719 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3720 if (this_._internal_cooling_schedule_strategy() != 0) {
3721 target = stream->EnsureSpace(target);
3722 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3723 1, this_._internal_cooling_schedule_strategy(), target);
3728 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3729 target = stream->EnsureSpace(target);
3730 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3731 2, this_._internal_initial_temperature(), target);
3735 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3736 target = stream->EnsureSpace(target);
3737 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3738 3, this_._internal_final_temperature(), target);
3742 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3743 target = stream->EnsureSpace(target);
3744 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3745 4, this_._internal_automatic_temperatures(), target);
3748 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3750 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3751 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3757#if defined(PROTOBUF_CUSTOM_VTABLE)
3765 ::size_t total_size = 0;
3767 ::uint32_t cached_has_bits = 0;
3769 (void)cached_has_bits;
3771 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3772 cached_has_bits = this_._impl_._has_bits_[0];
3773 total_size += ::absl::popcount(0x00000009U & cached_has_bits) * 9;
3774 total_size +=
static_cast<bool>(0x00000004U & cached_has_bits) * 2;
3777 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3778 if (this_._internal_cooling_schedule_strategy() != 0) {
3780 ::_pbi::WireFormatLite::EnumSize(this_._internal_cooling_schedule_strategy());
3784 return this_.MaybeComputeUnknownFieldsSize(total_size,
3785 &this_._impl_._cached_size_);
3788void SimulatedAnnealingAcceptanceStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
3789 const ::google::protobuf::MessageLite& from_msg) {
3793 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3794 from.CheckHasBitConsistency();
3797 ABSL_DCHECK_NE(&from, _this);
3798 ::uint32_t cached_has_bits = 0;
3799 (void)cached_has_bits;
3801 cached_has_bits = from.
_impl_._has_bits_[0];
3802 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
3803 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3804 _this->
_impl_.initial_temperature_ = from.
_impl_.initial_temperature_;
3806 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3807 if (from._internal_cooling_schedule_strategy() != 0) {
3808 _this->
_impl_.cooling_schedule_strategy_ = from.
_impl_.cooling_schedule_strategy_;
3811 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3812 _this->
_impl_.automatic_temperatures_ = from.
_impl_.automatic_temperatures_;
3814 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3815 _this->
_impl_.final_temperature_ = from.
_impl_.final_temperature_;
3818 _this->
_impl_._has_bits_[0] |= cached_has_bits;
3819 _this->_internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
3820 from._internal_metadata_);
3825 if (&from ==
this)
return;
3833 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3834 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3835 ::google::protobuf::internal::memswap<
3839 reinterpret_cast<char*
>(&
_impl_.initial_temperature_),
3840 reinterpret_cast<char*
>(&other->_impl_.initial_temperature_));
3844 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3848class AllNodesPerformedAcceptanceStrategy::_Internal {
3853#if defined(PROTOBUF_CUSTOM_VTABLE)
3856 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3861 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3863#if defined(PROTOBUF_CUSTOM_VTABLE)
3866 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3870 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
3871 from._internal_metadata_);
3876inline void* PROTOBUF_NONNULL AllNodesPerformedAcceptanceStrategy::PlacementNew_(
3877 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
3878 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3881constexpr auto AllNodesPerformedAcceptanceStrategy::InternalNewImpl_() {
3886 return ::google::protobuf::internal::ClassDataFull{
3887 ::google::protobuf::internal::ClassData{
3892 &AllNodesPerformedAcceptanceStrategy::MergeImpl,
3893 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<AllNodesPerformedAcceptanceStrategy>(),
3894#if defined(PROTOBUF_CUSTOM_VTABLE)
3895 &AllNodesPerformedAcceptanceStrategy::SharedDtor,
3896 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<AllNodesPerformedAcceptanceStrategy>(), &AllNodesPerformedAcceptanceStrategy::ByteSizeLong,
3897 &AllNodesPerformedAcceptanceStrategy::_InternalSerialize,
3902 &AllNodesPerformedAcceptanceStrategy::kDescriptorMethods,
3908PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3912PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3913AllNodesPerformedAcceptanceStrategy::GetClassData()
const {
3918PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3919const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3920AllNodesPerformedAcceptanceStrategy::_table_ = {
3925 offsetof(
decltype(_table_), field_lookup_table),
3927 offsetof(
decltype(_table_), field_names),
3930 offsetof(
decltype(_table_), field_names),
3933 ::_pbi::TcParser::GenericFallback,
3934 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3935 ::_pbi::TcParser::GetTable<::operations_research::AllNodesPerformedAcceptanceStrategy>(),
3938 {::_pbi::TcParser::MiniParse, {}},
3953 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3957class MoreNodesPerformedAcceptanceStrategy::_Internal {
3962#if defined(PROTOBUF_CUSTOM_VTABLE)
3965 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3970 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3972#if defined(PROTOBUF_CUSTOM_VTABLE)
3975 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3979 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
3980 from._internal_metadata_);
3985inline void* PROTOBUF_NONNULL MoreNodesPerformedAcceptanceStrategy::PlacementNew_(
3986 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
3987 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3990constexpr auto MoreNodesPerformedAcceptanceStrategy::InternalNewImpl_() {
3995 return ::google::protobuf::internal::ClassDataFull{
3996 ::google::protobuf::internal::ClassData{
4001 &MoreNodesPerformedAcceptanceStrategy::MergeImpl,
4002 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<MoreNodesPerformedAcceptanceStrategy>(),
4003#if defined(PROTOBUF_CUSTOM_VTABLE)
4004 &MoreNodesPerformedAcceptanceStrategy::SharedDtor,
4005 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<MoreNodesPerformedAcceptanceStrategy>(), &MoreNodesPerformedAcceptanceStrategy::ByteSizeLong,
4006 &MoreNodesPerformedAcceptanceStrategy::_InternalSerialize,
4011 &MoreNodesPerformedAcceptanceStrategy::kDescriptorMethods,
4017PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4021PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4022MoreNodesPerformedAcceptanceStrategy::GetClassData()
const {
4027PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4028const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
4029MoreNodesPerformedAcceptanceStrategy::_table_ = {
4034 offsetof(
decltype(_table_), field_lookup_table),
4036 offsetof(
decltype(_table_), field_names),
4039 offsetof(
decltype(_table_), field_names),
4042 ::_pbi::TcParser::GenericFallback,
4043 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4044 ::_pbi::TcParser::GetTable<::operations_research::MoreNodesPerformedAcceptanceStrategy>(),
4047 {::_pbi::TcParser::MiniParse, {}},
4062 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
4066class AbsencesBasedAcceptanceStrategy::_Internal {
4069 decltype(::std::declval<AbsencesBasedAcceptanceStrategy>()._impl_._has_bits_);
4070 static constexpr ::int32_t kHasBitsOffset =
4071 8 * PROTOBUF_FIELD_OFFSET(AbsencesBasedAcceptanceStrategy, _impl_._has_bits_);
4075#if defined(PROTOBUF_CUSTOM_VTABLE)
4078 : ::google::protobuf::Message(arena) {
4085#if defined(PROTOBUF_CUSTOM_VTABLE)
4088 : ::google::protobuf::Message(arena),
4091 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4092 from._internal_metadata_);
4094PROTOBUF_NDEBUG_INLINE AbsencesBasedAcceptanceStrategy::Impl_::Impl_(
4095 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4096 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4097 : _cached_size_{0} {}
4099inline void AbsencesBasedAcceptanceStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4100 new (&
_impl_) Impl_(internal_visibility(), arena);
4101 _impl_.remove_route_with_lowest_absences_ = {};
4107inline void AbsencesBasedAcceptanceStrategy::SharedDtor(
MessageLite& self) {
4109 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4110 this_.CheckHasBitConsistency();
4112 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4113 ABSL_DCHECK(this_.GetArena() ==
nullptr);
4114 this_._impl_.~Impl_();
4117inline void* PROTOBUF_NONNULL AbsencesBasedAcceptanceStrategy::PlacementNew_(
4118 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
4119 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4122constexpr auto AbsencesBasedAcceptanceStrategy::InternalNewImpl_() {
4127 return ::google::protobuf::internal::ClassDataFull{
4128 ::google::protobuf::internal::ClassData{
4133 &AbsencesBasedAcceptanceStrategy::MergeImpl,
4134 ::google::protobuf::Message::GetNewImpl<AbsencesBasedAcceptanceStrategy>(),
4135#if defined(PROTOBUF_CUSTOM_VTABLE)
4136 &AbsencesBasedAcceptanceStrategy::SharedDtor,
4143 &AbsencesBasedAcceptanceStrategy::kDescriptorMethods,
4149PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4153PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4154AbsencesBasedAcceptanceStrategy::GetClassData()
const {
4159PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4160const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
4161AbsencesBasedAcceptanceStrategy::_table_ = {
4166 offsetof(
decltype(_table_), field_lookup_table),
4168 offsetof(
decltype(_table_), field_entries),
4171 offsetof(
decltype(_table_), field_names),
4174 ::_pbi::TcParser::GenericFallback,
4175 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4176 ::_pbi::TcParser::GetTable<::operations_research::AbsencesBasedAcceptanceStrategy>(),
4195 ::google::protobuf::internal::TSanWrite(&
_impl_);
4196 ::uint32_t cached_has_bits = 0;
4198 (void) cached_has_bits;
4200 _impl_.remove_route_with_lowest_absences_ =
false;
4201 _impl_._has_bits_.Clear();
4202 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
4205#if defined(PROTOBUF_CUSTOM_VTABLE)
4207 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
4208 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
4212 ::uint8_t* PROTOBUF_NONNULL target,
4213 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
4216 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4217 this_.CheckHasBitConsistency();
4220 ::uint32_t cached_has_bits = 0;
4221 (void)cached_has_bits;
4223 cached_has_bits = this_.
_impl_._has_bits_[0];
4225 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4226 target = stream->EnsureSpace(target);
4227 target = ::_pbi::WireFormatLite::WriteBoolToArray(
4228 1, this_._internal_remove_route_with_lowest_absences(), target);
4231 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
4233 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
4234 this_._internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
4240#if defined(PROTOBUF_CUSTOM_VTABLE)
4248 ::size_t total_size = 0;
4250 ::uint32_t cached_has_bits = 0;
4252 (void)cached_has_bits;
4254 cached_has_bits = this_._impl_._has_bits_[0];
4255 total_size +=
static_cast<bool>(0x00000001U & cached_has_bits) * 2;
4256 return this_.MaybeComputeUnknownFieldsSize(total_size,
4257 &this_._impl_._cached_size_);
4260void AbsencesBasedAcceptanceStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
4261 const ::google::protobuf::MessageLite& from_msg) {
4265 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4266 from.CheckHasBitConsistency();
4269 ABSL_DCHECK_NE(&from, _this);
4270 ::uint32_t cached_has_bits = 0;
4271 (void)cached_has_bits;
4273 cached_has_bits = from.
_impl_._has_bits_[0];
4274 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4275 _this->
_impl_.remove_route_with_lowest_absences_ = from.
_impl_.remove_route_with_lowest_absences_;
4277 _this->
_impl_._has_bits_[0] |= cached_has_bits;
4278 _this->_internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
4279 from._internal_metadata_);
4284 if (&from ==
this)
return;
4292 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4293 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
4294 swap(
_impl_.remove_route_with_lowest_absences_, other->_impl_.remove_route_with_lowest_absences_);
4298 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
4304 static constexpr ::int32_t kOneofCaseOffset =
4309 ::google::protobuf::Arena* message_arena = GetArena();
4311 if (greedy_descent) {
4313 if (message_arena != submessage_arena) {
4314 greedy_descent = ::google::protobuf::internal::GetOwnedMessage(message_arena, greedy_descent, submessage_arena);
4316 set_has_greedy_descent();
4317 _impl_.strategy_.greedy_descent_ = greedy_descent;
4322 ::google::protobuf::Arena* message_arena = GetArena();
4326 if (message_arena != submessage_arena) {
4329 set_has_simulated_annealing();
4335 ::google::protobuf::Arena* message_arena = GetArena();
4339 if (message_arena != submessage_arena) {
4342 set_has_all_nodes_performed();
4348 ::google::protobuf::Arena* message_arena = GetArena();
4352 if (message_arena != submessage_arena) {
4355 set_has_more_nodes_performed();
4361 ::google::protobuf::Arena* message_arena = GetArena();
4364 ::google::protobuf::Arena* submessage_arena =
absences_based->GetArena();
4365 if (message_arena != submessage_arena) {
4368 set_has_absences_based();
4374#if defined(PROTOBUF_CUSTOM_VTABLE)
4377 : ::google::protobuf::Message(arena) {
4382PROTOBUF_NDEBUG_INLINE AcceptanceStrategy::Impl_::Impl_(
4383 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4384 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
4385 [[maybe_unused]] const ::operations_research::AcceptanceStrategy& from_msg)
4388 _oneof_case_{from._oneof_case_[0]} {}
4391 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4392 const AcceptanceStrategy& from)
4393#if defined(PROTOBUF_CUSTOM_VTABLE)
4396 : ::google::protobuf::Message(arena) {
4398 AcceptanceStrategy*
const _this =
this;
4400 _internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
4401 from._internal_metadata_);
4402 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
4403 switch (strategy_case()) {
4404 case STRATEGY_NOT_SET:
4406 case kGreedyDescent:
4407 _impl_.strategy_.greedy_descent_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.greedy_descent_);
4409 case kSimulatedAnnealing:
4410 _impl_.strategy_.simulated_annealing_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.simulated_annealing_);
4412 case kAllNodesPerformed:
4413 _impl_.strategy_.all_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.all_nodes_performed_);
4415 case kMoreNodesPerformed:
4416 _impl_.strategy_.more_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.more_nodes_performed_);
4418 case kAbsencesBased:
4419 _impl_.strategy_.absences_based_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.absences_based_);
4425PROTOBUF_NDEBUG_INLINE AcceptanceStrategy::Impl_::Impl_(
4426 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4427 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4432inline void AcceptanceStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4433 new (&
_impl_) Impl_(internal_visibility(), arena);
4439inline void AcceptanceStrategy::SharedDtor(MessageLite& self) {
4441 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4442 this_.CheckHasBitConsistency();
4444 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4445 ABSL_DCHECK(this_.GetArena() ==
nullptr);
4446 if (this_.has_strategy()) {
4447 this_.clear_strategy();
4449 this_._impl_.~Impl_();
4454 ::google::protobuf::internal::TSanWrite(&
_impl_);
4457 if (GetArena() ==
nullptr) {
4458 delete _impl_.strategy_.greedy_descent_;
4459 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4460 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.strategy_.greedy_descent_);
4465 if (GetArena() ==
nullptr) {
4466 delete _impl_.strategy_.simulated_annealing_;
4467 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4468 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.strategy_.simulated_annealing_);
4473 if (GetArena() ==
nullptr) {
4475 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4476 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.strategy_.all_nodes_performed_);
4481 if (GetArena() ==
nullptr) {
4482 delete _impl_.strategy_.more_nodes_performed_;
4483 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4484 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.strategy_.more_nodes_performed_);
4489 if (GetArena() ==
nullptr) {
4490 delete _impl_.strategy_.absences_based_;
4491 }
else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4492 ::google::protobuf::internal::MaybePoisonAfterClear(
_impl_.strategy_.absences_based_);
4504inline void* PROTOBUF_NONNULL AcceptanceStrategy::PlacementNew_(
4505 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
4506 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4509constexpr auto AcceptanceStrategy::InternalNewImpl_() {
4510 return ::google::protobuf::internal::MessageCreator::ZeroInit(
sizeof(
AcceptanceStrategy),
4514 return ::google::protobuf::internal::ClassDataFull{
4515 ::google::protobuf::internal::ClassData{
4520 &AcceptanceStrategy::MergeImpl,
4521 ::google::protobuf::Message::GetNewImpl<AcceptanceStrategy>(),
4522#if defined(PROTOBUF_CUSTOM_VTABLE)
4523 &AcceptanceStrategy::SharedDtor,
4530 &AcceptanceStrategy::kDescriptorMethods,
4536PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4540PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4541AcceptanceStrategy::GetClassData()
const {
4546PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4547const ::_pbi::TcParseTable<0, 5, 5, 0, 2>
4548AcceptanceStrategy::_table_ = {
4553 offsetof(
decltype(_table_), field_lookup_table),
4555 offsetof(
decltype(_table_), field_entries),
4558 offsetof(
decltype(_table_), aux_entries),
4561 ::_pbi::TcParser::GenericFallback,
4562 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4563 ::_pbi::TcParser::GetTable<::operations_research::AcceptanceStrategy>(),
4566 {::_pbi::TcParser::MiniParse, {}},
4571 {PROTOBUF_FIELD_OFFSET(
AcceptanceStrategy, _impl_.strategy_.greedy_descent_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4573 {PROTOBUF_FIELD_OFFSET(
AcceptanceStrategy, _impl_.strategy_.simulated_annealing_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4575 {PROTOBUF_FIELD_OFFSET(
AcceptanceStrategy, _impl_.strategy_.all_nodes_performed_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4577 {PROTOBUF_FIELD_OFFSET(
AcceptanceStrategy, _impl_.strategy_.more_nodes_performed_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4579 {PROTOBUF_FIELD_OFFSET(
AcceptanceStrategy, _impl_.strategy_.absences_based_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4582 {::_pbi::TcParser::GetTable<::operations_research::GreedyDescentAcceptanceStrategy>()},
4583 {::_pbi::TcParser::GetTable<::operations_research::SimulatedAnnealingAcceptanceStrategy>()},
4584 {::_pbi::TcParser::GetTable<::operations_research::AllNodesPerformedAcceptanceStrategy>()},
4585 {::_pbi::TcParser::GetTable<::operations_research::MoreNodesPerformedAcceptanceStrategy>()},
4586 {::_pbi::TcParser::GetTable<::operations_research::AbsencesBasedAcceptanceStrategy>()},
4593 ::google::protobuf::internal::TSanWrite(&
_impl_);
4594 ::uint32_t cached_has_bits = 0;
4596 (void) cached_has_bits;
4599 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
4602#if defined(PROTOBUF_CUSTOM_VTABLE)
4604 const ::google::protobuf::MessageLite&
base, ::uint8_t* PROTOBUF_NONNULL target,
4605 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
4609 ::uint8_t* PROTOBUF_NONNULL target,
4610 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
4613 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4614 this_.CheckHasBitConsistency();
4617 ::uint32_t cached_has_bits = 0;
4618 (void)cached_has_bits;
4622 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4628 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4634 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4640 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4646 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4654 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
4656 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
4657 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
4663#if defined(PROTOBUF_CUSTOM_VTABLE)
4671 ::size_t total_size = 0;
4673 ::uint32_t cached_has_bits = 0;
4675 (void)cached_has_bits;
4677 switch (this_.strategy_case()) {
4681 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.greedy_descent_);
4687 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.simulated_annealing_);
4693 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.all_nodes_performed_);
4699 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.more_nodes_performed_);
4705 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.absences_based_);
4712 return this_.MaybeComputeUnknownFieldsSize(total_size,
4713 &this_._impl_._cached_size_);
4716void AcceptanceStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
4717 const ::google::protobuf::MessageLite& from_msg) {
4721 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4722 from.CheckHasBitConsistency();
4726 ABSL_DCHECK_NE(&from, _this);
4727 ::uint32_t cached_has_bits = 0;
4728 (void)cached_has_bits;
4730 if (
const uint32_t oneof_from_case =
4731 from._impl_._oneof_case_[0]) {
4732 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
4733 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
4734 if (oneof_needs_init) {
4735 if (oneof_to_case != 0) {
4736 _this->clear_strategy();
4738 _this->_impl_._oneof_case_[0] = oneof_from_case;
4741 switch (oneof_from_case) {
4743 if (oneof_needs_init) {
4744 _this->_impl_.strategy_.greedy_descent_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.greedy_descent_);
4746 _this->_impl_.strategy_.greedy_descent_->MergeFrom(*from._impl_.strategy_.greedy_descent_);
4751 if (oneof_needs_init) {
4752 _this->_impl_.strategy_.simulated_annealing_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.simulated_annealing_);
4754 _this->_impl_.strategy_.simulated_annealing_->MergeFrom(*from._impl_.strategy_.simulated_annealing_);
4759 if (oneof_needs_init) {
4760 _this->_impl_.strategy_.all_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.all_nodes_performed_);
4762 _this->_impl_.strategy_.all_nodes_performed_->MergeFrom(*from._impl_.strategy_.all_nodes_performed_);
4767 if (oneof_needs_init) {
4768 _this->_impl_.strategy_.more_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.more_nodes_performed_);
4770 _this->_impl_.strategy_.more_nodes_performed_->MergeFrom(*from._impl_.strategy_.more_nodes_performed_);
4775 if (oneof_needs_init) {
4776 _this->_impl_.strategy_.absences_based_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.absences_based_);
4778 _this->_impl_.strategy_.absences_based_->MergeFrom(*from._impl_.strategy_.absences_based_);
4786 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4787 from._internal_metadata_);
4792 if (&from ==
this)
return;
4798void AcceptanceStrategy::InternalSwap(
AcceptanceStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
4800 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4801 swap(
_impl_.strategy_, other->_impl_.strategy_);
4802 swap(
_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
4806 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
4813 decltype(::std::declval<IteratedLocalSearchParameters>()._impl_._has_bits_);
4814 static constexpr ::int32_t kHasBitsOffset =
4819#if defined(PROTOBUF_CUSTOM_VTABLE)
4822 : ::google::protobuf::Message(arena) {
4827PROTOBUF_NDEBUG_INLINE IteratedLocalSearchParameters::Impl_::Impl_(
4828 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4829 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
4830 [[maybe_unused]] const ::operations_research::IteratedLocalSearchParameters& from_msg)
4831 : _has_bits_{from._has_bits_},
4835 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4837#if defined(PROTOBUF_CUSTOM_VTABLE)
4840 : ::google::protobuf::Message(arena) {
4844 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4845 from._internal_metadata_);
4846 new (&
_impl_) Impl_(internal_visibility(), arena, from.
_impl_, from);
4847 ::uint32_t cached_has_bits =
_impl_._has_bits_[0];
4848 _impl_.ruin_recreate_parameters_ = (CheckHasBit(cached_has_bits, 0x00000001U))
4849 ? ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.ruin_recreate_parameters_)
4851 _impl_.reference_solution_acceptance_strategy_ = (CheckHasBit(cached_has_bits, 0x00000002U))
4852 ? ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.reference_solution_acceptance_strategy_)
4854 _impl_.best_solution_acceptance_strategy_ = (CheckHasBit(cached_has_bits, 0x00000004U))
4855 ? ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.best_solution_acceptance_strategy_)
4857 ::memcpy(
reinterpret_cast<char*
>(&
_impl_) +
4858 offsetof(Impl_, perturbation_strategy_),
4859 reinterpret_cast<const char*
>(&from.
_impl_) +
4860 offsetof(Impl_, perturbation_strategy_),
4861 offsetof(Impl_, improve_perturbed_solution_) -
4862 offsetof(Impl_, perturbation_strategy_) +
4863 sizeof(Impl_::improve_perturbed_solution_));
4867PROTOBUF_NDEBUG_INLINE IteratedLocalSearchParameters::Impl_::Impl_(
4868 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4869 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4870 : _cached_size_{0} {}
4872inline void IteratedLocalSearchParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4873 new (&
_impl_) Impl_(internal_visibility(), arena);
4874 ::memset(
reinterpret_cast<char*
>(&
_impl_) +
4875 offsetof(Impl_, ruin_recreate_parameters_),
4877 offsetof(Impl_, improve_perturbed_solution_) -
4878 offsetof(Impl_, ruin_recreate_parameters_) +
4879 sizeof(Impl_::improve_perturbed_solution_));
4885inline void IteratedLocalSearchParameters::SharedDtor(
MessageLite& self) {
4887 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4888 this_.CheckHasBitConsistency();
4890 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4891 ABSL_DCHECK(this_.GetArena() ==
nullptr);
4892 delete this_._impl_.ruin_recreate_parameters_;
4893 delete this_._impl_.reference_solution_acceptance_strategy_;
4894 delete this_._impl_.best_solution_acceptance_strategy_;
4895 this_._impl_.~Impl_();
4898inline void* PROTOBUF_NONNULL IteratedLocalSearchParameters::PlacementNew_(
4899 const void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
4900 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4903constexpr auto IteratedLocalSearchParameters::InternalNewImpl_() {
4908 return ::google::protobuf::internal::ClassDataFull{
4909 ::google::protobuf::internal::ClassData{
4914 &IteratedLocalSearchParameters::MergeImpl,
4915 ::google::protobuf::Message::GetNewImpl<IteratedLocalSearchParameters>(),
4916#if defined(PROTOBUF_CUSTOM_VTABLE)
4917 &IteratedLocalSearchParameters::SharedDtor,
4924 &IteratedLocalSearchParameters::kDescriptorMethods,
4930PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4934PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4935IteratedLocalSearchParameters::GetClassData()
const {
4940PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4941const ::_pbi::TcParseTable<3, 5, 3, 0, 2>
4942IteratedLocalSearchParameters::_table_ = {
4947 offsetof(
decltype(_table_), field_lookup_table),
4949 offsetof(
decltype(_table_), field_entries),
4952 offsetof(
decltype(_table_), aux_entries),
4955 ::_pbi::TcParser::GenericFallback,
4956 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4957 ::_pbi::TcParser::GetTable<::operations_research::IteratedLocalSearchParameters>(),
4960 {::_pbi::TcParser::MiniParse, {}},
4966 {::_pbi::TcParser::FastMtS1,
4974 {::_pbi::TcParser::FastMtS1,
4978 {::_pbi::TcParser::FastMtS1,
4981 {::_pbi::TcParser::MiniParse, {}},
4982 {::_pbi::TcParser::MiniParse, {}},
4998 {::_pbi::TcParser::GetTable<::operations_research::RuinRecreateParameters>()},
4999 {::_pbi::TcParser::GetTable<::operations_research::AcceptanceStrategy>()},
5000 {::_pbi::TcParser::GetTable<::operations_research::AcceptanceStrategy>()},
5007 ::google::protobuf::internal::TSanWrite(&
_impl_);
5008 ::uint32_t cached_has_bits = 0;
5010 (void) cached_has_bits;
5012 cached_has_bits =
_impl_._has_bits_[0];
5013 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
5014 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5015 ABSL_DCHECK(
_impl_.ruin_recreate_parameters_ !=
nullptr);
5016 _impl_.ruin_recreate_parameters_->Clear();
5018 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5019 ABSL_DCHECK(
_impl_.reference_solution_acceptance_strategy_ !=
nullptr);
5020 _impl_.reference_solution_acceptance_strategy_->Clear();
5022 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5023 ABSL_DCHECK(
_impl_.best_solution_acceptance_strategy_ !=
nullptr);
5024 _impl_.best_solution_acceptance_strategy_->Clear();
5027 if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
5028 ::memset(&
_impl_.perturbation_strategy_, 0,
static_cast<::
size_t>(
5029 reinterpret_cast<char*
>(&
_impl_.improve_perturbed_solution_) -
5030 reinterpret_cast<char*
>(&
_impl_.perturbation_strategy_)) +
sizeof(
_impl_.improve_perturbed_solution_));
5032 _impl_._has_bits_.Clear();
5033 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
5036#if defined(PROTOBUF_CUSTOM_VTABLE)
5038 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
5039 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
5043 ::uint8_t* PROTOBUF_NONNULL target,
5044 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
5047 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5048 this_.CheckHasBitConsistency();
5051 ::uint32_t cached_has_bits = 0;
5052 (void)cached_has_bits;
5054 cached_has_bits = this_._impl_._has_bits_[0];
5056 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5057 if (this_._internal_perturbation_strategy() != 0) {
5058 target = stream->EnsureSpace(target);
5059 target = ::_pbi::WireFormatLite::WriteEnumToArray(
5060 1, this_._internal_perturbation_strategy(), target);
5065 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5066 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5067 2, *this_._impl_.ruin_recreate_parameters_, this_._impl_.ruin_recreate_parameters_->GetCachedSize(), target,
5072 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
5073 target = stream->EnsureSpace(target);
5074 target = ::_pbi::WireFormatLite::WriteBoolToArray(
5075 3, this_._internal_improve_perturbed_solution(), target);
5079 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5080 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5081 4, *this_._impl_.reference_solution_acceptance_strategy_, this_._impl_.reference_solution_acceptance_strategy_->GetCachedSize(), target,
5086 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5087 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5088 5, *this_._impl_.best_solution_acceptance_strategy_, this_._impl_.best_solution_acceptance_strategy_->GetCachedSize(), target,
5092 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
5094 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
5095 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
5101#if defined(PROTOBUF_CUSTOM_VTABLE)
5109 ::size_t total_size = 0;
5111 ::uint32_t cached_has_bits = 0;
5113 (void)cached_has_bits;
5115 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
5116 cached_has_bits = this_._impl_._has_bits_[0];
5117 total_size +=
static_cast<bool>(0x00000010U & cached_has_bits) * 2;
5118 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
5120 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5122 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.ruin_recreate_parameters_);
5125 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5127 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.reference_solution_acceptance_strategy_);
5130 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5132 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.best_solution_acceptance_strategy_);
5135 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5136 if (this_._internal_perturbation_strategy() != 0) {
5138 ::_pbi::WireFormatLite::EnumSize(this_._internal_perturbation_strategy());
5142 return this_.MaybeComputeUnknownFieldsSize(total_size,
5143 &this_._impl_._cached_size_);
5146void IteratedLocalSearchParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
5147 const ::google::protobuf::MessageLite& from_msg) {
5151 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5152 from.CheckHasBitConsistency();
5156 ABSL_DCHECK_NE(&from, _this);
5157 ::uint32_t cached_has_bits = 0;
5158 (void)cached_has_bits;
5160 cached_has_bits = from.
_impl_._has_bits_[0];
5161 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
5162 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5163 ABSL_DCHECK(from.
_impl_.ruin_recreate_parameters_ !=
nullptr);
5164 if (_this->
_impl_.ruin_recreate_parameters_ ==
nullptr) {
5165 _this->
_impl_.ruin_recreate_parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.ruin_recreate_parameters_);
5170 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5171 ABSL_DCHECK(from.
_impl_.reference_solution_acceptance_strategy_ !=
nullptr);
5172 if (_this->
_impl_.reference_solution_acceptance_strategy_ ==
nullptr) {
5173 _this->
_impl_.reference_solution_acceptance_strategy_ = ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.reference_solution_acceptance_strategy_);
5175 _this->
_impl_.reference_solution_acceptance_strategy_->
MergeFrom(*from.
_impl_.reference_solution_acceptance_strategy_);
5178 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5179 ABSL_DCHECK(from.
_impl_.best_solution_acceptance_strategy_ !=
nullptr);
5180 if (_this->
_impl_.best_solution_acceptance_strategy_ ==
nullptr) {
5181 _this->
_impl_.best_solution_acceptance_strategy_ = ::google::protobuf::Message::CopyConstruct(arena, *from.
_impl_.best_solution_acceptance_strategy_);
5183 _this->
_impl_.best_solution_acceptance_strategy_->
MergeFrom(*from.
_impl_.best_solution_acceptance_strategy_);
5186 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5187 if (from._internal_perturbation_strategy() != 0) {
5188 _this->
_impl_.perturbation_strategy_ = from.
_impl_.perturbation_strategy_;
5191 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
5192 _this->
_impl_.improve_perturbed_solution_ = from.
_impl_.improve_perturbed_solution_;
5195 _this->
_impl_._has_bits_[0] |= cached_has_bits;
5196 _this->_internal_metadata_.
MergeFrom<::google::protobuf::UnknownFieldSet>(
5197 from._internal_metadata_);
5202 if (&from ==
this)
return;
5210 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5211 swap(
_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
5212 ::google::protobuf::internal::memswap<
5216 reinterpret_cast<char*
>(&
_impl_.ruin_recreate_parameters_),
5217 reinterpret_cast<char*
>(&other->_impl_.ruin_recreate_parameters_));
5221 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
5230PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
5233 ::std::false_type{});
5234#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
friend class ::google::protobuf::MessageLite
~AbsencesBasedAcceptanceStrategy() PROTOBUF_FINAL
AbsencesBasedAcceptanceStrategy()
friend void swap(AbsencesBasedAcceptanceStrategy &a, AbsencesBasedAcceptanceStrategy &b)
void MergeFrom(const AbsencesBasedAcceptanceStrategy &from)
::size_t ByteSizeLong() const final
static constexpr auto InternalGenerateClassData_()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const AbsencesBasedAcceptanceStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
StrategyCase strategy_case() const
void set_allocated_more_nodes_performed(::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
const ::operations_research::AbsencesBasedAcceptanceStrategy & absences_based() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::MoreNodesPerformedAcceptanceStrategy & more_nodes_performed() const
void CopyFrom(const AcceptanceStrategy &from)
static constexpr auto InternalGenerateClassData_()
::size_t ByteSizeLong() const final
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::operations_research::AllNodesPerformedAcceptanceStrategy & all_nodes_performed() const
void set_allocated_absences_based(::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE value)
void set_allocated_all_nodes_performed(::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
void MergeFrom(const AcceptanceStrategy &from)
const ::operations_research::SimulatedAnnealingAcceptanceStrategy & simulated_annealing() const
~AcceptanceStrategy() PROTOBUF_FINAL
void set_allocated_greedy_descent(::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE value)
friend void swap(AcceptanceStrategy &a, AcceptanceStrategy &b)
friend class ::google::protobuf::Arena
void set_allocated_simulated_annealing(::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE value)
static constexpr auto InternalGenerateClassData_()
CoolingScheduleStrategy()
void MergeFrom(const CoolingScheduleStrategy &from)
::google::protobuf::Metadata GetMetadata() const
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const GreedyDescentAcceptanceStrategy &from)
GreedyDescentAcceptanceStrategy()
static constexpr ::int32_t kHasBitsOffset
friend class ::google::protobuf::MessageLite
static constexpr auto InternalGenerateClassData_()
void CopyFrom(const IteratedLocalSearchParameters &from)
~IteratedLocalSearchParameters() PROTOBUF_FINAL
IteratedLocalSearchParameters()
friend void swap(IteratedLocalSearchParameters &a, IteratedLocalSearchParameters &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::size_t ByteSizeLong() const final
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
void MergeFrom(const IteratedLocalSearchParameters &from)
void MergeFrom(const PerturbationStrategy &from)
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
decltype(::std::declval< RandomWalkRuinStrategy >()._impl_._has_bits_) HasBits
static constexpr ::int32_t kHasBitsOffset
::size_t ByteSizeLong() const final
friend class ::google::protobuf::MessageLite
~RandomWalkRuinStrategy() PROTOBUF_FINAL
friend void swap(RandomWalkRuinStrategy &a, RandomWalkRuinStrategy &b)
static constexpr auto InternalGenerateClassData_()
void MergeFrom(const RandomWalkRuinStrategy &from)
void CopyFrom(const RandomWalkRuinStrategy &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend class ::google::protobuf::Arena
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
friend void swap(RecreateParameters &a, RecreateParameters &b)
void clear_local_cheapest_insertion()
void set_allocated_savings(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
ParametersCase parameters_case() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
@ kGlobalCheapestInsertion
@ kLocalCheapestInsertion
~RecreateParameters() PROTOBUF_FINAL
void clear_global_cheapest_insertion()
void set_allocated_global_cheapest_insertion(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::SavingsParameters & savings() const
const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion() const
void set_allocated_local_cheapest_insertion(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
static constexpr auto InternalGenerateClassData_()
::size_t ByteSizeLong() const final
void MergeFrom(const RecreateParameters &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const RecreateParameters &from)
const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_insertion() const
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
void MergeFrom(const RecreateStrategy &from)
~RecreateStrategy() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
::size_t ByteSizeLong() const final
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const RecreateStrategy &from)
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
RuinCompositionStrategy()
static constexpr ::int32_t kHasBitsOffset
friend class ::google::protobuf::MessageLite
::size_t ByteSizeLong() const final
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(RuinRecreateParameters &a, RuinRecreateParameters &b)
void CopyFrom(const RuinRecreateParameters &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
~RuinRecreateParameters() PROTOBUF_FINAL
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const RuinRecreateParameters &from)
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
void CopyFrom(const RuinStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE value)
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const RuinStrategy &from)
::size_t ByteSizeLong() const final
void set_allocated_sisr(::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE value)
const ::operations_research::SISRRuinStrategy & sisr() const
StrategyCase strategy_case() const
const ::operations_research::RandomWalkRuinStrategy & random_walk() const
void set_allocated_spatially_close_routes(::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE value)
static constexpr auto InternalGenerateClassData_()
const ::operations_research::SpatiallyCloseRoutesRuinStrategy & spatially_close_routes() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
~RuinStrategy() PROTOBUF_FINAL
friend class ::google::protobuf::Arena
friend void swap(RuinStrategy &a, RuinStrategy &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr ::int32_t kHasBitsOffset
::size_t ByteSizeLong() const final
::google::protobuf::Metadata GetMetadata() const
static constexpr auto InternalGenerateClassData_()
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
~SISRRuinStrategy() PROTOBUF_FINAL
void CopyFrom(const SISRRuinStrategy &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr ::int32_t kHasBitsOffset
void CopyFrom(const SimulatedAnnealingAcceptanceStrategy &from)
friend class ::google::protobuf::MessageLite
void MergeFrom(const SimulatedAnnealingAcceptanceStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
::size_t ByteSizeLong() const final
~SimulatedAnnealingAcceptanceStrategy() PROTOBUF_FINAL
SimulatedAnnealingAcceptanceStrategy()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend void swap(SimulatedAnnealingAcceptanceStrategy &a, SimulatedAnnealingAcceptanceStrategy &b)
static constexpr ::int32_t kHasBitsOffset
decltype(::std::declval< SpatiallyCloseRoutesRuinStrategy >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
static constexpr auto InternalGenerateClassData_()
SpatiallyCloseRoutesRuinStrategy()
void MergeFrom(const SpatiallyCloseRoutesRuinStrategy &from)
::size_t ByteSizeLong() const final
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
~SpatiallyCloseRoutesRuinStrategy() PROTOBUF_FINAL
void CopyFrom(const SpatiallyCloseRoutesRuinStrategy &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend void swap(SpatiallyCloseRoutesRuinStrategy &a, SpatiallyCloseRoutesRuinStrategy &b)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecreateParametersDefaultTypeInternal _RecreateParameters_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinCompositionStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CoolingScheduleStrategy_class_data_
PROTOBUF_CONSTINIT const uint32_t PerturbationStrategy_Value_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinStrategyDefaultTypeInternal _RuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AllNodesPerformedAcceptanceStrategyDefaultTypeInternal _AllNodesPerformedAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinCompositionStrategyDefaultTypeInternal _RuinCompositionStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SISRRuinStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SISRRuinStrategyDefaultTypeInternal _SISRRuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IteratedLocalSearchParametersDefaultTypeInternal _IteratedLocalSearchParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SimulatedAnnealingAcceptanceStrategyDefaultTypeInternal _SimulatedAnnealingAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AbsencesBasedAcceptanceStrategyDefaultTypeInternal _AbsencesBasedAcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinRecreateParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AllNodesPerformedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinRecreateParametersDefaultTypeInternal _RuinRecreateParameters_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RuinCompositionStrategy_Value_descriptor()
PROTOBUF_CONSTINIT const uint32_t CoolingScheduleStrategy_Value_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RecreateParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RandomWalkRuinStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AcceptanceStrategyDefaultTypeInternal _AcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull GreedyDescentAcceptanceStrategy_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PerturbationStrategy_Value_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MoreNodesPerformedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GreedyDescentAcceptanceStrategyDefaultTypeInternal _GreedyDescentAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MoreNodesPerformedAcceptanceStrategyDefaultTypeInternal _MoreNodesPerformedAcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AbsencesBasedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RandomWalkRuinStrategyDefaultTypeInternal _RandomWalkRuinStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PerturbationStrategyDefaultTypeInternal _PerturbationStrategy_default_instance_
PerturbationStrategy_Value
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SimulatedAnnealingAcceptanceStrategy_class_data_
PROTOBUF_CONSTINIT const uint32_t RuinCompositionStrategy_Value_internal_data_[]
CoolingScheduleStrategy_Value
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpatiallyCloseRoutesRuinStrategyDefaultTypeInternal _SpatiallyCloseRoutesRuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecreateStrategyDefaultTypeInternal _RecreateStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RecreateStrategy_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CoolingScheduleStrategy_Value_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoolingScheduleStrategyDefaultTypeInternal _CoolingScheduleStrategy_default_instance_
FirstSolutionStrategy_Value
RuinCompositionStrategy_Value
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fenums_2eproto
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto
static const ::_pbi::DescriptorTable *PROTOBUF_NONNULL const descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_deps[2]
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto
const ::uint32_t TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto
::absl::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_once
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto[3]
PROTOBUF_CONSTEXPR AbsencesBasedAcceptanceStrategyDefaultTypeInternal()
AbsencesBasedAcceptanceStrategy _instance
~AbsencesBasedAcceptanceStrategyDefaultTypeInternal()
AcceptanceStrategy _instance
~AcceptanceStrategyDefaultTypeInternal()
PROTOBUF_CONSTEXPR AcceptanceStrategyDefaultTypeInternal()
~CoolingScheduleStrategyDefaultTypeInternal()
CoolingScheduleStrategy _instance
PROTOBUF_CONSTEXPR CoolingScheduleStrategyDefaultTypeInternal()
GreedyDescentAcceptanceStrategy _instance
~GreedyDescentAcceptanceStrategyDefaultTypeInternal()
PROTOBUF_CONSTEXPR GreedyDescentAcceptanceStrategyDefaultTypeInternal()
~IteratedLocalSearchParametersDefaultTypeInternal()
IteratedLocalSearchParameters _instance
PROTOBUF_CONSTEXPR IteratedLocalSearchParametersDefaultTypeInternal()
PROTOBUF_CONSTEXPR PerturbationStrategyDefaultTypeInternal()
PerturbationStrategy _instance
~PerturbationStrategyDefaultTypeInternal()
~RandomWalkRuinStrategyDefaultTypeInternal()
PROTOBUF_CONSTEXPR RandomWalkRuinStrategyDefaultTypeInternal()
RandomWalkRuinStrategy _instance
RecreateParameters _instance
~RecreateParametersDefaultTypeInternal()
PROTOBUF_CONSTEXPR RecreateParametersDefaultTypeInternal()
RecreateStrategy _instance
PROTOBUF_CONSTEXPR RecreateStrategyDefaultTypeInternal()
~RecreateStrategyDefaultTypeInternal()
RuinCompositionStrategy _instance
PROTOBUF_CONSTEXPR RuinCompositionStrategyDefaultTypeInternal()
~RuinCompositionStrategyDefaultTypeInternal()
~RuinRecreateParametersDefaultTypeInternal()
RuinRecreateParameters _instance
PROTOBUF_CONSTEXPR RuinRecreateParametersDefaultTypeInternal()
~RuinStrategyDefaultTypeInternal()
PROTOBUF_CONSTEXPR RuinStrategyDefaultTypeInternal()
~SISRRuinStrategyDefaultTypeInternal()
PROTOBUF_CONSTEXPR SISRRuinStrategyDefaultTypeInternal()
SISRRuinStrategy _instance
SimulatedAnnealingAcceptanceStrategy _instance
~SimulatedAnnealingAcceptanceStrategyDefaultTypeInternal()
PROTOBUF_CONSTEXPR SimulatedAnnealingAcceptanceStrategyDefaultTypeInternal()
~SpatiallyCloseRoutesRuinStrategyDefaultTypeInternal()
PROTOBUF_CONSTEXPR SpatiallyCloseRoutesRuinStrategyDefaultTypeInternal()
SpatiallyCloseRoutesRuinStrategy _instance
::google::protobuf::Message *PROTOBUF_NULLABLE more_nodes_performed_
::google::protobuf::Message *PROTOBUF_NULLABLE all_nodes_performed_
::google::protobuf::Message *PROTOBUF_NULLABLE absences_based_
::google::protobuf::Message *PROTOBUF_NULLABLE greedy_descent_
::google::protobuf::Message *PROTOBUF_NULLABLE simulated_annealing_
::google::protobuf::Message *PROTOBUF_NULLABLE global_cheapest_insertion_
::google::protobuf::Message *PROTOBUF_NULLABLE savings_
::google::protobuf::Message *PROTOBUF_NULLABLE local_cheapest_insertion_
::google::protobuf::Message *PROTOBUF_NULLABLE spatially_close_routes_
::google::protobuf::Message *PROTOBUF_NULLABLE random_walk_
::google::protobuf::Message *PROTOBUF_NULLABLE sisr_