Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
routing_ils.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/constraint_solver/routing_ils.proto
4// Protobuf C++ Version: 6.31.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28
29inline constexpr SpatiallyCloseRoutesRuinStrategy::Impl_::Impl_(
30 ::_pbi::ConstantInitialized) noexcept
31 : _cached_size_{0},
32 num_ruined_routes_{0u} {}
33
34template <typename>
35PROTOBUF_CONSTEXPR SpatiallyCloseRoutesRuinStrategy::SpatiallyCloseRoutesRuinStrategy(::_pbi::ConstantInitialized)
36#if defined(PROTOBUF_CUSTOM_VTABLE)
37 : ::google::protobuf::Message(SpatiallyCloseRoutesRuinStrategy_class_data_.base()),
38#else // PROTOBUF_CUSTOM_VTABLE
39 : ::google::protobuf::Message(),
40#endif // PROTOBUF_CUSTOM_VTABLE
41 _impl_(::_pbi::ConstantInitialized()) {
42}
50
51PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
53
54inline constexpr SimulatedAnnealingParameters::Impl_::Impl_(
55 ::_pbi::ConstantInitialized) noexcept
56 : _cached_size_{0},
57 initial_temperature_{0},
58 cooling_schedule_strategy_{static_cast< ::operations_research::CoolingScheduleStrategy_Value >(0)},
59 automatic_temperatures_{false},
60 final_temperature_{0} {}
61
62template <typename>
63PROTOBUF_CONSTEXPR SimulatedAnnealingParameters::SimulatedAnnealingParameters(::_pbi::ConstantInitialized)
64#if defined(PROTOBUF_CUSTOM_VTABLE)
65 : ::google::protobuf::Message(SimulatedAnnealingParameters_class_data_.base()),
66#else // PROTOBUF_CUSTOM_VTABLE
67 : ::google::protobuf::Message(),
68#endif // PROTOBUF_CUSTOM_VTABLE
69 _impl_(::_pbi::ConstantInitialized()) {
70}
78
79PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
81
82inline constexpr SISRRuinStrategy::Impl_::Impl_(
83 ::_pbi::ConstantInitialized) noexcept
84 : _cached_size_{0},
85 max_removed_sequence_size_{0u},
86 avg_num_removed_visits_{0u},
87 bypass_factor_{0} {}
88
89template <typename>
90PROTOBUF_CONSTEXPR SISRRuinStrategy::SISRRuinStrategy(::_pbi::ConstantInitialized)
91#if defined(PROTOBUF_CUSTOM_VTABLE)
92 : ::google::protobuf::Message(SISRRuinStrategy_class_data_.base()),
93#else // PROTOBUF_CUSTOM_VTABLE
94 : ::google::protobuf::Message(),
95#endif // PROTOBUF_CUSTOM_VTABLE
96 _impl_(::_pbi::ConstantInitialized()) {
97}
105
106PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
108template <typename>
109PROTOBUF_CONSTEXPR RuinCompositionStrategy::RuinCompositionStrategy(::_pbi::ConstantInitialized)
110#if defined(PROTOBUF_CUSTOM_VTABLE)
111 : ::google::protobuf::internal::ZeroFieldsBase(RuinCompositionStrategy_class_data_.base()){}
112#else // PROTOBUF_CUSTOM_VTABLE
113 : ::google::protobuf::internal::ZeroFieldsBase() {
114}
115#endif // PROTOBUF_CUSTOM_VTABLE
123
124PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
126
127inline constexpr RandomWalkRuinStrategy::Impl_::Impl_(
128 ::_pbi::ConstantInitialized) noexcept
129 : _cached_size_{0},
130 num_removed_visits_{0u} {}
131
132template <typename>
133PROTOBUF_CONSTEXPR RandomWalkRuinStrategy::RandomWalkRuinStrategy(::_pbi::ConstantInitialized)
134#if defined(PROTOBUF_CUSTOM_VTABLE)
135 : ::google::protobuf::Message(RandomWalkRuinStrategy_class_data_.base()),
136#else // PROTOBUF_CUSTOM_VTABLE
137 : ::google::protobuf::Message(),
138#endif // PROTOBUF_CUSTOM_VTABLE
139 _impl_(::_pbi::ConstantInitialized()) {
140}
148
149PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
151template <typename>
152PROTOBUF_CONSTEXPR PerturbationStrategy::PerturbationStrategy(::_pbi::ConstantInitialized)
153#if defined(PROTOBUF_CUSTOM_VTABLE)
154 : ::google::protobuf::internal::ZeroFieldsBase(PerturbationStrategy_class_data_.base()){}
155#else // PROTOBUF_CUSTOM_VTABLE
156 : ::google::protobuf::internal::ZeroFieldsBase() {
157}
158#endif // PROTOBUF_CUSTOM_VTABLE
166
167PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
169template <typename>
170PROTOBUF_CONSTEXPR CoolingScheduleStrategy::CoolingScheduleStrategy(::_pbi::ConstantInitialized)
171#if defined(PROTOBUF_CUSTOM_VTABLE)
172 : ::google::protobuf::internal::ZeroFieldsBase(CoolingScheduleStrategy_class_data_.base()){}
173#else // PROTOBUF_CUSTOM_VTABLE
174 : ::google::protobuf::internal::ZeroFieldsBase() {
175}
176#endif // PROTOBUF_CUSTOM_VTABLE
184
185PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
187template <typename>
188PROTOBUF_CONSTEXPR AcceptanceStrategy::AcceptanceStrategy(::_pbi::ConstantInitialized)
189#if defined(PROTOBUF_CUSTOM_VTABLE)
190 : ::google::protobuf::internal::ZeroFieldsBase(AcceptanceStrategy_class_data_.base()){}
191#else // PROTOBUF_CUSTOM_VTABLE
192 : ::google::protobuf::internal::ZeroFieldsBase() {
193}
194#endif // PROTOBUF_CUSTOM_VTABLE
202
203PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
205
206inline constexpr RuinStrategy::Impl_::Impl_(
207 ::_pbi::ConstantInitialized) noexcept
208 : strategy_{},
209 _cached_size_{0},
210 _oneof_case_{} {}
211
212template <typename>
213PROTOBUF_CONSTEXPR RuinStrategy::RuinStrategy(::_pbi::ConstantInitialized)
214#if defined(PROTOBUF_CUSTOM_VTABLE)
215 : ::google::protobuf::Message(RuinStrategy_class_data_.base()),
216#else // PROTOBUF_CUSTOM_VTABLE
217 : ::google::protobuf::Message(),
218#endif // PROTOBUF_CUSTOM_VTABLE
219 _impl_(::_pbi::ConstantInitialized()) {
220}
222 PROTOBUF_CONSTEXPR RuinStrategyDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
224 union {
226 };
227};
228
229PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
231
232inline constexpr RuinRecreateParameters::Impl_::Impl_(
233 ::_pbi::ConstantInitialized) noexcept
234 : _cached_size_{0},
235 ruin_strategies_{},
236 ruin_composition_strategy_{static_cast< ::operations_research::RuinCompositionStrategy_Value >(0)},
237 recreate_strategy_{static_cast< ::operations_research::FirstSolutionStrategy_Value >(0)},
238 route_selection_neighbors_ratio_{0},
239 route_selection_min_neighbors_{0u},
240 route_selection_max_neighbors_{0u} {}
241
242template <typename>
243PROTOBUF_CONSTEXPR RuinRecreateParameters::RuinRecreateParameters(::_pbi::ConstantInitialized)
244#if defined(PROTOBUF_CUSTOM_VTABLE)
245 : ::google::protobuf::Message(RuinRecreateParameters_class_data_.base()),
246#else // PROTOBUF_CUSTOM_VTABLE
247 : ::google::protobuf::Message(),
248#endif // PROTOBUF_CUSTOM_VTABLE
249 _impl_(::_pbi::ConstantInitialized()) {
250}
258
259PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
261
262inline constexpr IteratedLocalSearchParameters::Impl_::Impl_(
263 ::_pbi::ConstantInitialized) noexcept
264 : _cached_size_{0},
265 ruin_recreate_parameters_{nullptr},
266 simulated_annealing_parameters_{nullptr},
267 perturbation_strategy_{static_cast< ::operations_research::PerturbationStrategy_Value >(0)},
268 improve_perturbed_solution_{false},
269 acceptance_strategy_{static_cast< ::operations_research::AcceptanceStrategy_Value >(0)} {}
270
271template <typename>
272PROTOBUF_CONSTEXPR IteratedLocalSearchParameters::IteratedLocalSearchParameters(::_pbi::ConstantInitialized)
273#if defined(PROTOBUF_CUSTOM_VTABLE)
274 : ::google::protobuf::Message(IteratedLocalSearchParameters_class_data_.base()),
275#else // PROTOBUF_CUSTOM_VTABLE
276 : ::google::protobuf::Message(),
277#endif // PROTOBUF_CUSTOM_VTABLE
278 _impl_(::_pbi::ConstantInitialized()) {
279}
287
288PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
290} // namespace operations_research
291static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
293static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
295const ::uint32_t
297 protodesc_cold) = {
298 0x081, // bitmap
299 PROTOBUF_FIELD_OFFSET(::operations_research::SpatiallyCloseRoutesRuinStrategy, _impl_._has_bits_),
300 4, // hasbit index offset
301 PROTOBUF_FIELD_OFFSET(::operations_research::SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_),
302 0,
303 0x081, // bitmap
304 PROTOBUF_FIELD_OFFSET(::operations_research::RandomWalkRuinStrategy, _impl_._has_bits_),
305 4, // hasbit index offset
306 PROTOBUF_FIELD_OFFSET(::operations_research::RandomWalkRuinStrategy, _impl_.num_removed_visits_),
307 0,
308 0x081, // bitmap
309 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_._has_bits_),
310 6, // hasbit index offset
311 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_.max_removed_sequence_size_),
312 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_.avg_num_removed_visits_),
313 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_.bypass_factor_),
314 0,
315 1,
316 2,
317 0x004, // bitmap
318 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_._oneof_case_[0]),
319 ::_pbi::kInvalidFieldOffsetTag,
320 ::_pbi::kInvalidFieldOffsetTag,
321 ::_pbi::kInvalidFieldOffsetTag,
322 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_.strategy_),
323 0x000, // bitmap
324 0x081, // bitmap
325 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_._has_bits_),
326 9, // hasbit index offset
327 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.ruin_strategies_),
328 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.ruin_composition_strategy_),
329 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.recreate_strategy_),
330 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.route_selection_neighbors_ratio_),
331 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.route_selection_min_neighbors_),
332 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.route_selection_max_neighbors_),
333 ~0u,
334 0,
335 1,
336 2,
337 3,
338 4,
339 0x000, // bitmap
340 0x000, // bitmap
341 0x081, // bitmap
342 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingParameters, _impl_._has_bits_),
343 7, // hasbit index offset
344 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingParameters, _impl_.cooling_schedule_strategy_),
345 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingParameters, _impl_.initial_temperature_),
346 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingParameters, _impl_.final_temperature_),
347 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingParameters, _impl_.automatic_temperatures_),
348 1,
349 0,
350 3,
351 2,
352 0x000, // bitmap
353 0x081, // bitmap
354 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_._has_bits_),
355 8, // hasbit index offset
356 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.perturbation_strategy_),
357 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_),
358 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_),
359 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.acceptance_strategy_),
360 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.simulated_annealing_parameters_),
361 2,
362 0,
363 3,
364 4,
365 1,
366};
367
368static const ::_pbi::MigrationSchema
369 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
381};
395const char descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
396 protodesc_cold) = {
397 "\n+ortools/constraint_solver/routing_ils."
398 "proto\022\023operations_research\032-ortools/cons"
399 "traint_solver/routing_enums.proto\"X\n Spa"
400 "tiallyCloseRoutesRuinStrategy\022\036\n\021num_rui"
401 "ned_routes\030\003 \001(\rH\000\210\001\001B\024\n\022_num_ruined_rou"
402 "tes\"P\n\026RandomWalkRuinStrategy\022\037\n\022num_rem"
403 "oved_visits\030\007 \001(\rH\000\210\001\001B\025\n\023_num_removed_v"
404 "isits\"\306\001\n\020SISRRuinStrategy\022&\n\031max_remove"
405 "d_sequence_size\030\001 \001(\rH\000\210\001\001\022#\n\026avg_num_re"
406 "moved_visits\030\002 \001(\rH\001\210\001\001\022\032\n\rbypass_factor"
407 "\030\003 \001(\001H\002\210\001\001B\034\n\032_max_removed_sequence_siz"
408 "eB\031\n\027_avg_num_removed_visitsB\020\n\016_bypass_"
409 "factor\"\356\001\n\014RuinStrategy\022W\n\026spatially_clo"
410 "se_routes\030\001 \001(\01325.operations_research.Sp"
411 "atiallyCloseRoutesRuinStrategyH\000\022B\n\013rand"
412 "om_walk\030\002 \001(\0132+.operations_research.Rand"
413 "omWalkRuinStrategyH\000\0225\n\004sisr\030\003 \001(\0132%.ope"
414 "rations_research.SISRRuinStrategyH\000B\n\n\010s"
415 "trategy\"s\n\027RuinCompositionStrategy\"X\n\005Va"
416 "lue\022\t\n\005UNSET\020\000\022\030\n\024RUN_ALL_SEQUENTIALLY\020\001"
417 "\022\024\n\020RUN_ALL_RANDOMLY\020\002\022\024\n\020RUN_ONE_RANDOM"
418 "LY\020\003\"\346\003\n\026RuinRecreateParameters\022:\n\017ruin_"
419 "strategies\030\001 \003(\0132!.operations_research.R"
420 "uinStrategy\022U\n\031ruin_composition_strategy"
421 "\030\002 \001(\01622.operations_research.RuinComposi"
422 "tionStrategy.Value\022K\n\021recreate_strategy\030"
423 "\003 \001(\01620.operations_research.FirstSolutio"
424 "nStrategy.Value\022,\n\037route_selection_neigh"
425 "bors_ratio\030\004 \001(\001H\000\210\001\001\022*\n\035route_selection"
426 "_min_neighbors\030\005 \001(\rH\001\210\001\001\022*\n\035route_selec"
427 "tion_max_neighbors\030\006 \001(\rH\002\210\001\001B\"\n _route_"
428 "selection_neighbors_ratioB \n\036_route_sele"
429 "ction_min_neighborsB \n\036_route_selection_"
430 "max_neighbors\"A\n\024PerturbationStrategy\")\n"
431 "\005Value\022\t\n\005UNSET\020\000\022\025\n\021RUIN_AND_RECREATE\020\001"
432 "\"J\n\027CoolingScheduleStrategy\"/\n\005Value\022\t\n\005"
433 "UNSET\020\000\022\017\n\013EXPONENTIAL\020\001\022\n\n\006LINEAR\020\002\"\245\002\n"
434 "\034SimulatedAnnealingParameters\022U\n\031cooling"
435 "_schedule_strategy\030\001 \001(\01622.operations_re"
436 "search.CoolingScheduleStrategy.Value\022 \n\023"
437 "initial_temperature\030\002 \001(\001H\000\210\001\001\022\036\n\021final_"
438 "temperature\030\003 \001(\001H\001\210\001\001\022#\n\026automatic_temp"
439 "eratures\030\004 \001(\010H\002\210\001\001B\026\n\024_initial_temperat"
440 "ureB\024\n\022_final_temperatureB\031\n\027_automatic_"
441 "temperatures\"U\n\022AcceptanceStrategy\"\?\n\005Va"
442 "lue\022\t\n\005UNSET\020\000\022\022\n\016GREEDY_DESCENT\020\001\022\027\n\023SI"
443 "MULATED_ANNEALING\020\002\"\255\003\n\035IteratedLocalSea"
444 "rchParameters\022N\n\025perturbation_strategy\030\001"
445 " \001(\0162/.operations_research.PerturbationS"
446 "trategy.Value\022M\n\030ruin_recreate_parameter"
447 "s\030\002 \001(\0132+.operations_research.RuinRecrea"
448 "teParameters\022\'\n\032improve_perturbed_soluti"
449 "on\030\003 \001(\010H\000\210\001\001\022J\n\023acceptance_strategy\030\004 \001"
450 "(\0162-.operations_research.AcceptanceStrat"
451 "egy.Value\022Y\n\036simulated_annealing_paramet"
452 "ers\030\005 \001(\01321.operations_research.Simulate"
453 "dAnnealingParametersB\035\n\033_improve_perturb"
454 "ed_solutionBI\n#com.google.ortools.constr"
455 "aintsolverP\001\252\002\037Google.OrTools.Constraint"
456 "Solverb\006proto3"
457};
458static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const
479namespace operations_research {
480const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RuinCompositionStrategy_Value_descriptor() {
481 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto);
483}
484PROTOBUF_CONSTINIT const uint32_t RuinCompositionStrategy_Value_internal_data_[] = {
485 262144u, 0u, };
486const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL PerturbationStrategy_Value_descriptor() {
487 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto);
489}
490PROTOBUF_CONSTINIT const uint32_t PerturbationStrategy_Value_internal_data_[] = {
491 131072u, 0u, };
492const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CoolingScheduleStrategy_Value_descriptor() {
493 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto);
495}
496PROTOBUF_CONSTINIT const uint32_t CoolingScheduleStrategy_Value_internal_data_[] = {
497 196608u, 0u, };
498const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL AcceptanceStrategy_Value_descriptor() {
499 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto);
501}
502PROTOBUF_CONSTINIT const uint32_t AcceptanceStrategy_Value_internal_data_[] = {
503 196608u, 0u, };
504// ===================================================================
505
506class SpatiallyCloseRoutesRuinStrategy::_Internal {
507 public:
508 using HasBits =
509 decltype(::std::declval<SpatiallyCloseRoutesRuinStrategy>()._impl_._has_bits_);
510 static constexpr ::int32_t kHasBitsOffset =
511 8 * PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_._has_bits_);
512};
513
514SpatiallyCloseRoutesRuinStrategy::SpatiallyCloseRoutesRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
515#if defined(PROTOBUF_CUSTOM_VTABLE)
516 : ::google::protobuf::Message(arena, SpatiallyCloseRoutesRuinStrategy_class_data_.base()) {
517#else // PROTOBUF_CUSTOM_VTABLE
518 : ::google::protobuf::Message(arena) {
519#endif // PROTOBUF_CUSTOM_VTABLE
520 SharedCtor(arena);
521 // @@protoc_insertion_point(arena_constructor:operations_research.SpatiallyCloseRoutesRuinStrategy)
522}
524 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SpatiallyCloseRoutesRuinStrategy& from)
525#if defined(PROTOBUF_CUSTOM_VTABLE)
526 : ::google::protobuf::Message(arena, SpatiallyCloseRoutesRuinStrategy_class_data_.base()),
527#else // PROTOBUF_CUSTOM_VTABLE
528 : ::google::protobuf::Message(arena),
529#endif // PROTOBUF_CUSTOM_VTABLE
530 _impl_(from._impl_) {
531 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
532 from._internal_metadata_);
533}
534PROTOBUF_NDEBUG_INLINE SpatiallyCloseRoutesRuinStrategy::Impl_::Impl_(
535 ::google::protobuf::internal::InternalVisibility visibility,
536 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
537 : _cached_size_{0} {}
538
539inline void SpatiallyCloseRoutesRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
540 new (&_impl_) Impl_(internal_visibility(), arena);
541 _impl_.num_ruined_routes_ = {};
542}
544 // @@protoc_insertion_point(destructor:operations_research.SpatiallyCloseRoutesRuinStrategy)
545 SharedDtor(*this);
546}
547inline void SpatiallyCloseRoutesRuinStrategy::SharedDtor(MessageLite& self) {
549 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
550 ABSL_DCHECK(this_.GetArena() == nullptr);
551 this_._impl_.~Impl_();
552}
553
554inline void* PROTOBUF_NONNULL SpatiallyCloseRoutesRuinStrategy::PlacementNew_(
555 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
556 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
557 return ::new (mem) SpatiallyCloseRoutesRuinStrategy(arena);
558}
560 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SpatiallyCloseRoutesRuinStrategy),
562}
564 return ::google::protobuf::internal::ClassDataFull{
565 ::google::protobuf::internal::ClassData{
567 &_table_.header,
568 nullptr, // OnDemandRegisterArenaDtor
569 nullptr, // IsInitialized
570 &SpatiallyCloseRoutesRuinStrategy::MergeImpl,
571 ::google::protobuf::Message::GetNewImpl<SpatiallyCloseRoutesRuinStrategy>(),
572#if defined(PROTOBUF_CUSTOM_VTABLE)
573 &SpatiallyCloseRoutesRuinStrategy::SharedDtor,
574 ::google::protobuf::Message::GetClearImpl<SpatiallyCloseRoutesRuinStrategy>(), &SpatiallyCloseRoutesRuinStrategy::ByteSizeLong,
576#endif // PROTOBUF_CUSTOM_VTABLE
577 PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_._cached_size_),
578 false,
579 },
580 &SpatiallyCloseRoutesRuinStrategy::kDescriptorMethods,
582 nullptr, // tracker
583 };
584}
585
586PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
587 ::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_ =
589
590PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
592 ::google::protobuf::internal::PrefetchToLocalCache(&SpatiallyCloseRoutesRuinStrategy_class_data_);
593 ::google::protobuf::internal::PrefetchToLocalCache(SpatiallyCloseRoutesRuinStrategy_class_data_.tc_table);
595}
596PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
597const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
598SpatiallyCloseRoutesRuinStrategy::_table_ = {
599 {
600 PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_._has_bits_),
601 0, // no _extensions_
602 3, 0, // max_field_number, fast_idx_mask
603 offsetof(decltype(_table_), field_lookup_table),
604 4294967291, // skipmap
605 offsetof(decltype(_table_), field_entries),
606 1, // num_field_entries
607 0, // num_aux_entries
608 offsetof(decltype(_table_), field_names), // no aux_entries
610 nullptr, // post_loop_handler
611 ::_pbi::TcParser::GenericFallback, // fallback
612 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
613 ::_pbi::TcParser::GetTable<::operations_research::SpatiallyCloseRoutesRuinStrategy>(), // to_prefetch
614 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
615 }, {{
616 // optional uint32 num_ruined_routes = 3;
617 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_), 0>(),
618 {24, 0, 0, PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_)}},
619 }}, {{
620 65535, 65535
621 }}, {{
622 // optional uint32 num_ruined_routes = 3;
623 {PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_), _Internal::kHasBitsOffset + 0, 0,
624 (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
625 }},
626 // no aux_entries
627 {{
628 }},
629};
630PROTOBUF_NOINLINE void SpatiallyCloseRoutesRuinStrategy::Clear() {
631// @@protoc_insertion_point(message_clear_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
632 ::google::protobuf::internal::TSanWrite(&_impl_);
633 ::uint32_t cached_has_bits = 0;
634 // Prevent compiler warnings about cached_has_bits being unused
635 (void) cached_has_bits;
636
637 _impl_.num_ruined_routes_ = 0u;
638 _impl_._has_bits_.Clear();
639 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
640}
641
642#if defined(PROTOBUF_CUSTOM_VTABLE)
644 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
645 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
647#else // PROTOBUF_CUSTOM_VTABLE
649 ::uint8_t* PROTOBUF_NONNULL target,
650 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
651 const SpatiallyCloseRoutesRuinStrategy& this_ = *this;
652#endif // PROTOBUF_CUSTOM_VTABLE
653 // @@protoc_insertion_point(serialize_to_array_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
654 ::uint32_t cached_has_bits = 0;
655 (void)cached_has_bits;
656
657 cached_has_bits = this_._impl_._has_bits_[0];
658 // optional uint32 num_ruined_routes = 3;
659 if ((cached_has_bits & 0x00000001u) != 0) {
660 target = stream->EnsureSpace(target);
661 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
662 3, this_._internal_num_ruined_routes(), target);
663 }
664
665 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
666 target =
667 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
668 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
669 }
670 // @@protoc_insertion_point(serialize_to_array_end:operations_research.SpatiallyCloseRoutesRuinStrategy)
671 return target;
672}
673
674#if defined(PROTOBUF_CUSTOM_VTABLE)
677#else // PROTOBUF_CUSTOM_VTABLE
680#endif // PROTOBUF_CUSTOM_VTABLE
681 // @@protoc_insertion_point(message_byte_size_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
682 ::size_t total_size = 0;
683
684 ::uint32_t cached_has_bits = 0;
685 // Prevent compiler warnings about cached_has_bits being unused
686 (void)cached_has_bits;
687
688 {
689 // optional uint32 num_ruined_routes = 3;
690 cached_has_bits = this_._impl_._has_bits_[0];
691 if ((cached_has_bits & 0x00000001u) != 0) {
692 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
693 this_._internal_num_ruined_routes());
694 }
695 }
696 return this_.MaybeComputeUnknownFieldsSize(total_size,
697 &this_._impl_._cached_size_);
698}
699
700void SpatiallyCloseRoutesRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
701 auto* const _this = static_cast<SpatiallyCloseRoutesRuinStrategy*>(&to_msg);
702 auto& from = static_cast<const SpatiallyCloseRoutesRuinStrategy&>(from_msg);
703 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
704 ABSL_DCHECK_NE(&from, _this);
705 ::uint32_t cached_has_bits = 0;
706 (void) cached_has_bits;
707
708 cached_has_bits = from._impl_._has_bits_[0];
709 if ((cached_has_bits & 0x00000001u) != 0) {
710 _this->_impl_.num_ruined_routes_ = from._impl_.num_ruined_routes_;
711 }
712 _this->_impl_._has_bits_[0] |= cached_has_bits;
713 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
714}
715
717// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
718 if (&from == this) return;
719 Clear();
720 MergeFrom(from);
721}
722
723
724void SpatiallyCloseRoutesRuinStrategy::InternalSwap(SpatiallyCloseRoutesRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
725 using ::std::swap;
726 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
727 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
728 swap(_impl_.num_ruined_routes_, other->_impl_.num_ruined_routes_);
729}
730
731::google::protobuf::Metadata SpatiallyCloseRoutesRuinStrategy::GetMetadata() const {
732 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
733}
734// ===================================================================
735
737 public:
738 using HasBits =
739 decltype(::std::declval<RandomWalkRuinStrategy>()._impl_._has_bits_);
740 static constexpr ::int32_t kHasBitsOffset =
741 8 * PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_._has_bits_);
743
744RandomWalkRuinStrategy::RandomWalkRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
745#if defined(PROTOBUF_CUSTOM_VTABLE)
746 : ::google::protobuf::Message(arena, RandomWalkRuinStrategy_class_data_.base()) {
747#else // PROTOBUF_CUSTOM_VTABLE
748 : ::google::protobuf::Message(arena) {
749#endif // PROTOBUF_CUSTOM_VTABLE
750 SharedCtor(arena);
751 // @@protoc_insertion_point(arena_constructor:operations_research.RandomWalkRuinStrategy)
752}
754 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RandomWalkRuinStrategy& from)
755#if defined(PROTOBUF_CUSTOM_VTABLE)
756 : ::google::protobuf::Message(arena, RandomWalkRuinStrategy_class_data_.base()),
757#else // PROTOBUF_CUSTOM_VTABLE
758 : ::google::protobuf::Message(arena),
759#endif // PROTOBUF_CUSTOM_VTABLE
760 _impl_(from._impl_) {
761 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
762 from._internal_metadata_);
763}
764PROTOBUF_NDEBUG_INLINE RandomWalkRuinStrategy::Impl_::Impl_(
765 ::google::protobuf::internal::InternalVisibility visibility,
766 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
767 : _cached_size_{0} {}
768
769inline void RandomWalkRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
770 new (&_impl_) Impl_(internal_visibility(), arena);
771 _impl_.num_removed_visits_ = {};
772}
774 // @@protoc_insertion_point(destructor:operations_research.RandomWalkRuinStrategy)
775 SharedDtor(*this);
776}
777inline void RandomWalkRuinStrategy::SharedDtor(MessageLite& self) {
778 RandomWalkRuinStrategy& this_ = static_cast<RandomWalkRuinStrategy&>(self);
779 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
780 ABSL_DCHECK(this_.GetArena() == nullptr);
781 this_._impl_.~Impl_();
782}
783
784inline void* PROTOBUF_NONNULL RandomWalkRuinStrategy::PlacementNew_(
785 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
786 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
787 return ::new (mem) RandomWalkRuinStrategy(arena);
788}
790 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RandomWalkRuinStrategy),
792}
794 return ::google::protobuf::internal::ClassDataFull{
795 ::google::protobuf::internal::ClassData{
797 &_table_.header,
798 nullptr, // OnDemandRegisterArenaDtor
799 nullptr, // IsInitialized
800 &RandomWalkRuinStrategy::MergeImpl,
801 ::google::protobuf::Message::GetNewImpl<RandomWalkRuinStrategy>(),
802#if defined(PROTOBUF_CUSTOM_VTABLE)
803 &RandomWalkRuinStrategy::SharedDtor,
804 ::google::protobuf::Message::GetClearImpl<RandomWalkRuinStrategy>(), &RandomWalkRuinStrategy::ByteSizeLong,
806#endif // PROTOBUF_CUSTOM_VTABLE
807 PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_._cached_size_),
808 false,
809 },
810 &RandomWalkRuinStrategy::kDescriptorMethods,
812 nullptr, // tracker
813 };
814}
815
816PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
817 ::google::protobuf::internal::ClassDataFull RandomWalkRuinStrategy_class_data_ =
820PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
822 ::google::protobuf::internal::PrefetchToLocalCache(&RandomWalkRuinStrategy_class_data_);
823 ::google::protobuf::internal::PrefetchToLocalCache(RandomWalkRuinStrategy_class_data_.tc_table);
825}
826PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
827const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
828RandomWalkRuinStrategy::_table_ = {
829 {
830 PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_._has_bits_),
831 0, // no _extensions_
832 7, 0, // max_field_number, fast_idx_mask
833 offsetof(decltype(_table_), field_lookup_table),
834 4294967231, // skipmap
835 offsetof(decltype(_table_), field_entries),
836 1, // num_field_entries
837 0, // num_aux_entries
838 offsetof(decltype(_table_), field_names), // no aux_entries
840 nullptr, // post_loop_handler
841 ::_pbi::TcParser::GenericFallback, // fallback
842 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
843 ::_pbi::TcParser::GetTable<::operations_research::RandomWalkRuinStrategy>(), // to_prefetch
844 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
845 }, {{
846 // optional uint32 num_removed_visits = 7;
847 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RandomWalkRuinStrategy, _impl_.num_removed_visits_), 0>(),
848 {56, 0, 0, PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_.num_removed_visits_)}},
849 }}, {{
850 65535, 65535
851 }}, {{
852 // optional uint32 num_removed_visits = 7;
853 {PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_.num_removed_visits_), _Internal::kHasBitsOffset + 0, 0,
854 (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
855 }},
856 // no aux_entries
857 {{
858 }},
859};
860PROTOBUF_NOINLINE void RandomWalkRuinStrategy::Clear() {
861// @@protoc_insertion_point(message_clear_start:operations_research.RandomWalkRuinStrategy)
862 ::google::protobuf::internal::TSanWrite(&_impl_);
863 ::uint32_t cached_has_bits = 0;
864 // Prevent compiler warnings about cached_has_bits being unused
865 (void) cached_has_bits;
866
867 _impl_.num_removed_visits_ = 0u;
868 _impl_._has_bits_.Clear();
869 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
870}
871
872#if defined(PROTOBUF_CUSTOM_VTABLE)
873::uint8_t* PROTOBUF_NONNULL RandomWalkRuinStrategy::_InternalSerialize(
874 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
875 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
876 const RandomWalkRuinStrategy& this_ = static_cast<const RandomWalkRuinStrategy&>(base);
877#else // PROTOBUF_CUSTOM_VTABLE
878::uint8_t* PROTOBUF_NONNULL RandomWalkRuinStrategy::_InternalSerialize(
879 ::uint8_t* PROTOBUF_NONNULL target,
880 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
881 const RandomWalkRuinStrategy& this_ = *this;
882#endif // PROTOBUF_CUSTOM_VTABLE
883 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RandomWalkRuinStrategy)
884 ::uint32_t cached_has_bits = 0;
885 (void)cached_has_bits;
886
887 cached_has_bits = this_._impl_._has_bits_[0];
888 // optional uint32 num_removed_visits = 7;
889 if ((cached_has_bits & 0x00000001u) != 0) {
890 target = stream->EnsureSpace(target);
891 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
892 7, this_._internal_num_removed_visits(), target);
893 }
894
895 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
896 target =
897 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
898 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
899 }
900 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RandomWalkRuinStrategy)
901 return target;
902}
903
904#if defined(PROTOBUF_CUSTOM_VTABLE)
906 const RandomWalkRuinStrategy& this_ = static_cast<const RandomWalkRuinStrategy&>(base);
907#else // PROTOBUF_CUSTOM_VTABLE
909 const RandomWalkRuinStrategy& this_ = *this;
910#endif // PROTOBUF_CUSTOM_VTABLE
911 // @@protoc_insertion_point(message_byte_size_start:operations_research.RandomWalkRuinStrategy)
912 ::size_t total_size = 0;
913
914 ::uint32_t cached_has_bits = 0;
915 // Prevent compiler warnings about cached_has_bits being unused
916 (void)cached_has_bits;
917
918 {
919 // optional uint32 num_removed_visits = 7;
920 cached_has_bits = this_._impl_._has_bits_[0];
921 if ((cached_has_bits & 0x00000001u) != 0) {
922 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
923 this_._internal_num_removed_visits());
924 }
925 }
926 return this_.MaybeComputeUnknownFieldsSize(total_size,
927 &this_._impl_._cached_size_);
928}
929
930void RandomWalkRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
931 auto* const _this = static_cast<RandomWalkRuinStrategy*>(&to_msg);
932 auto& from = static_cast<const RandomWalkRuinStrategy&>(from_msg);
933 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RandomWalkRuinStrategy)
934 ABSL_DCHECK_NE(&from, _this);
935 ::uint32_t cached_has_bits = 0;
936 (void) cached_has_bits;
937
938 cached_has_bits = from._impl_._has_bits_[0];
939 if ((cached_has_bits & 0x00000001u) != 0) {
940 _this->_impl_.num_removed_visits_ = from._impl_.num_removed_visits_;
941 }
942 _this->_impl_._has_bits_[0] |= cached_has_bits;
943 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
944}
945
947// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RandomWalkRuinStrategy)
948 if (&from == this) return;
949 Clear();
950 MergeFrom(from);
951}
952
953
954void RandomWalkRuinStrategy::InternalSwap(RandomWalkRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
955 using ::std::swap;
956 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
957 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
958 swap(_impl_.num_removed_visits_, other->_impl_.num_removed_visits_);
959}
960
961::google::protobuf::Metadata RandomWalkRuinStrategy::GetMetadata() const {
962 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
964// ===================================================================
965
967 public:
968 using HasBits =
969 decltype(::std::declval<SISRRuinStrategy>()._impl_._has_bits_);
970 static constexpr ::int32_t kHasBitsOffset =
971 8 * PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_._has_bits_);
972};
974SISRRuinStrategy::SISRRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
975#if defined(PROTOBUF_CUSTOM_VTABLE)
976 : ::google::protobuf::Message(arena, SISRRuinStrategy_class_data_.base()) {
977#else // PROTOBUF_CUSTOM_VTABLE
978 : ::google::protobuf::Message(arena) {
979#endif // PROTOBUF_CUSTOM_VTABLE
980 SharedCtor(arena);
981 // @@protoc_insertion_point(arena_constructor:operations_research.SISRRuinStrategy)
982}
984 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SISRRuinStrategy& from)
985#if defined(PROTOBUF_CUSTOM_VTABLE)
986 : ::google::protobuf::Message(arena, SISRRuinStrategy_class_data_.base()),
987#else // PROTOBUF_CUSTOM_VTABLE
988 : ::google::protobuf::Message(arena),
989#endif // PROTOBUF_CUSTOM_VTABLE
990 _impl_(from._impl_) {
991 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
992 from._internal_metadata_);
993}
994PROTOBUF_NDEBUG_INLINE SISRRuinStrategy::Impl_::Impl_(
995 ::google::protobuf::internal::InternalVisibility visibility,
996 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
997 : _cached_size_{0} {}
998
999inline void SISRRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1000 new (&_impl_) Impl_(internal_visibility(), arena);
1001 ::memset(reinterpret_cast<char *>(&_impl_) +
1002 offsetof(Impl_, max_removed_sequence_size_),
1003 0,
1004 offsetof(Impl_, bypass_factor_) -
1005 offsetof(Impl_, max_removed_sequence_size_) +
1006 sizeof(Impl_::bypass_factor_));
1007}
1009 // @@protoc_insertion_point(destructor:operations_research.SISRRuinStrategy)
1010 SharedDtor(*this);
1012inline void SISRRuinStrategy::SharedDtor(MessageLite& self) {
1013 SISRRuinStrategy& this_ = static_cast<SISRRuinStrategy&>(self);
1014 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1015 ABSL_DCHECK(this_.GetArena() == nullptr);
1016 this_._impl_.~Impl_();
1017}
1018
1019inline void* PROTOBUF_NONNULL SISRRuinStrategy::PlacementNew_(
1020 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1021 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1022 return ::new (mem) SISRRuinStrategy(arena);
1023}
1024constexpr auto SISRRuinStrategy::InternalNewImpl_() {
1025 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SISRRuinStrategy),
1026 alignof(SISRRuinStrategy));
1029 return ::google::protobuf::internal::ClassDataFull{
1030 ::google::protobuf::internal::ClassData{
1032 &_table_.header,
1033 nullptr, // OnDemandRegisterArenaDtor
1034 nullptr, // IsInitialized
1035 &SISRRuinStrategy::MergeImpl,
1036 ::google::protobuf::Message::GetNewImpl<SISRRuinStrategy>(),
1037#if defined(PROTOBUF_CUSTOM_VTABLE)
1038 &SISRRuinStrategy::SharedDtor,
1039 ::google::protobuf::Message::GetClearImpl<SISRRuinStrategy>(), &SISRRuinStrategy::ByteSizeLong,
1041#endif // PROTOBUF_CUSTOM_VTABLE
1042 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_._cached_size_),
1043 false,
1044 },
1045 &SISRRuinStrategy::kDescriptorMethods,
1047 nullptr, // tracker
1048 };
1049}
1050
1051PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1052 ::google::protobuf::internal::ClassDataFull SISRRuinStrategy_class_data_ =
1054
1055PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1057 ::google::protobuf::internal::PrefetchToLocalCache(&SISRRuinStrategy_class_data_);
1058 ::google::protobuf::internal::PrefetchToLocalCache(SISRRuinStrategy_class_data_.tc_table);
1060}
1061PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1062const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
1063SISRRuinStrategy::_table_ = {
1064 {
1065 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_._has_bits_),
1066 0, // no _extensions_
1067 3, 24, // max_field_number, fast_idx_mask
1068 offsetof(decltype(_table_), field_lookup_table),
1069 4294967288, // skipmap
1070 offsetof(decltype(_table_), field_entries),
1071 3, // num_field_entries
1072 0, // num_aux_entries
1073 offsetof(decltype(_table_), field_names), // no aux_entries
1075 nullptr, // post_loop_handler
1076 ::_pbi::TcParser::GenericFallback, // fallback
1077 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1078 ::_pbi::TcParser::GetTable<::operations_research::SISRRuinStrategy>(), // to_prefetch
1079 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1080 }, {{
1081 {::_pbi::TcParser::MiniParse, {}},
1082 // optional uint32 max_removed_sequence_size = 1;
1083 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SISRRuinStrategy, _impl_.max_removed_sequence_size_), 0>(),
1084 {8, 0, 0, PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.max_removed_sequence_size_)}},
1085 // optional uint32 avg_num_removed_visits = 2;
1086 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SISRRuinStrategy, _impl_.avg_num_removed_visits_), 1>(),
1087 {16, 1, 0, PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.avg_num_removed_visits_)}},
1088 // optional double bypass_factor = 3;
1089 {::_pbi::TcParser::FastF64S1,
1090 {25, 2, 0, PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.bypass_factor_)}},
1091 }}, {{
1092 65535, 65535
1093 }}, {{
1094 // optional uint32 max_removed_sequence_size = 1;
1095 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.max_removed_sequence_size_), _Internal::kHasBitsOffset + 0, 0,
1096 (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1097 // optional uint32 avg_num_removed_visits = 2;
1098 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.avg_num_removed_visits_), _Internal::kHasBitsOffset + 1, 0,
1099 (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1100 // optional double bypass_factor = 3;
1101 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.bypass_factor_), _Internal::kHasBitsOffset + 2, 0,
1102 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1103 }},
1104 // no aux_entries
1105 {{
1106 }},
1107};
1108PROTOBUF_NOINLINE void SISRRuinStrategy::Clear() {
1109// @@protoc_insertion_point(message_clear_start:operations_research.SISRRuinStrategy)
1110 ::google::protobuf::internal::TSanWrite(&_impl_);
1111 ::uint32_t cached_has_bits = 0;
1112 // Prevent compiler warnings about cached_has_bits being unused
1113 (void) cached_has_bits;
1114
1115 cached_has_bits = _impl_._has_bits_[0];
1116 if ((cached_has_bits & 0x00000007u) != 0) {
1117 ::memset(&_impl_.max_removed_sequence_size_, 0, static_cast<::size_t>(
1118 reinterpret_cast<char*>(&_impl_.bypass_factor_) -
1119 reinterpret_cast<char*>(&_impl_.max_removed_sequence_size_)) + sizeof(_impl_.bypass_factor_));
1120 }
1121 _impl_._has_bits_.Clear();
1122 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1123}
1124
1125#if defined(PROTOBUF_CUSTOM_VTABLE)
1126::uint8_t* PROTOBUF_NONNULL SISRRuinStrategy::_InternalSerialize(
1127 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1128 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1129 const SISRRuinStrategy& this_ = static_cast<const SISRRuinStrategy&>(base);
1130#else // PROTOBUF_CUSTOM_VTABLE
1131::uint8_t* PROTOBUF_NONNULL SISRRuinStrategy::_InternalSerialize(
1132 ::uint8_t* PROTOBUF_NONNULL target,
1133 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1134 const SISRRuinStrategy& this_ = *this;
1135#endif // PROTOBUF_CUSTOM_VTABLE
1136 // @@protoc_insertion_point(serialize_to_array_start:operations_research.SISRRuinStrategy)
1137 ::uint32_t cached_has_bits = 0;
1138 (void)cached_has_bits;
1139
1140 cached_has_bits = this_._impl_._has_bits_[0];
1141 // optional uint32 max_removed_sequence_size = 1;
1142 if ((cached_has_bits & 0x00000001u) != 0) {
1143 target = stream->EnsureSpace(target);
1144 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1145 1, this_._internal_max_removed_sequence_size(), target);
1146 }
1147
1148 // optional uint32 avg_num_removed_visits = 2;
1149 if ((cached_has_bits & 0x00000002u) != 0) {
1150 target = stream->EnsureSpace(target);
1151 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1152 2, this_._internal_avg_num_removed_visits(), target);
1153 }
1154
1155 // optional double bypass_factor = 3;
1156 if ((cached_has_bits & 0x00000004u) != 0) {
1157 target = stream->EnsureSpace(target);
1158 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1159 3, this_._internal_bypass_factor(), target);
1160 }
1161
1162 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1163 target =
1164 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1165 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1166 }
1167 // @@protoc_insertion_point(serialize_to_array_end:operations_research.SISRRuinStrategy)
1168 return target;
1169}
1170
1171#if defined(PROTOBUF_CUSTOM_VTABLE)
1172::size_t SISRRuinStrategy::ByteSizeLong(const MessageLite& base) {
1173 const SISRRuinStrategy& this_ = static_cast<const SISRRuinStrategy&>(base);
1174#else // PROTOBUF_CUSTOM_VTABLE
1175::size_t SISRRuinStrategy::ByteSizeLong() const {
1176 const SISRRuinStrategy& this_ = *this;
1177#endif // PROTOBUF_CUSTOM_VTABLE
1178 // @@protoc_insertion_point(message_byte_size_start:operations_research.SISRRuinStrategy)
1179 ::size_t total_size = 0;
1180
1181 ::uint32_t cached_has_bits = 0;
1182 // Prevent compiler warnings about cached_has_bits being unused
1183 (void)cached_has_bits;
1184
1185 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1186 cached_has_bits = this_._impl_._has_bits_[0];
1187 total_size += static_cast<bool>(0x00000004u & cached_has_bits) * 9;
1188 if ((cached_has_bits & 0x00000003u) != 0) {
1189 // optional uint32 max_removed_sequence_size = 1;
1190 if ((cached_has_bits & 0x00000001u) != 0) {
1191 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1192 this_._internal_max_removed_sequence_size());
1193 }
1194 // optional uint32 avg_num_removed_visits = 2;
1195 if ((cached_has_bits & 0x00000002u) != 0) {
1196 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1197 this_._internal_avg_num_removed_visits());
1198 }
1199 }
1200 return this_.MaybeComputeUnknownFieldsSize(total_size,
1201 &this_._impl_._cached_size_);
1202}
1203
1204void SISRRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1205 auto* const _this = static_cast<SISRRuinStrategy*>(&to_msg);
1206 auto& from = static_cast<const SISRRuinStrategy&>(from_msg);
1207 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SISRRuinStrategy)
1208 ABSL_DCHECK_NE(&from, _this);
1209 ::uint32_t cached_has_bits = 0;
1210 (void) cached_has_bits;
1211
1212 cached_has_bits = from._impl_._has_bits_[0];
1213 if ((cached_has_bits & 0x00000007u) != 0) {
1214 if ((cached_has_bits & 0x00000001u) != 0) {
1215 _this->_impl_.max_removed_sequence_size_ = from._impl_.max_removed_sequence_size_;
1216 }
1217 if ((cached_has_bits & 0x00000002u) != 0) {
1218 _this->_impl_.avg_num_removed_visits_ = from._impl_.avg_num_removed_visits_;
1219 }
1220 if ((cached_has_bits & 0x00000004u) != 0) {
1221 _this->_impl_.bypass_factor_ = from._impl_.bypass_factor_;
1222 }
1223 }
1224 _this->_impl_._has_bits_[0] |= cached_has_bits;
1225 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1226}
1227
1229// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SISRRuinStrategy)
1230 if (&from == this) return;
1232 MergeFrom(from);
1233}
1234
1235
1236void SISRRuinStrategy::InternalSwap(SISRRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1237 using ::std::swap;
1238 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1239 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1240 ::google::protobuf::internal::memswap<
1241 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.bypass_factor_)
1242 + sizeof(SISRRuinStrategy::_impl_.bypass_factor_)
1243 - PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.max_removed_sequence_size_)>(
1244 reinterpret_cast<char*>(&_impl_.max_removed_sequence_size_),
1245 reinterpret_cast<char*>(&other->_impl_.max_removed_sequence_size_));
1246}
1247
1248::google::protobuf::Metadata SISRRuinStrategy::GetMetadata() const {
1249 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1250}
1251// ===================================================================
1252
1254 public:
1255 static constexpr ::int32_t kOneofCaseOffset =
1256 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_._oneof_case_);
1258
1260 ::google::protobuf::Arena* message_arena = GetArena();
1263 ::google::protobuf::Arena* submessage_arena = spatially_close_routes->GetArena();
1264 if (message_arena != submessage_arena) {
1265 spatially_close_routes = ::google::protobuf::internal::GetOwnedMessage(message_arena, spatially_close_routes, submessage_arena);
1266 }
1267 set_has_spatially_close_routes();
1268 _impl_.strategy_.spatially_close_routes_ = spatially_close_routes;
1269 }
1270 // @@protoc_insertion_point(field_set_allocated:operations_research.RuinStrategy.spatially_close_routes)
1271}
1272void RuinStrategy::set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy* PROTOBUF_NULLABLE random_walk) {
1273 ::google::protobuf::Arena* message_arena = GetArena();
1274 clear_strategy();
1275 if (random_walk) {
1276 ::google::protobuf::Arena* submessage_arena = random_walk->GetArena();
1277 if (message_arena != submessage_arena) {
1278 random_walk = ::google::protobuf::internal::GetOwnedMessage(message_arena, random_walk, submessage_arena);
1279 }
1280 set_has_random_walk();
1281 _impl_.strategy_.random_walk_ = random_walk;
1282 }
1283 // @@protoc_insertion_point(field_set_allocated:operations_research.RuinStrategy.random_walk)
1284}
1285void RuinStrategy::set_allocated_sisr(::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE sisr) {
1286 ::google::protobuf::Arena* message_arena = GetArena();
1287 clear_strategy();
1288 if (sisr) {
1289 ::google::protobuf::Arena* submessage_arena = sisr->GetArena();
1290 if (message_arena != submessage_arena) {
1291 sisr = ::google::protobuf::internal::GetOwnedMessage(message_arena, sisr, submessage_arena);
1292 }
1293 set_has_sisr();
1294 _impl_.strategy_.sisr_ = sisr;
1295 }
1296 // @@protoc_insertion_point(field_set_allocated:operations_research.RuinStrategy.sisr)
1297}
1298RuinStrategy::RuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1299#if defined(PROTOBUF_CUSTOM_VTABLE)
1300 : ::google::protobuf::Message(arena, RuinStrategy_class_data_.base()) {
1301#else // PROTOBUF_CUSTOM_VTABLE
1302 : ::google::protobuf::Message(arena) {
1303#endif // PROTOBUF_CUSTOM_VTABLE
1304 SharedCtor(arena);
1305 // @@protoc_insertion_point(arena_constructor:operations_research.RuinStrategy)
1306}
1307PROTOBUF_NDEBUG_INLINE RuinStrategy::Impl_::Impl_(
1308 ::google::protobuf::internal::InternalVisibility visibility,
1309 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1310 const ::operations_research::RuinStrategy& from_msg)
1311 : strategy_{},
1312 _cached_size_{0},
1313 _oneof_case_{from._oneof_case_[0]} {}
1314
1316 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1317 const RuinStrategy& from)
1318#if defined(PROTOBUF_CUSTOM_VTABLE)
1319 : ::google::protobuf::Message(arena, RuinStrategy_class_data_.base()) {
1320#else // PROTOBUF_CUSTOM_VTABLE
1321 : ::google::protobuf::Message(arena) {
1322#endif // PROTOBUF_CUSTOM_VTABLE
1323 RuinStrategy* const _this = this;
1324 (void)_this;
1325 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1326 from._internal_metadata_);
1327 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1328 switch (strategy_case()) {
1329 case STRATEGY_NOT_SET:
1330 break;
1332 _impl_.strategy_.spatially_close_routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.spatially_close_routes_);
1333 break;
1334 case kRandomWalk:
1335 _impl_.strategy_.random_walk_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.random_walk_);
1336 break;
1337 case kSisr:
1338 _impl_.strategy_.sisr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.sisr_);
1339 break;
1340 }
1341
1342 // @@protoc_insertion_point(copy_constructor:operations_research.RuinStrategy)
1343}
1344PROTOBUF_NDEBUG_INLINE RuinStrategy::Impl_::Impl_(
1345 ::google::protobuf::internal::InternalVisibility visibility,
1346 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1347 : strategy_{},
1348 _cached_size_{0},
1349 _oneof_case_{} {}
1350
1351inline void RuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1352 new (&_impl_) Impl_(internal_visibility(), arena);
1353}
1355 // @@protoc_insertion_point(destructor:operations_research.RuinStrategy)
1356 SharedDtor(*this);
1357}
1358inline void RuinStrategy::SharedDtor(MessageLite& self) {
1359 RuinStrategy& this_ = static_cast<RuinStrategy&>(self);
1360 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1361 ABSL_DCHECK(this_.GetArena() == nullptr);
1362 if (this_.has_strategy()) {
1363 this_.clear_strategy();
1364 }
1365 this_._impl_.~Impl_();
1366}
1367
1369// @@protoc_insertion_point(one_of_clear_start:operations_research.RuinStrategy)
1370 ::google::protobuf::internal::TSanWrite(&_impl_);
1371 switch (strategy_case()) {
1373 if (GetArena() == nullptr) {
1374 delete _impl_.strategy_.spatially_close_routes_;
1375 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1376 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.spatially_close_routes_);
1377 }
1378 break;
1379 }
1380 case kRandomWalk: {
1381 if (GetArena() == nullptr) {
1382 delete _impl_.strategy_.random_walk_;
1383 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1384 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.random_walk_);
1385 }
1386 break;
1387 }
1388 case kSisr: {
1389 if (GetArena() == nullptr) {
1390 delete _impl_.strategy_.sisr_;
1391 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1392 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.sisr_);
1393 }
1394 break;
1395 }
1396 case STRATEGY_NOT_SET: {
1397 break;
1398 }
1399 }
1400 _impl_._oneof_case_[0] = STRATEGY_NOT_SET;
1401}
1402
1403
1404inline void* PROTOBUF_NONNULL RuinStrategy::PlacementNew_(
1405 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1406 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1407 return ::new (mem) RuinStrategy(arena);
1409constexpr auto RuinStrategy::InternalNewImpl_() {
1410 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RuinStrategy),
1411 alignof(RuinStrategy));
1412}
1414 return ::google::protobuf::internal::ClassDataFull{
1415 ::google::protobuf::internal::ClassData{
1417 &_table_.header,
1418 nullptr, // OnDemandRegisterArenaDtor
1419 nullptr, // IsInitialized
1420 &RuinStrategy::MergeImpl,
1421 ::google::protobuf::Message::GetNewImpl<RuinStrategy>(),
1422#if defined(PROTOBUF_CUSTOM_VTABLE)
1423 &RuinStrategy::SharedDtor,
1424 ::google::protobuf::Message::GetClearImpl<RuinStrategy>(), &RuinStrategy::ByteSizeLong,
1426#endif // PROTOBUF_CUSTOM_VTABLE
1427 PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_._cached_size_),
1428 false,
1429 },
1430 &RuinStrategy::kDescriptorMethods,
1432 nullptr, // tracker
1433 };
1434}
1435
1436PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1437 ::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_ =
1439
1440PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1442 ::google::protobuf::internal::PrefetchToLocalCache(&RuinStrategy_class_data_);
1443 ::google::protobuf::internal::PrefetchToLocalCache(RuinStrategy_class_data_.tc_table);
1444 return RuinStrategy_class_data_.base();
1446PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1447const ::_pbi::TcParseTable<0, 3, 3, 0, 2>
1448RuinStrategy::_table_ = {
1449 {
1450 0, // no _has_bits_
1451 0, // no _extensions_
1452 3, 0, // max_field_number, fast_idx_mask
1453 offsetof(decltype(_table_), field_lookup_table),
1454 4294967288, // skipmap
1455 offsetof(decltype(_table_), field_entries),
1456 3, // num_field_entries
1457 3, // num_aux_entries
1458 offsetof(decltype(_table_), aux_entries),
1460 nullptr, // post_loop_handler
1461 ::_pbi::TcParser::GenericFallback, // fallback
1462 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1463 ::_pbi::TcParser::GetTable<::operations_research::RuinStrategy>(), // to_prefetch
1464 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1465 }, {{
1466 {::_pbi::TcParser::MiniParse, {}},
1467 }}, {{
1468 65535, 65535
1469 }}, {{
1470 // .operations_research.SpatiallyCloseRoutesRuinStrategy spatially_close_routes = 1;
1471 {PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_.strategy_.spatially_close_routes_), _Internal::kOneofCaseOffset + 0, 0,
1472 (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1473 // .operations_research.RandomWalkRuinStrategy random_walk = 2;
1474 {PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_.strategy_.random_walk_), _Internal::kOneofCaseOffset + 0, 1,
1475 (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1476 // .operations_research.SISRRuinStrategy sisr = 3;
1477 {PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_.strategy_.sisr_), _Internal::kOneofCaseOffset + 0, 2,
1478 (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1479 }},
1480 {{
1481 {::_pbi::TcParser::GetTable<::operations_research::SpatiallyCloseRoutesRuinStrategy>()},
1482 {::_pbi::TcParser::GetTable<::operations_research::RandomWalkRuinStrategy>()},
1483 {::_pbi::TcParser::GetTable<::operations_research::SISRRuinStrategy>()},
1484 }},
1485 {{
1486 }},
1487};
1488PROTOBUF_NOINLINE void RuinStrategy::Clear() {
1489// @@protoc_insertion_point(message_clear_start:operations_research.RuinStrategy)
1490 ::google::protobuf::internal::TSanWrite(&_impl_);
1491 ::uint32_t cached_has_bits = 0;
1492 // Prevent compiler warnings about cached_has_bits being unused
1493 (void) cached_has_bits;
1494
1496 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1497}
1498
1499#if defined(PROTOBUF_CUSTOM_VTABLE)
1500::uint8_t* PROTOBUF_NONNULL RuinStrategy::_InternalSerialize(
1501 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1502 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1503 const RuinStrategy& this_ = static_cast<const RuinStrategy&>(base);
1504#else // PROTOBUF_CUSTOM_VTABLE
1505::uint8_t* PROTOBUF_NONNULL RuinStrategy::_InternalSerialize(
1506 ::uint8_t* PROTOBUF_NONNULL target,
1507 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1508 const RuinStrategy& this_ = *this;
1509#endif // PROTOBUF_CUSTOM_VTABLE
1510 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RuinStrategy)
1511 ::uint32_t cached_has_bits = 0;
1512 (void)cached_has_bits;
1513
1514 switch (this_.strategy_case()) {
1515 case kSpatiallyCloseRoutes: {
1516 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1517 1, *this_._impl_.strategy_.spatially_close_routes_, this_._impl_.strategy_.spatially_close_routes_->GetCachedSize(), target,
1518 stream);
1519 break;
1520 }
1521 case kRandomWalk: {
1522 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1523 2, *this_._impl_.strategy_.random_walk_, this_._impl_.strategy_.random_walk_->GetCachedSize(), target,
1524 stream);
1525 break;
1526 }
1527 case kSisr: {
1528 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1529 3, *this_._impl_.strategy_.sisr_, this_._impl_.strategy_.sisr_->GetCachedSize(), target,
1530 stream);
1531 break;
1532 }
1533 default:
1534 break;
1535 }
1536 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1537 target =
1538 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1539 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1540 }
1541 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RuinStrategy)
1542 return target;
1543}
1544
1545#if defined(PROTOBUF_CUSTOM_VTABLE)
1546::size_t RuinStrategy::ByteSizeLong(const MessageLite& base) {
1547 const RuinStrategy& this_ = static_cast<const RuinStrategy&>(base);
1548#else // PROTOBUF_CUSTOM_VTABLE
1549::size_t RuinStrategy::ByteSizeLong() const {
1550 const RuinStrategy& this_ = *this;
1551#endif // PROTOBUF_CUSTOM_VTABLE
1552 // @@protoc_insertion_point(message_byte_size_start:operations_research.RuinStrategy)
1553 ::size_t total_size = 0;
1554
1555 ::uint32_t cached_has_bits = 0;
1556 // Prevent compiler warnings about cached_has_bits being unused
1557 (void)cached_has_bits;
1558
1559 switch (this_.strategy_case()) {
1560 // .operations_research.SpatiallyCloseRoutesRuinStrategy spatially_close_routes = 1;
1561 case kSpatiallyCloseRoutes: {
1562 total_size += 1 +
1563 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.spatially_close_routes_);
1564 break;
1565 }
1566 // .operations_research.RandomWalkRuinStrategy random_walk = 2;
1567 case kRandomWalk: {
1568 total_size += 1 +
1569 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.random_walk_);
1570 break;
1571 }
1572 // .operations_research.SISRRuinStrategy sisr = 3;
1573 case kSisr: {
1574 total_size += 1 +
1575 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.sisr_);
1576 break;
1577 }
1578 case STRATEGY_NOT_SET: {
1579 break;
1580 }
1581 }
1582 return this_.MaybeComputeUnknownFieldsSize(total_size,
1583 &this_._impl_._cached_size_);
1584}
1585
1586void RuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
1587 auto* const _this = static_cast<RuinStrategy*>(&to_msg);
1588 auto& from = static_cast<const RuinStrategy&>(from_msg);
1589 ::google::protobuf::Arena* arena = _this->GetArena();
1590 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RuinStrategy)
1591 ABSL_DCHECK_NE(&from, _this);
1592 ::uint32_t cached_has_bits = 0;
1593 (void) cached_has_bits;
1594
1595 if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) {
1596 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
1597 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
1598 if (oneof_needs_init) {
1599 if (oneof_to_case != 0) {
1600 _this->clear_strategy();
1601 }
1602 _this->_impl_._oneof_case_[0] = oneof_from_case;
1603 }
1604
1605 switch (oneof_from_case) {
1606 case kSpatiallyCloseRoutes: {
1607 if (oneof_needs_init) {
1608 _this->_impl_.strategy_.spatially_close_routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.spatially_close_routes_);
1609 } else {
1610 _this->_impl_.strategy_.spatially_close_routes_->MergeFrom(*from._impl_.strategy_.spatially_close_routes_);
1611 }
1612 break;
1613 }
1614 case kRandomWalk: {
1615 if (oneof_needs_init) {
1616 _this->_impl_.strategy_.random_walk_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.random_walk_);
1617 } else {
1618 _this->_impl_.strategy_.random_walk_->MergeFrom(*from._impl_.strategy_.random_walk_);
1619 }
1620 break;
1621 }
1622 case kSisr: {
1623 if (oneof_needs_init) {
1624 _this->_impl_.strategy_.sisr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.sisr_);
1625 } else {
1626 _this->_impl_.strategy_.sisr_->MergeFrom(*from._impl_.strategy_.sisr_);
1627 }
1628 break;
1629 }
1630 case STRATEGY_NOT_SET:
1631 break;
1632 }
1633 }
1634 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
1635}
1636
1637void RuinStrategy::CopyFrom(const RuinStrategy& from) {
1638// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RuinStrategy)
1639 if (&from == this) return;
1640 Clear();
1642}
1643
1644
1645void RuinStrategy::InternalSwap(RuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1646 using ::std::swap;
1647 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1648 swap(_impl_.strategy_, other->_impl_.strategy_);
1649 swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
1650}
1651
1652::google::protobuf::Metadata RuinStrategy::GetMetadata() const {
1653 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1654}
1655// ===================================================================
1658 public:
1659};
1660
1661RuinCompositionStrategy::RuinCompositionStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1662#if defined(PROTOBUF_CUSTOM_VTABLE)
1663 : ::google::protobuf::internal::ZeroFieldsBase(arena, RuinCompositionStrategy_class_data_.base()) {
1664#else // PROTOBUF_CUSTOM_VTABLE
1665 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
1666#endif // PROTOBUF_CUSTOM_VTABLE
1667 // @@protoc_insertion_point(arena_constructor:operations_research.RuinCompositionStrategy)
1668}
1670 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1671 const RuinCompositionStrategy& from)
1672#if defined(PROTOBUF_CUSTOM_VTABLE)
1673 : ::google::protobuf::internal::ZeroFieldsBase(arena, RuinCompositionStrategy_class_data_.base()) {
1674#else // PROTOBUF_CUSTOM_VTABLE
1675 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
1676#endif // PROTOBUF_CUSTOM_VTABLE
1677 RuinCompositionStrategy* const _this = this;
1678 (void)_this;
1679 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1680 from._internal_metadata_);
1681
1682 // @@protoc_insertion_point(copy_constructor:operations_research.RuinCompositionStrategy)
1683}
1684
1685inline void* PROTOBUF_NONNULL RuinCompositionStrategy::PlacementNew_(
1686 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1687 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1688 return ::new (mem) RuinCompositionStrategy(arena);
1689}
1691 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RuinCompositionStrategy),
1692 alignof(RuinCompositionStrategy));
1693}
1695 return ::google::protobuf::internal::ClassDataFull{
1696 ::google::protobuf::internal::ClassData{
1698 &_table_.header,
1699 nullptr, // OnDemandRegisterArenaDtor
1700 nullptr, // IsInitialized
1701 &RuinCompositionStrategy::MergeImpl,
1702 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<RuinCompositionStrategy>(),
1703#if defined(PROTOBUF_CUSTOM_VTABLE)
1704 &RuinCompositionStrategy::SharedDtor,
1705 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<RuinCompositionStrategy>(), &RuinCompositionStrategy::ByteSizeLong,
1706 &RuinCompositionStrategy::_InternalSerialize,
1707#endif // PROTOBUF_CUSTOM_VTABLE
1708 PROTOBUF_FIELD_OFFSET(RuinCompositionStrategy, _impl_._cached_size_),
1709 false,
1710 },
1711 &RuinCompositionStrategy::kDescriptorMethods,
1713 nullptr, // tracker
1714 };
1715}
1716
1717PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1718 ::google::protobuf::internal::ClassDataFull RuinCompositionStrategy_class_data_ =
1720
1721PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1723 ::google::protobuf::internal::PrefetchToLocalCache(&RuinCompositionStrategy_class_data_);
1724 ::google::protobuf::internal::PrefetchToLocalCache(RuinCompositionStrategy_class_data_.tc_table);
1726}
1727PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1728const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
1729RuinCompositionStrategy::_table_ = {
1730 {
1731 0, // no _has_bits_
1732 0, // no _extensions_
1733 0, 0, // max_field_number, fast_idx_mask
1734 offsetof(decltype(_table_), field_lookup_table),
1735 4294967295, // skipmap
1736 offsetof(decltype(_table_), field_names), // no field_entries
1737 0, // num_field_entries
1738 0, // num_aux_entries
1739 offsetof(decltype(_table_), field_names), // no aux_entries
1741 nullptr, // post_loop_handler
1742 ::_pbi::TcParser::GenericFallback, // fallback
1743 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1744 ::_pbi::TcParser::GetTable<::operations_research::RuinCompositionStrategy>(), // to_prefetch
1745 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1746 }, {{
1747 {::_pbi::TcParser::MiniParse, {}},
1748 }}, {{
1749 65535, 65535
1750 }}, // no field_entries, or aux_entries
1751 {{
1752 }},
1753};
1754
1755
1756
1757
1758
1759
1760
1761::google::protobuf::Metadata RuinCompositionStrategy::GetMetadata() const {
1762 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
1763}
1764// ===================================================================
1765
1767 public:
1768 using HasBits =
1769 decltype(::std::declval<RuinRecreateParameters>()._impl_._has_bits_);
1770 static constexpr ::int32_t kHasBitsOffset =
1771 8 * PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_._has_bits_);
1773
1774RuinRecreateParameters::RuinRecreateParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1775#if defined(PROTOBUF_CUSTOM_VTABLE)
1776 : ::google::protobuf::Message(arena, RuinRecreateParameters_class_data_.base()) {
1777#else // PROTOBUF_CUSTOM_VTABLE
1778 : ::google::protobuf::Message(arena) {
1779#endif // PROTOBUF_CUSTOM_VTABLE
1780 SharedCtor(arena);
1781 // @@protoc_insertion_point(arena_constructor:operations_research.RuinRecreateParameters)
1782}
1783PROTOBUF_NDEBUG_INLINE RuinRecreateParameters::Impl_::Impl_(
1784 ::google::protobuf::internal::InternalVisibility visibility,
1785 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1786 const ::operations_research::RuinRecreateParameters& from_msg)
1787 : _has_bits_{from._has_bits_},
1788 _cached_size_{0},
1789 ruin_strategies_{visibility, arena, from.ruin_strategies_} {}
1790
1792 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1793 const RuinRecreateParameters& from)
1794#if defined(PROTOBUF_CUSTOM_VTABLE)
1795 : ::google::protobuf::Message(arena, RuinRecreateParameters_class_data_.base()) {
1796#else // PROTOBUF_CUSTOM_VTABLE
1797 : ::google::protobuf::Message(arena) {
1798#endif // PROTOBUF_CUSTOM_VTABLE
1799 RuinRecreateParameters* const _this = this;
1800 (void)_this;
1801 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1802 from._internal_metadata_);
1803 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1804 ::memcpy(reinterpret_cast<char *>(&_impl_) +
1805 offsetof(Impl_, ruin_composition_strategy_),
1806 reinterpret_cast<const char *>(&from._impl_) +
1807 offsetof(Impl_, ruin_composition_strategy_),
1808 offsetof(Impl_, route_selection_max_neighbors_) -
1809 offsetof(Impl_, ruin_composition_strategy_) +
1810 sizeof(Impl_::route_selection_max_neighbors_));
1811
1812 // @@protoc_insertion_point(copy_constructor:operations_research.RuinRecreateParameters)
1813}
1814PROTOBUF_NDEBUG_INLINE RuinRecreateParameters::Impl_::Impl_(
1815 ::google::protobuf::internal::InternalVisibility visibility,
1816 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1817 : _cached_size_{0},
1818 ruin_strategies_{visibility, arena} {}
1819
1820inline void RuinRecreateParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1821 new (&_impl_) Impl_(internal_visibility(), arena);
1822 ::memset(reinterpret_cast<char *>(&_impl_) +
1823 offsetof(Impl_, ruin_composition_strategy_),
1824 0,
1825 offsetof(Impl_, route_selection_max_neighbors_) -
1826 offsetof(Impl_, ruin_composition_strategy_) +
1827 sizeof(Impl_::route_selection_max_neighbors_));
1828}
1830 // @@protoc_insertion_point(destructor:operations_research.RuinRecreateParameters)
1831 SharedDtor(*this);
1832}
1833inline void RuinRecreateParameters::SharedDtor(MessageLite& self) {
1834 RuinRecreateParameters& this_ = static_cast<RuinRecreateParameters&>(self);
1835 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1836 ABSL_DCHECK(this_.GetArena() == nullptr);
1837 this_._impl_.~Impl_();
1838}
1839
1840inline void* PROTOBUF_NONNULL RuinRecreateParameters::PlacementNew_(
1841 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1842 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1843 return ::new (mem) RuinRecreateParameters(arena);
1844}
1846 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1847 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_strategies_) +
1848 decltype(RuinRecreateParameters::_impl_.ruin_strategies_)::
1849 InternalGetArenaOffset(
1850 ::google::protobuf::Message::internal_visibility()),
1851 });
1852 if (arena_bits.has_value()) {
1853 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1854 sizeof(RuinRecreateParameters), alignof(RuinRecreateParameters), *arena_bits);
1855 } else {
1856 return ::google::protobuf::internal::MessageCreator(&RuinRecreateParameters::PlacementNew_,
1857 sizeof(RuinRecreateParameters),
1858 alignof(RuinRecreateParameters));
1859 }
1860}
1862 return ::google::protobuf::internal::ClassDataFull{
1863 ::google::protobuf::internal::ClassData{
1865 &_table_.header,
1866 nullptr, // OnDemandRegisterArenaDtor
1867 nullptr, // IsInitialized
1868 &RuinRecreateParameters::MergeImpl,
1869 ::google::protobuf::Message::GetNewImpl<RuinRecreateParameters>(),
1870#if defined(PROTOBUF_CUSTOM_VTABLE)
1871 &RuinRecreateParameters::SharedDtor,
1872 ::google::protobuf::Message::GetClearImpl<RuinRecreateParameters>(), &RuinRecreateParameters::ByteSizeLong,
1874#endif // PROTOBUF_CUSTOM_VTABLE
1875 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_._cached_size_),
1876 false,
1877 },
1878 &RuinRecreateParameters::kDescriptorMethods,
1880 nullptr, // tracker
1881 };
1882}
1883
1884PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1885 ::google::protobuf::internal::ClassDataFull RuinRecreateParameters_class_data_ =
1887
1888PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1890 ::google::protobuf::internal::PrefetchToLocalCache(&RuinRecreateParameters_class_data_);
1891 ::google::protobuf::internal::PrefetchToLocalCache(RuinRecreateParameters_class_data_.tc_table);
1893}
1894PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1895const ::_pbi::TcParseTable<3, 6, 1, 0, 2>
1896RuinRecreateParameters::_table_ = {
1897 {
1898 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_._has_bits_),
1899 0, // no _extensions_
1900 6, 56, // max_field_number, fast_idx_mask
1901 offsetof(decltype(_table_), field_lookup_table),
1902 4294967232, // skipmap
1903 offsetof(decltype(_table_), field_entries),
1904 6, // num_field_entries
1905 1, // num_aux_entries
1906 offsetof(decltype(_table_), aux_entries),
1908 nullptr, // post_loop_handler
1909 ::_pbi::TcParser::GenericFallback, // fallback
1910 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1911 ::_pbi::TcParser::GetTable<::operations_research::RuinRecreateParameters>(), // to_prefetch
1912 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1913 }, {{
1914 {::_pbi::TcParser::MiniParse, {}},
1915 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
1916 {::_pbi::TcParser::FastMtR1,
1917 {10, 63, 0, PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_strategies_)}},
1918 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
1919 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuinRecreateParameters, _impl_.ruin_composition_strategy_), 0>(),
1920 {16, 0, 0, PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_composition_strategy_)}},
1921 // .operations_research.FirstSolutionStrategy.Value recreate_strategy = 3;
1922 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuinRecreateParameters, _impl_.recreate_strategy_), 1>(),
1923 {24, 1, 0, PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.recreate_strategy_)}},
1924 // optional double route_selection_neighbors_ratio = 4;
1925 {::_pbi::TcParser::FastF64S1,
1926 {33, 2, 0, PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_neighbors_ratio_)}},
1927 // optional uint32 route_selection_min_neighbors = 5;
1928 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuinRecreateParameters, _impl_.route_selection_min_neighbors_), 3>(),
1929 {40, 3, 0, PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_min_neighbors_)}},
1930 // optional uint32 route_selection_max_neighbors = 6;
1931 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuinRecreateParameters, _impl_.route_selection_max_neighbors_), 4>(),
1932 {48, 4, 0, PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_max_neighbors_)}},
1933 {::_pbi::TcParser::MiniParse, {}},
1934 }}, {{
1935 65535, 65535
1936 }}, {{
1937 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
1938 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_strategies_), -1, 0,
1939 (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1940 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
1941 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_composition_strategy_), _Internal::kHasBitsOffset + 0, 0,
1942 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1943 // .operations_research.FirstSolutionStrategy.Value recreate_strategy = 3;
1944 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.recreate_strategy_), _Internal::kHasBitsOffset + 1, 0,
1945 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
1946 // optional double route_selection_neighbors_ratio = 4;
1947 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_neighbors_ratio_), _Internal::kHasBitsOffset + 2, 0,
1948 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1949 // optional uint32 route_selection_min_neighbors = 5;
1950 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_min_neighbors_), _Internal::kHasBitsOffset + 3, 0,
1951 (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1952 // optional uint32 route_selection_max_neighbors = 6;
1953 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_max_neighbors_), _Internal::kHasBitsOffset + 4, 0,
1954 (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1955 }},
1956 {{
1957 {::_pbi::TcParser::GetTable<::operations_research::RuinStrategy>()},
1958 }},
1959 {{
1960 }},
1961};
1962PROTOBUF_NOINLINE void RuinRecreateParameters::Clear() {
1963// @@protoc_insertion_point(message_clear_start:operations_research.RuinRecreateParameters)
1964 ::google::protobuf::internal::TSanWrite(&_impl_);
1965 ::uint32_t cached_has_bits = 0;
1966 // Prevent compiler warnings about cached_has_bits being unused
1967 (void) cached_has_bits;
1969 _impl_.ruin_strategies_.Clear();
1970 cached_has_bits = _impl_._has_bits_[0];
1971 if ((cached_has_bits & 0x0000001fu) != 0) {
1972 ::memset(&_impl_.ruin_composition_strategy_, 0, static_cast<::size_t>(
1973 reinterpret_cast<char*>(&_impl_.route_selection_max_neighbors_) -
1974 reinterpret_cast<char*>(&_impl_.ruin_composition_strategy_)) + sizeof(_impl_.route_selection_max_neighbors_));
1975 }
1976 _impl_._has_bits_.Clear();
1977 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1978}
1979
1980#if defined(PROTOBUF_CUSTOM_VTABLE)
1981::uint8_t* PROTOBUF_NONNULL RuinRecreateParameters::_InternalSerialize(
1982 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1983 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1984 const RuinRecreateParameters& this_ = static_cast<const RuinRecreateParameters&>(base);
1985#else // PROTOBUF_CUSTOM_VTABLE
1986::uint8_t* PROTOBUF_NONNULL RuinRecreateParameters::_InternalSerialize(
1987 ::uint8_t* PROTOBUF_NONNULL target,
1988 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1989 const RuinRecreateParameters& this_ = *this;
1990#endif // PROTOBUF_CUSTOM_VTABLE
1991 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RuinRecreateParameters)
1992 ::uint32_t cached_has_bits = 0;
1993 (void)cached_has_bits;
1994
1995 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
1996 for (unsigned i = 0, n = static_cast<unsigned>(
1997 this_._internal_ruin_strategies_size());
1998 i < n; i++) {
1999 const auto& repfield = this_._internal_ruin_strategies().Get(i);
2000 target =
2001 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2002 1, repfield, repfield.GetCachedSize(),
2003 target, stream);
2004 }
2005
2006 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
2007 if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
2008 if (this_._internal_ruin_composition_strategy() != 0) {
2009 target = stream->EnsureSpace(target);
2010 target = ::_pbi::WireFormatLite::WriteEnumToArray(
2011 2, this_._internal_ruin_composition_strategy(), target);
2012 }
2013 }
2014
2015 // .operations_research.FirstSolutionStrategy.Value recreate_strategy = 3;
2016 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
2017 if (this_._internal_recreate_strategy() != 0) {
2018 target = stream->EnsureSpace(target);
2019 target = ::_pbi::WireFormatLite::WriteEnumToArray(
2020 3, this_._internal_recreate_strategy(), target);
2021 }
2022 }
2023
2024 cached_has_bits = this_._impl_._has_bits_[0];
2025 // optional double route_selection_neighbors_ratio = 4;
2026 if ((cached_has_bits & 0x00000004u) != 0) {
2027 target = stream->EnsureSpace(target);
2028 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
2029 4, this_._internal_route_selection_neighbors_ratio(), target);
2030 }
2031
2032 // optional uint32 route_selection_min_neighbors = 5;
2033 if ((cached_has_bits & 0x00000008u) != 0) {
2034 target = stream->EnsureSpace(target);
2035 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
2036 5, this_._internal_route_selection_min_neighbors(), target);
2037 }
2038
2039 // optional uint32 route_selection_max_neighbors = 6;
2040 if ((cached_has_bits & 0x00000010u) != 0) {
2041 target = stream->EnsureSpace(target);
2042 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
2043 6, this_._internal_route_selection_max_neighbors(), target);
2044 }
2045
2046 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2047 target =
2048 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2049 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2050 }
2051 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RuinRecreateParameters)
2052 return target;
2053}
2054
2055#if defined(PROTOBUF_CUSTOM_VTABLE)
2057 const RuinRecreateParameters& this_ = static_cast<const RuinRecreateParameters&>(base);
2058#else // PROTOBUF_CUSTOM_VTABLE
2059::size_t RuinRecreateParameters::ByteSizeLong() const {
2060 const RuinRecreateParameters& this_ = *this;
2061#endif // PROTOBUF_CUSTOM_VTABLE
2062 // @@protoc_insertion_point(message_byte_size_start:operations_research.RuinRecreateParameters)
2063 ::size_t total_size = 0;
2064
2065 ::uint32_t cached_has_bits = 0;
2066 // Prevent compiler warnings about cached_has_bits being unused
2067 (void)cached_has_bits;
2068
2069 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2070 {
2071 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
2072 {
2073 total_size += 1UL * this_._internal_ruin_strategies_size();
2074 for (const auto& msg : this_._internal_ruin_strategies()) {
2075 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
2076 }
2077 }
2078 }
2079 cached_has_bits = this_._impl_._has_bits_[0];
2080 total_size += static_cast<bool>(0x00000004u & cached_has_bits) * 9;
2081 if ((cached_has_bits & 0x0000001bu) != 0) {
2082 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
2083 if ((cached_has_bits & 0x00000001u) != 0) {
2084 if (this_._internal_ruin_composition_strategy() != 0) {
2085 total_size += 1 +
2086 ::_pbi::WireFormatLite::EnumSize(this_._internal_ruin_composition_strategy());
2087 }
2088 }
2089 // .operations_research.FirstSolutionStrategy.Value recreate_strategy = 3;
2090 if ((cached_has_bits & 0x00000002u) != 0) {
2091 if (this_._internal_recreate_strategy() != 0) {
2092 total_size += 1 +
2093 ::_pbi::WireFormatLite::EnumSize(this_._internal_recreate_strategy());
2094 }
2095 }
2096 // optional uint32 route_selection_min_neighbors = 5;
2097 if ((cached_has_bits & 0x00000008u) != 0) {
2098 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
2099 this_._internal_route_selection_min_neighbors());
2100 }
2101 // optional uint32 route_selection_max_neighbors = 6;
2102 if ((cached_has_bits & 0x00000010u) != 0) {
2103 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
2104 this_._internal_route_selection_max_neighbors());
2105 }
2106 }
2107 return this_.MaybeComputeUnknownFieldsSize(total_size,
2108 &this_._impl_._cached_size_);
2109}
2110
2111void RuinRecreateParameters::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
2112 auto* const _this = static_cast<RuinRecreateParameters*>(&to_msg);
2113 auto& from = static_cast<const RuinRecreateParameters&>(from_msg);
2114 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RuinRecreateParameters)
2115 ABSL_DCHECK_NE(&from, _this);
2116 ::uint32_t cached_has_bits = 0;
2117 (void) cached_has_bits;
2118
2119 _this->_internal_mutable_ruin_strategies()->MergeFrom(
2120 from._internal_ruin_strategies());
2121 cached_has_bits = from._impl_._has_bits_[0];
2122 if ((cached_has_bits & 0x0000001fu) != 0) {
2123 if ((cached_has_bits & 0x00000001u) != 0) {
2124 if (from._internal_ruin_composition_strategy() != 0) {
2125 _this->_impl_.ruin_composition_strategy_ = from._impl_.ruin_composition_strategy_;
2126 }
2127 }
2128 if ((cached_has_bits & 0x00000002u) != 0) {
2129 if (from._internal_recreate_strategy() != 0) {
2130 _this->_impl_.recreate_strategy_ = from._impl_.recreate_strategy_;
2131 }
2132 }
2133 if ((cached_has_bits & 0x00000004u) != 0) {
2134 _this->_impl_.route_selection_neighbors_ratio_ = from._impl_.route_selection_neighbors_ratio_;
2135 }
2136 if ((cached_has_bits & 0x00000008u) != 0) {
2137 _this->_impl_.route_selection_min_neighbors_ = from._impl_.route_selection_min_neighbors_;
2138 }
2139 if ((cached_has_bits & 0x00000010u) != 0) {
2140 _this->_impl_.route_selection_max_neighbors_ = from._impl_.route_selection_max_neighbors_;
2141 }
2142 }
2143 _this->_impl_._has_bits_[0] |= cached_has_bits;
2144 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
2145}
2146
2148// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RuinRecreateParameters)
2149 if (&from == this) return;
2150 Clear();
2151 MergeFrom(from);
2152}
2154
2155void RuinRecreateParameters::InternalSwap(RuinRecreateParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2156 using ::std::swap;
2157 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2158 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2159 _impl_.ruin_strategies_.InternalSwap(&other->_impl_.ruin_strategies_);
2160 ::google::protobuf::internal::memswap<
2161 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_max_neighbors_)
2162 + sizeof(RuinRecreateParameters::_impl_.route_selection_max_neighbors_)
2163 - PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_composition_strategy_)>(
2164 reinterpret_cast<char*>(&_impl_.ruin_composition_strategy_),
2165 reinterpret_cast<char*>(&other->_impl_.ruin_composition_strategy_));
2166}
2167
2168::google::protobuf::Metadata RuinRecreateParameters::GetMetadata() const {
2169 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2170}
2171// ===================================================================
2172
2173class PerturbationStrategy::_Internal {
2174 public:
2175};
2176
2177PerturbationStrategy::PerturbationStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2178#if defined(PROTOBUF_CUSTOM_VTABLE)
2179 : ::google::protobuf::internal::ZeroFieldsBase(arena, PerturbationStrategy_class_data_.base()) {
2180#else // PROTOBUF_CUSTOM_VTABLE
2181 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2182#endif // PROTOBUF_CUSTOM_VTABLE
2183 // @@protoc_insertion_point(arena_constructor:operations_research.PerturbationStrategy)
2186 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2187 const PerturbationStrategy& from)
2188#if defined(PROTOBUF_CUSTOM_VTABLE)
2189 : ::google::protobuf::internal::ZeroFieldsBase(arena, PerturbationStrategy_class_data_.base()) {
2190#else // PROTOBUF_CUSTOM_VTABLE
2191 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2192#endif // PROTOBUF_CUSTOM_VTABLE
2193 PerturbationStrategy* const _this = this;
2194 (void)_this;
2195 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2196 from._internal_metadata_);
2197
2198 // @@protoc_insertion_point(copy_constructor:operations_research.PerturbationStrategy)
2199}
2200
2201inline void* PROTOBUF_NONNULL PerturbationStrategy::PlacementNew_(
2202 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2203 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2204 return ::new (mem) PerturbationStrategy(arena);
2205}
2207 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerturbationStrategy),
2209}
2211 return ::google::protobuf::internal::ClassDataFull{
2212 ::google::protobuf::internal::ClassData{
2214 &_table_.header,
2215 nullptr, // OnDemandRegisterArenaDtor
2216 nullptr, // IsInitialized
2217 &PerturbationStrategy::MergeImpl,
2218 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<PerturbationStrategy>(),
2219#if defined(PROTOBUF_CUSTOM_VTABLE)
2220 &PerturbationStrategy::SharedDtor,
2221 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<PerturbationStrategy>(), &PerturbationStrategy::ByteSizeLong,
2222 &PerturbationStrategy::_InternalSerialize,
2223#endif // PROTOBUF_CUSTOM_VTABLE
2224 PROTOBUF_FIELD_OFFSET(PerturbationStrategy, _impl_._cached_size_),
2225 false,
2226 },
2227 &PerturbationStrategy::kDescriptorMethods,
2229 nullptr, // tracker
2230 };
2231}
2232
2233PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2234 ::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_ =
2236
2237PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2239 ::google::protobuf::internal::PrefetchToLocalCache(&PerturbationStrategy_class_data_);
2240 ::google::protobuf::internal::PrefetchToLocalCache(PerturbationStrategy_class_data_.tc_table);
2242}
2243PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2244const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
2245PerturbationStrategy::_table_ = {
2246 {
2247 0, // no _has_bits_
2248 0, // no _extensions_
2249 0, 0, // max_field_number, fast_idx_mask
2250 offsetof(decltype(_table_), field_lookup_table),
2251 4294967295, // skipmap
2252 offsetof(decltype(_table_), field_names), // no field_entries
2253 0, // num_field_entries
2254 0, // num_aux_entries
2255 offsetof(decltype(_table_), field_names), // no aux_entries
2257 nullptr, // post_loop_handler
2258 ::_pbi::TcParser::GenericFallback, // fallback
2259 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2260 ::_pbi::TcParser::GetTable<::operations_research::PerturbationStrategy>(), // to_prefetch
2261 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2262 }, {{
2263 {::_pbi::TcParser::MiniParse, {}},
2264 }}, {{
2265 65535, 65535
2266 }}, // no field_entries, or aux_entries
2267 {{
2268 }},
2269};
2270
2271
2272
2273
2274
2275
2276
2277::google::protobuf::Metadata PerturbationStrategy::GetMetadata() const {
2278 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
2279}
2280// ===================================================================
2281
2282class CoolingScheduleStrategy::_Internal {
2283 public:
2285
2286CoolingScheduleStrategy::CoolingScheduleStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2287#if defined(PROTOBUF_CUSTOM_VTABLE)
2288 : ::google::protobuf::internal::ZeroFieldsBase(arena, CoolingScheduleStrategy_class_data_.base()) {
2289#else // PROTOBUF_CUSTOM_VTABLE
2290 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2291#endif // PROTOBUF_CUSTOM_VTABLE
2292 // @@protoc_insertion_point(arena_constructor:operations_research.CoolingScheduleStrategy)
2293}
2295 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2296 const CoolingScheduleStrategy& from)
2297#if defined(PROTOBUF_CUSTOM_VTABLE)
2298 : ::google::protobuf::internal::ZeroFieldsBase(arena, CoolingScheduleStrategy_class_data_.base()) {
2299#else // PROTOBUF_CUSTOM_VTABLE
2300 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2301#endif // PROTOBUF_CUSTOM_VTABLE
2302 CoolingScheduleStrategy* const _this = this;
2303 (void)_this;
2304 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2305 from._internal_metadata_);
2306
2307 // @@protoc_insertion_point(copy_constructor:operations_research.CoolingScheduleStrategy)
2308}
2309
2310inline void* PROTOBUF_NONNULL CoolingScheduleStrategy::PlacementNew_(
2311 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2312 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2313 return ::new (mem) CoolingScheduleStrategy(arena);
2314}
2316 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CoolingScheduleStrategy),
2317 alignof(CoolingScheduleStrategy));
2320 return ::google::protobuf::internal::ClassDataFull{
2321 ::google::protobuf::internal::ClassData{
2323 &_table_.header,
2324 nullptr, // OnDemandRegisterArenaDtor
2325 nullptr, // IsInitialized
2326 &CoolingScheduleStrategy::MergeImpl,
2327 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<CoolingScheduleStrategy>(),
2328#if defined(PROTOBUF_CUSTOM_VTABLE)
2329 &CoolingScheduleStrategy::SharedDtor,
2330 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<CoolingScheduleStrategy>(), &CoolingScheduleStrategy::ByteSizeLong,
2331 &CoolingScheduleStrategy::_InternalSerialize,
2332#endif // PROTOBUF_CUSTOM_VTABLE
2333 PROTOBUF_FIELD_OFFSET(CoolingScheduleStrategy, _impl_._cached_size_),
2334 false,
2335 },
2336 &CoolingScheduleStrategy::kDescriptorMethods,
2338 nullptr, // tracker
2339 };
2340}
2341
2342PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2343 ::google::protobuf::internal::ClassDataFull CoolingScheduleStrategy_class_data_ =
2345
2346PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2348 ::google::protobuf::internal::PrefetchToLocalCache(&CoolingScheduleStrategy_class_data_);
2349 ::google::protobuf::internal::PrefetchToLocalCache(CoolingScheduleStrategy_class_data_.tc_table);
2352PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2353const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
2354CoolingScheduleStrategy::_table_ = {
2356 0, // no _has_bits_
2357 0, // no _extensions_
2358 0, 0, // max_field_number, fast_idx_mask
2359 offsetof(decltype(_table_), field_lookup_table),
2360 4294967295, // skipmap
2361 offsetof(decltype(_table_), field_names), // no field_entries
2362 0, // num_field_entries
2363 0, // num_aux_entries
2364 offsetof(decltype(_table_), field_names), // no aux_entries
2366 nullptr, // post_loop_handler
2367 ::_pbi::TcParser::GenericFallback, // fallback
2368 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2369 ::_pbi::TcParser::GetTable<::operations_research::CoolingScheduleStrategy>(), // to_prefetch
2370 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2371 }, {{
2372 {::_pbi::TcParser::MiniParse, {}},
2373 }}, {{
2374 65535, 65535
2375 }}, // no field_entries, or aux_entries
2376 {{
2377 }},
2378};
2379
2380
2381
2382
2383
2384
2385
2386::google::protobuf::Metadata CoolingScheduleStrategy::GetMetadata() const {
2387 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
2388}
2389// ===================================================================
2390
2391class SimulatedAnnealingParameters::_Internal {
2392 public:
2393 using HasBits =
2394 decltype(::std::declval<SimulatedAnnealingParameters>()._impl_._has_bits_);
2395 static constexpr ::int32_t kHasBitsOffset =
2396 8 * PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_._has_bits_);
2397};
2398
2399SimulatedAnnealingParameters::SimulatedAnnealingParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2400#if defined(PROTOBUF_CUSTOM_VTABLE)
2401 : ::google::protobuf::Message(arena, SimulatedAnnealingParameters_class_data_.base()) {
2402#else // PROTOBUF_CUSTOM_VTABLE
2403 : ::google::protobuf::Message(arena) {
2404#endif // PROTOBUF_CUSTOM_VTABLE
2405 SharedCtor(arena);
2406 // @@protoc_insertion_point(arena_constructor:operations_research.SimulatedAnnealingParameters)
2407}
2409 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SimulatedAnnealingParameters& from)
2410#if defined(PROTOBUF_CUSTOM_VTABLE)
2411 : ::google::protobuf::Message(arena, SimulatedAnnealingParameters_class_data_.base()),
2412#else // PROTOBUF_CUSTOM_VTABLE
2413 : ::google::protobuf::Message(arena),
2414#endif // PROTOBUF_CUSTOM_VTABLE
2415 _impl_(from._impl_) {
2416 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2417 from._internal_metadata_);
2418}
2419PROTOBUF_NDEBUG_INLINE SimulatedAnnealingParameters::Impl_::Impl_(
2420 ::google::protobuf::internal::InternalVisibility visibility,
2421 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2422 : _cached_size_{0} {}
2423
2424inline void SimulatedAnnealingParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2425 new (&_impl_) Impl_(internal_visibility(), arena);
2426 ::memset(reinterpret_cast<char *>(&_impl_) +
2427 offsetof(Impl_, initial_temperature_),
2428 0,
2429 offsetof(Impl_, final_temperature_) -
2430 offsetof(Impl_, initial_temperature_) +
2431 sizeof(Impl_::final_temperature_));
2432}
2434 // @@protoc_insertion_point(destructor:operations_research.SimulatedAnnealingParameters)
2435 SharedDtor(*this);
2436}
2437inline void SimulatedAnnealingParameters::SharedDtor(MessageLite& self) {
2439 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2440 ABSL_DCHECK(this_.GetArena() == nullptr);
2441 this_._impl_.~Impl_();
2443
2444inline void* PROTOBUF_NONNULL SimulatedAnnealingParameters::PlacementNew_(
2445 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2446 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2447 return ::new (mem) SimulatedAnnealingParameters(arena);
2448}
2450 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SimulatedAnnealingParameters),
2452}
2454 return ::google::protobuf::internal::ClassDataFull{
2455 ::google::protobuf::internal::ClassData{
2457 &_table_.header,
2458 nullptr, // OnDemandRegisterArenaDtor
2459 nullptr, // IsInitialized
2460 &SimulatedAnnealingParameters::MergeImpl,
2461 ::google::protobuf::Message::GetNewImpl<SimulatedAnnealingParameters>(),
2462#if defined(PROTOBUF_CUSTOM_VTABLE)
2463 &SimulatedAnnealingParameters::SharedDtor,
2464 ::google::protobuf::Message::GetClearImpl<SimulatedAnnealingParameters>(), &SimulatedAnnealingParameters::ByteSizeLong,
2466#endif // PROTOBUF_CUSTOM_VTABLE
2467 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_._cached_size_),
2468 false,
2469 },
2470 &SimulatedAnnealingParameters::kDescriptorMethods,
2472 nullptr, // tracker
2473 };
2474}
2475
2476PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2477 ::google::protobuf::internal::ClassDataFull SimulatedAnnealingParameters_class_data_ =
2479
2480PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2482 ::google::protobuf::internal::PrefetchToLocalCache(&SimulatedAnnealingParameters_class_data_);
2483 ::google::protobuf::internal::PrefetchToLocalCache(SimulatedAnnealingParameters_class_data_.tc_table);
2485}
2486PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2487const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
2488SimulatedAnnealingParameters::_table_ = {
2489 {
2490 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_._has_bits_),
2491 0, // no _extensions_
2492 4, 24, // max_field_number, fast_idx_mask
2493 offsetof(decltype(_table_), field_lookup_table),
2494 4294967280, // skipmap
2495 offsetof(decltype(_table_), field_entries),
2496 4, // num_field_entries
2497 0, // num_aux_entries
2498 offsetof(decltype(_table_), field_names), // no aux_entries
2500 nullptr, // post_loop_handler
2501 ::_pbi::TcParser::GenericFallback, // fallback
2502 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2503 ::_pbi::TcParser::GetTable<::operations_research::SimulatedAnnealingParameters>(), // to_prefetch
2504 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2505 }, {{
2506 // optional bool automatic_temperatures = 4;
2507 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SimulatedAnnealingParameters, _impl_.automatic_temperatures_), 2>(),
2508 {32, 2, 0, PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.automatic_temperatures_)}},
2509 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
2510 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SimulatedAnnealingParameters, _impl_.cooling_schedule_strategy_), 1>(),
2511 {8, 1, 0, PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.cooling_schedule_strategy_)}},
2512 // optional double initial_temperature = 2;
2513 {::_pbi::TcParser::FastF64S1,
2514 {17, 0, 0, PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.initial_temperature_)}},
2515 // optional double final_temperature = 3;
2516 {::_pbi::TcParser::FastF64S1,
2517 {25, 3, 0, PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.final_temperature_)}},
2518 }}, {{
2519 65535, 65535
2520 }}, {{
2521 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
2522 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.cooling_schedule_strategy_), _Internal::kHasBitsOffset + 1, 0,
2523 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
2524 // optional double initial_temperature = 2;
2525 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.initial_temperature_), _Internal::kHasBitsOffset + 0, 0,
2526 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2527 // optional double final_temperature = 3;
2528 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.final_temperature_), _Internal::kHasBitsOffset + 3, 0,
2529 (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2530 // optional bool automatic_temperatures = 4;
2531 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.automatic_temperatures_), _Internal::kHasBitsOffset + 2, 0,
2532 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2533 }},
2534 // no aux_entries
2535 {{
2536 }},
2537};
2538PROTOBUF_NOINLINE void SimulatedAnnealingParameters::Clear() {
2539// @@protoc_insertion_point(message_clear_start:operations_research.SimulatedAnnealingParameters)
2540 ::google::protobuf::internal::TSanWrite(&_impl_);
2541 ::uint32_t cached_has_bits = 0;
2542 // Prevent compiler warnings about cached_has_bits being unused
2543 (void) cached_has_bits;
2544
2545 cached_has_bits = _impl_._has_bits_[0];
2546 if ((cached_has_bits & 0x0000000fu) != 0) {
2547 ::memset(&_impl_.initial_temperature_, 0, static_cast<::size_t>(
2548 reinterpret_cast<char*>(&_impl_.final_temperature_) -
2549 reinterpret_cast<char*>(&_impl_.initial_temperature_)) + sizeof(_impl_.final_temperature_));
2550 }
2551 _impl_._has_bits_.Clear();
2552 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2553}
2554
2555#if defined(PROTOBUF_CUSTOM_VTABLE)
2556::uint8_t* PROTOBUF_NONNULL SimulatedAnnealingParameters::_InternalSerialize(
2557 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2558 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2559 const SimulatedAnnealingParameters& this_ = static_cast<const SimulatedAnnealingParameters&>(base);
2560#else // PROTOBUF_CUSTOM_VTABLE
2561::uint8_t* PROTOBUF_NONNULL SimulatedAnnealingParameters::_InternalSerialize(
2562 ::uint8_t* PROTOBUF_NONNULL target,
2563 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2564 const SimulatedAnnealingParameters& this_ = *this;
2565#endif // PROTOBUF_CUSTOM_VTABLE
2566 // @@protoc_insertion_point(serialize_to_array_start:operations_research.SimulatedAnnealingParameters)
2567 ::uint32_t cached_has_bits = 0;
2568 (void)cached_has_bits;
2569
2570 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
2571 if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
2572 if (this_._internal_cooling_schedule_strategy() != 0) {
2573 target = stream->EnsureSpace(target);
2574 target = ::_pbi::WireFormatLite::WriteEnumToArray(
2575 1, this_._internal_cooling_schedule_strategy(), target);
2576 }
2577 }
2578
2579 cached_has_bits = this_._impl_._has_bits_[0];
2580 // optional double initial_temperature = 2;
2581 if ((cached_has_bits & 0x00000001u) != 0) {
2582 target = stream->EnsureSpace(target);
2583 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
2584 2, this_._internal_initial_temperature(), target);
2585 }
2586
2587 // optional double final_temperature = 3;
2588 if ((cached_has_bits & 0x00000008u) != 0) {
2589 target = stream->EnsureSpace(target);
2590 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
2591 3, this_._internal_final_temperature(), target);
2592 }
2593
2594 // optional bool automatic_temperatures = 4;
2595 if ((cached_has_bits & 0x00000004u) != 0) {
2596 target = stream->EnsureSpace(target);
2597 target = ::_pbi::WireFormatLite::WriteBoolToArray(
2598 4, this_._internal_automatic_temperatures(), target);
2599 }
2600
2601 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2602 target =
2603 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2604 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2605 }
2606 // @@protoc_insertion_point(serialize_to_array_end:operations_research.SimulatedAnnealingParameters)
2607 return target;
2608}
2609
2610#if defined(PROTOBUF_CUSTOM_VTABLE)
2612 const SimulatedAnnealingParameters& this_ = static_cast<const SimulatedAnnealingParameters&>(base);
2613#else // PROTOBUF_CUSTOM_VTABLE
2615 const SimulatedAnnealingParameters& this_ = *this;
2616#endif // PROTOBUF_CUSTOM_VTABLE
2617 // @@protoc_insertion_point(message_byte_size_start:operations_research.SimulatedAnnealingParameters)
2618 ::size_t total_size = 0;
2619
2620 ::uint32_t cached_has_bits = 0;
2621 // Prevent compiler warnings about cached_has_bits being unused
2622 (void)cached_has_bits;
2624 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2625 cached_has_bits = this_._impl_._has_bits_[0];
2626 total_size += ::absl::popcount(0x00000009u & cached_has_bits) * 9;
2627 total_size += static_cast<bool>(0x00000004u & cached_has_bits) * 2;
2628 {
2629 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
2630 if ((cached_has_bits & 0x00000002u) != 0) {
2631 if (this_._internal_cooling_schedule_strategy() != 0) {
2632 total_size += 1 +
2633 ::_pbi::WireFormatLite::EnumSize(this_._internal_cooling_schedule_strategy());
2634 }
2635 }
2636 }
2637 return this_.MaybeComputeUnknownFieldsSize(total_size,
2638 &this_._impl_._cached_size_);
2639}
2640
2641void SimulatedAnnealingParameters::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
2642 auto* const _this = static_cast<SimulatedAnnealingParameters*>(&to_msg);
2643 auto& from = static_cast<const SimulatedAnnealingParameters&>(from_msg);
2644 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SimulatedAnnealingParameters)
2645 ABSL_DCHECK_NE(&from, _this);
2646 ::uint32_t cached_has_bits = 0;
2647 (void) cached_has_bits;
2648
2649 cached_has_bits = from._impl_._has_bits_[0];
2650 if ((cached_has_bits & 0x0000000fu) != 0) {
2651 if ((cached_has_bits & 0x00000001u) != 0) {
2652 _this->_impl_.initial_temperature_ = from._impl_.initial_temperature_;
2653 }
2654 if ((cached_has_bits & 0x00000002u) != 0) {
2655 if (from._internal_cooling_schedule_strategy() != 0) {
2656 _this->_impl_.cooling_schedule_strategy_ = from._impl_.cooling_schedule_strategy_;
2657 }
2658 }
2659 if ((cached_has_bits & 0x00000004u) != 0) {
2660 _this->_impl_.automatic_temperatures_ = from._impl_.automatic_temperatures_;
2661 }
2662 if ((cached_has_bits & 0x00000008u) != 0) {
2663 _this->_impl_.final_temperature_ = from._impl_.final_temperature_;
2664 }
2665 }
2666 _this->_impl_._has_bits_[0] |= cached_has_bits;
2667 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
2668}
2669
2671// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SimulatedAnnealingParameters)
2672 if (&from == this) return;
2673 Clear();
2674 MergeFrom(from);
2675}
2676
2677
2678void SimulatedAnnealingParameters::InternalSwap(SimulatedAnnealingParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2679 using ::std::swap;
2680 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2681 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2682 ::google::protobuf::internal::memswap<
2683 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.final_temperature_)
2684 + sizeof(SimulatedAnnealingParameters::_impl_.final_temperature_)
2685 - PROTOBUF_FIELD_OFFSET(SimulatedAnnealingParameters, _impl_.initial_temperature_)>(
2686 reinterpret_cast<char*>(&_impl_.initial_temperature_),
2687 reinterpret_cast<char*>(&other->_impl_.initial_temperature_));
2688}
2689
2690::google::protobuf::Metadata SimulatedAnnealingParameters::GetMetadata() const {
2691 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2692}
2693// ===================================================================
2694
2695class AcceptanceStrategy::_Internal {
2696 public:
2697};
2698
2699AcceptanceStrategy::AcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2700#if defined(PROTOBUF_CUSTOM_VTABLE)
2701 : ::google::protobuf::internal::ZeroFieldsBase(arena, AcceptanceStrategy_class_data_.base()) {
2702#else // PROTOBUF_CUSTOM_VTABLE
2703 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2704#endif // PROTOBUF_CUSTOM_VTABLE
2705 // @@protoc_insertion_point(arena_constructor:operations_research.AcceptanceStrategy)
2706}
2708 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2710#if defined(PROTOBUF_CUSTOM_VTABLE)
2711 : ::google::protobuf::internal::ZeroFieldsBase(arena, AcceptanceStrategy_class_data_.base()) {
2712#else // PROTOBUF_CUSTOM_VTABLE
2713 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2714#endif // PROTOBUF_CUSTOM_VTABLE
2715 AcceptanceStrategy* const _this = this;
2716 (void)_this;
2717 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2718 from._internal_metadata_);
2719
2720 // @@protoc_insertion_point(copy_constructor:operations_research.AcceptanceStrategy)
2721}
2722
2723inline void* PROTOBUF_NONNULL AcceptanceStrategy::PlacementNew_(
2724 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2725 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2726 return ::new (mem) AcceptanceStrategy(arena);
2727}
2728constexpr auto AcceptanceStrategy::InternalNewImpl_() {
2729 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AcceptanceStrategy),
2730 alignof(AcceptanceStrategy));
2731}
2733 return ::google::protobuf::internal::ClassDataFull{
2734 ::google::protobuf::internal::ClassData{
2736 &_table_.header,
2737 nullptr, // OnDemandRegisterArenaDtor
2738 nullptr, // IsInitialized
2739 &AcceptanceStrategy::MergeImpl,
2740 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<AcceptanceStrategy>(),
2741#if defined(PROTOBUF_CUSTOM_VTABLE)
2742 &AcceptanceStrategy::SharedDtor,
2743 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<AcceptanceStrategy>(), &AcceptanceStrategy::ByteSizeLong,
2744 &AcceptanceStrategy::_InternalSerialize,
2745#endif // PROTOBUF_CUSTOM_VTABLE
2746 PROTOBUF_FIELD_OFFSET(AcceptanceStrategy, _impl_._cached_size_),
2747 false,
2748 },
2749 &AcceptanceStrategy::kDescriptorMethods,
2751 nullptr, // tracker
2752 };
2753}
2754
2755PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2756 ::google::protobuf::internal::ClassDataFull AcceptanceStrategy_class_data_ =
2758
2759PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2761 ::google::protobuf::internal::PrefetchToLocalCache(&AcceptanceStrategy_class_data_);
2762 ::google::protobuf::internal::PrefetchToLocalCache(AcceptanceStrategy_class_data_.tc_table);
2763 return AcceptanceStrategy_class_data_.base();
2764}
2765PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2766const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
2767AcceptanceStrategy::_table_ = {
2768 {
2769 0, // no _has_bits_
2770 0, // no _extensions_
2771 0, 0, // max_field_number, fast_idx_mask
2772 offsetof(decltype(_table_), field_lookup_table),
2773 4294967295, // skipmap
2774 offsetof(decltype(_table_), field_names), // no field_entries
2775 0, // num_field_entries
2776 0, // num_aux_entries
2777 offsetof(decltype(_table_), field_names), // no aux_entries
2779 nullptr, // post_loop_handler
2780 ::_pbi::TcParser::GenericFallback, // fallback
2781 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2782 ::_pbi::TcParser::GetTable<::operations_research::AcceptanceStrategy>(), // to_prefetch
2783 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2784 }, {{
2785 {::_pbi::TcParser::MiniParse, {}},
2786 }}, {{
2787 65535, 65535
2788 }}, // no field_entries, or aux_entries
2789 {{
2790 }},
2791};
2792
2793
2794
2795
2796
2797
2798
2799::google::protobuf::Metadata AcceptanceStrategy::GetMetadata() const {
2800 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
2801}
2802// ===================================================================
2803
2804class IteratedLocalSearchParameters::_Internal {
2805 public:
2806 using HasBits =
2807 decltype(::std::declval<IteratedLocalSearchParameters>()._impl_._has_bits_);
2808 static constexpr ::int32_t kHasBitsOffset =
2809 8 * PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_._has_bits_);
2810};
2811
2812IteratedLocalSearchParameters::IteratedLocalSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2813#if defined(PROTOBUF_CUSTOM_VTABLE)
2814 : ::google::protobuf::Message(arena, IteratedLocalSearchParameters_class_data_.base()) {
2815#else // PROTOBUF_CUSTOM_VTABLE
2816 : ::google::protobuf::Message(arena) {
2817#endif // PROTOBUF_CUSTOM_VTABLE
2818 SharedCtor(arena);
2819 // @@protoc_insertion_point(arena_constructor:operations_research.IteratedLocalSearchParameters)
2820}
2821PROTOBUF_NDEBUG_INLINE IteratedLocalSearchParameters::Impl_::Impl_(
2822 ::google::protobuf::internal::InternalVisibility visibility,
2823 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2824 const ::operations_research::IteratedLocalSearchParameters& from_msg)
2825 : _has_bits_{from._has_bits_},
2826 _cached_size_{0} {}
2827
2829 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2831#if defined(PROTOBUF_CUSTOM_VTABLE)
2832 : ::google::protobuf::Message(arena, IteratedLocalSearchParameters_class_data_.base()) {
2833#else // PROTOBUF_CUSTOM_VTABLE
2834 : ::google::protobuf::Message(arena) {
2835#endif // PROTOBUF_CUSTOM_VTABLE
2836 IteratedLocalSearchParameters* const _this = this;
2837 (void)_this;
2838 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2839 from._internal_metadata_);
2840 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2841 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
2842 _impl_.ruin_recreate_parameters_ = ((cached_has_bits & 0x00000001u) != 0)
2843 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.ruin_recreate_parameters_)
2844 : nullptr;
2845 _impl_.simulated_annealing_parameters_ = ((cached_has_bits & 0x00000002u) != 0)
2846 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.simulated_annealing_parameters_)
2847 : nullptr;
2848 ::memcpy(reinterpret_cast<char *>(&_impl_) +
2849 offsetof(Impl_, perturbation_strategy_),
2850 reinterpret_cast<const char *>(&from._impl_) +
2851 offsetof(Impl_, perturbation_strategy_),
2852 offsetof(Impl_, acceptance_strategy_) -
2853 offsetof(Impl_, perturbation_strategy_) +
2854 sizeof(Impl_::acceptance_strategy_));
2855
2856 // @@protoc_insertion_point(copy_constructor:operations_research.IteratedLocalSearchParameters)
2857}
2858PROTOBUF_NDEBUG_INLINE IteratedLocalSearchParameters::Impl_::Impl_(
2859 ::google::protobuf::internal::InternalVisibility visibility,
2860 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2861 : _cached_size_{0} {}
2862
2863inline void IteratedLocalSearchParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2864 new (&_impl_) Impl_(internal_visibility(), arena);
2865 ::memset(reinterpret_cast<char *>(&_impl_) +
2866 offsetof(Impl_, ruin_recreate_parameters_),
2867 0,
2868 offsetof(Impl_, acceptance_strategy_) -
2869 offsetof(Impl_, ruin_recreate_parameters_) +
2870 sizeof(Impl_::acceptance_strategy_));
2871}
2873 // @@protoc_insertion_point(destructor:operations_research.IteratedLocalSearchParameters)
2874 SharedDtor(*this);
2875}
2876inline void IteratedLocalSearchParameters::SharedDtor(MessageLite& self) {
2878 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2879 ABSL_DCHECK(this_.GetArena() == nullptr);
2880 delete this_._impl_.ruin_recreate_parameters_;
2881 delete this_._impl_.simulated_annealing_parameters_;
2882 this_._impl_.~Impl_();
2884
2885inline void* PROTOBUF_NONNULL IteratedLocalSearchParameters::PlacementNew_(
2886 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2887 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2888 return ::new (mem) IteratedLocalSearchParameters(arena);
2889}
2891 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(IteratedLocalSearchParameters),
2893}
2895 return ::google::protobuf::internal::ClassDataFull{
2896 ::google::protobuf::internal::ClassData{
2898 &_table_.header,
2899 nullptr, // OnDemandRegisterArenaDtor
2900 nullptr, // IsInitialized
2901 &IteratedLocalSearchParameters::MergeImpl,
2902 ::google::protobuf::Message::GetNewImpl<IteratedLocalSearchParameters>(),
2903#if defined(PROTOBUF_CUSTOM_VTABLE)
2904 &IteratedLocalSearchParameters::SharedDtor,
2905 ::google::protobuf::Message::GetClearImpl<IteratedLocalSearchParameters>(), &IteratedLocalSearchParameters::ByteSizeLong,
2907#endif // PROTOBUF_CUSTOM_VTABLE
2908 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_._cached_size_),
2909 false,
2910 },
2911 &IteratedLocalSearchParameters::kDescriptorMethods,
2913 nullptr, // tracker
2914 };
2915}
2916
2917PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2918 ::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_ =
2920
2921PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2923 ::google::protobuf::internal::PrefetchToLocalCache(&IteratedLocalSearchParameters_class_data_);
2924 ::google::protobuf::internal::PrefetchToLocalCache(IteratedLocalSearchParameters_class_data_.tc_table);
2926}
2927PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2928const ::_pbi::TcParseTable<3, 5, 2, 0, 2>
2929IteratedLocalSearchParameters::_table_ = {
2930 {
2931 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_._has_bits_),
2932 0, // no _extensions_
2933 5, 56, // max_field_number, fast_idx_mask
2934 offsetof(decltype(_table_), field_lookup_table),
2935 4294967264, // skipmap
2936 offsetof(decltype(_table_), field_entries),
2937 5, // num_field_entries
2938 2, // num_aux_entries
2939 offsetof(decltype(_table_), aux_entries),
2941 nullptr, // post_loop_handler
2942 ::_pbi::TcParser::GenericFallback, // fallback
2943 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2944 ::_pbi::TcParser::GetTable<::operations_research::IteratedLocalSearchParameters>(), // to_prefetch
2945 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2946 }, {{
2947 {::_pbi::TcParser::MiniParse, {}},
2948 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
2949 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IteratedLocalSearchParameters, _impl_.perturbation_strategy_), 2>(),
2950 {8, 2, 0, PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.perturbation_strategy_)}},
2951 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
2952 {::_pbi::TcParser::FastMtS1,
2953 {18, 0, 0, PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_)}},
2954 // optional bool improve_perturbed_solution = 3;
2955 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_), 3>(),
2956 {24, 3, 0, PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_)}},
2957 // .operations_research.AcceptanceStrategy.Value acceptance_strategy = 4;
2958 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IteratedLocalSearchParameters, _impl_.acceptance_strategy_), 4>(),
2959 {32, 4, 0, PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.acceptance_strategy_)}},
2960 // .operations_research.SimulatedAnnealingParameters simulated_annealing_parameters = 5;
2961 {::_pbi::TcParser::FastMtS1,
2962 {42, 1, 1, PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.simulated_annealing_parameters_)}},
2963 {::_pbi::TcParser::MiniParse, {}},
2964 {::_pbi::TcParser::MiniParse, {}},
2965 }}, {{
2966 65535, 65535
2967 }}, {{
2968 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
2969 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.perturbation_strategy_), _Internal::kHasBitsOffset + 2, 0,
2970 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
2971 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
2972 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_), _Internal::kHasBitsOffset + 0, 0,
2973 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2974 // optional bool improve_perturbed_solution = 3;
2975 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_), _Internal::kHasBitsOffset + 3, 0,
2976 (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2977 // .operations_research.AcceptanceStrategy.Value acceptance_strategy = 4;
2978 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.acceptance_strategy_), _Internal::kHasBitsOffset + 4, 0,
2979 (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
2980 // .operations_research.SimulatedAnnealingParameters simulated_annealing_parameters = 5;
2981 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.simulated_annealing_parameters_), _Internal::kHasBitsOffset + 1, 1,
2982 (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2983 }},
2984 {{
2985 {::_pbi::TcParser::GetTable<::operations_research::RuinRecreateParameters>()},
2986 {::_pbi::TcParser::GetTable<::operations_research::SimulatedAnnealingParameters>()},
2987 }},
2988 {{
2989 }},
2990};
2991PROTOBUF_NOINLINE void IteratedLocalSearchParameters::Clear() {
2992// @@protoc_insertion_point(message_clear_start:operations_research.IteratedLocalSearchParameters)
2993 ::google::protobuf::internal::TSanWrite(&_impl_);
2994 ::uint32_t cached_has_bits = 0;
2995 // Prevent compiler warnings about cached_has_bits being unused
2996 (void) cached_has_bits;
2997
2998 cached_has_bits = _impl_._has_bits_[0];
2999 if ((cached_has_bits & 0x00000003u) != 0) {
3000 if ((cached_has_bits & 0x00000001u) != 0) {
3001 ABSL_DCHECK(_impl_.ruin_recreate_parameters_ != nullptr);
3002 _impl_.ruin_recreate_parameters_->Clear();
3003 }
3004 if ((cached_has_bits & 0x00000002u) != 0) {
3005 ABSL_DCHECK(_impl_.simulated_annealing_parameters_ != nullptr);
3006 _impl_.simulated_annealing_parameters_->Clear();
3007 }
3008 }
3009 if ((cached_has_bits & 0x0000001cu) != 0) {
3010 ::memset(&_impl_.perturbation_strategy_, 0, static_cast<::size_t>(
3011 reinterpret_cast<char*>(&_impl_.acceptance_strategy_) -
3012 reinterpret_cast<char*>(&_impl_.perturbation_strategy_)) + sizeof(_impl_.acceptance_strategy_));
3013 }
3014 _impl_._has_bits_.Clear();
3015 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3016}
3017
3018#if defined(PROTOBUF_CUSTOM_VTABLE)
3019::uint8_t* PROTOBUF_NONNULL IteratedLocalSearchParameters::_InternalSerialize(
3020 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3021 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3022 const IteratedLocalSearchParameters& this_ = static_cast<const IteratedLocalSearchParameters&>(base);
3023#else // PROTOBUF_CUSTOM_VTABLE
3024::uint8_t* PROTOBUF_NONNULL IteratedLocalSearchParameters::_InternalSerialize(
3025 ::uint8_t* PROTOBUF_NONNULL target,
3026 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3027 const IteratedLocalSearchParameters& this_ = *this;
3028#endif // PROTOBUF_CUSTOM_VTABLE
3029 // @@protoc_insertion_point(serialize_to_array_start:operations_research.IteratedLocalSearchParameters)
3030 ::uint32_t cached_has_bits = 0;
3031 (void)cached_has_bits;
3032
3033 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
3034 if ((this_._impl_._has_bits_[0] & 0x00000004u) != 0) {
3035 if (this_._internal_perturbation_strategy() != 0) {
3036 target = stream->EnsureSpace(target);
3037 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3038 1, this_._internal_perturbation_strategy(), target);
3039 }
3040 }
3041
3042 cached_has_bits = this_._impl_._has_bits_[0];
3043 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
3044 if ((cached_has_bits & 0x00000001u) != 0) {
3045 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3046 2, *this_._impl_.ruin_recreate_parameters_, this_._impl_.ruin_recreate_parameters_->GetCachedSize(), target,
3047 stream);
3048 }
3049
3050 // optional bool improve_perturbed_solution = 3;
3051 if ((cached_has_bits & 0x00000008u) != 0) {
3052 target = stream->EnsureSpace(target);
3053 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3054 3, this_._internal_improve_perturbed_solution(), target);
3055 }
3056
3057 // .operations_research.AcceptanceStrategy.Value acceptance_strategy = 4;
3058 if ((cached_has_bits & 0x00000010u) != 0) {
3059 if (this_._internal_acceptance_strategy() != 0) {
3060 target = stream->EnsureSpace(target);
3061 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3062 4, this_._internal_acceptance_strategy(), target);
3063 }
3064 }
3065
3066 // .operations_research.SimulatedAnnealingParameters simulated_annealing_parameters = 5;
3067 if ((cached_has_bits & 0x00000002u) != 0) {
3068 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3069 5, *this_._impl_.simulated_annealing_parameters_, this_._impl_.simulated_annealing_parameters_->GetCachedSize(), target,
3070 stream);
3071 }
3072
3073 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3074 target =
3075 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3076 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3077 }
3078 // @@protoc_insertion_point(serialize_to_array_end:operations_research.IteratedLocalSearchParameters)
3079 return target;
3080}
3081
3082#if defined(PROTOBUF_CUSTOM_VTABLE)
3084 const IteratedLocalSearchParameters& this_ = static_cast<const IteratedLocalSearchParameters&>(base);
3085#else // PROTOBUF_CUSTOM_VTABLE
3087 const IteratedLocalSearchParameters& this_ = *this;
3088#endif // PROTOBUF_CUSTOM_VTABLE
3089 // @@protoc_insertion_point(message_byte_size_start:operations_research.IteratedLocalSearchParameters)
3090 ::size_t total_size = 0;
3091
3092 ::uint32_t cached_has_bits = 0;
3093 // Prevent compiler warnings about cached_has_bits being unused
3094 (void)cached_has_bits;
3095
3096 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3097 cached_has_bits = this_._impl_._has_bits_[0];
3098 total_size += static_cast<bool>(0x00000008u & cached_has_bits) * 2;
3099 if ((cached_has_bits & 0x00000017u) != 0) {
3100 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
3101 if ((cached_has_bits & 0x00000001u) != 0) {
3102 total_size += 1 +
3103 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.ruin_recreate_parameters_);
3104 }
3105 // .operations_research.SimulatedAnnealingParameters simulated_annealing_parameters = 5;
3106 if ((cached_has_bits & 0x00000002u) != 0) {
3107 total_size += 1 +
3108 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.simulated_annealing_parameters_);
3109 }
3110 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
3111 if ((cached_has_bits & 0x00000004u) != 0) {
3112 if (this_._internal_perturbation_strategy() != 0) {
3113 total_size += 1 +
3114 ::_pbi::WireFormatLite::EnumSize(this_._internal_perturbation_strategy());
3115 }
3116 }
3117 // .operations_research.AcceptanceStrategy.Value acceptance_strategy = 4;
3118 if ((cached_has_bits & 0x00000010u) != 0) {
3119 if (this_._internal_acceptance_strategy() != 0) {
3120 total_size += 1 +
3121 ::_pbi::WireFormatLite::EnumSize(this_._internal_acceptance_strategy());
3122 }
3123 }
3124 }
3125 return this_.MaybeComputeUnknownFieldsSize(total_size,
3126 &this_._impl_._cached_size_);
3127}
3128
3129void IteratedLocalSearchParameters::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
3130 auto* const _this = static_cast<IteratedLocalSearchParameters*>(&to_msg);
3131 auto& from = static_cast<const IteratedLocalSearchParameters&>(from_msg);
3132 ::google::protobuf::Arena* arena = _this->GetArena();
3133 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.IteratedLocalSearchParameters)
3134 ABSL_DCHECK_NE(&from, _this);
3135 ::uint32_t cached_has_bits = 0;
3136 (void) cached_has_bits;
3137
3138 cached_has_bits = from._impl_._has_bits_[0];
3139 if ((cached_has_bits & 0x0000001fu) != 0) {
3140 if ((cached_has_bits & 0x00000001u) != 0) {
3141 ABSL_DCHECK(from._impl_.ruin_recreate_parameters_ != nullptr);
3142 if (_this->_impl_.ruin_recreate_parameters_ == nullptr) {
3143 _this->_impl_.ruin_recreate_parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.ruin_recreate_parameters_);
3144 } else {
3145 _this->_impl_.ruin_recreate_parameters_->MergeFrom(*from._impl_.ruin_recreate_parameters_);
3146 }
3147 }
3148 if ((cached_has_bits & 0x00000002u) != 0) {
3149 ABSL_DCHECK(from._impl_.simulated_annealing_parameters_ != nullptr);
3150 if (_this->_impl_.simulated_annealing_parameters_ == nullptr) {
3151 _this->_impl_.simulated_annealing_parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.simulated_annealing_parameters_);
3152 } else {
3153 _this->_impl_.simulated_annealing_parameters_->MergeFrom(*from._impl_.simulated_annealing_parameters_);
3154 }
3155 }
3156 if ((cached_has_bits & 0x00000004u) != 0) {
3157 if (from._internal_perturbation_strategy() != 0) {
3158 _this->_impl_.perturbation_strategy_ = from._impl_.perturbation_strategy_;
3159 }
3160 }
3161 if ((cached_has_bits & 0x00000008u) != 0) {
3162 _this->_impl_.improve_perturbed_solution_ = from._impl_.improve_perturbed_solution_;
3163 }
3164 if ((cached_has_bits & 0x00000010u) != 0) {
3165 if (from._internal_acceptance_strategy() != 0) {
3166 _this->_impl_.acceptance_strategy_ = from._impl_.acceptance_strategy_;
3167 }
3168 }
3169 }
3170 _this->_impl_._has_bits_[0] |= cached_has_bits;
3171 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
3172}
3173
3175// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.IteratedLocalSearchParameters)
3176 if (&from == this) return;
3177 Clear();
3178 MergeFrom(from);
3179}
3180
3181
3182void IteratedLocalSearchParameters::InternalSwap(IteratedLocalSearchParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3183 using ::std::swap;
3184 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3185 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3186 ::google::protobuf::internal::memswap<
3187 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.acceptance_strategy_)
3188 + sizeof(IteratedLocalSearchParameters::_impl_.acceptance_strategy_)
3189 - PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_)>(
3190 reinterpret_cast<char*>(&_impl_.ruin_recreate_parameters_),
3191 reinterpret_cast<char*>(&other->_impl_.ruin_recreate_parameters_));
3192}
3193
3194::google::protobuf::Metadata IteratedLocalSearchParameters::GetMetadata() const {
3195 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3196}
3197// @@protoc_insertion_point(namespace_scope)
3198} // namespace operations_research
3199namespace google {
3200namespace protobuf {
3201} // namespace protobuf
3202} // namespace google
3203// @@protoc_insertion_point(global_scope)
3204PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
3205 _static_init2_ [[maybe_unused]] =
3207 ::std::false_type{});
3208#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
@protoc_insertion_point(global_scope)
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
void MergeFrom(const AcceptanceStrategy &from)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::google::protobuf::Metadata GetMetadata() const
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
void CopyFrom(const IteratedLocalSearchParameters &from)
friend void swap(IteratedLocalSearchParameters &a, IteratedLocalSearchParameters &b)
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
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
void MergeFrom(const IteratedLocalSearchParameters &from)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static constexpr auto InternalGenerateClassData_()
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
decltype(::std::declval< RandomWalkRuinStrategy >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
friend void swap(RandomWalkRuinStrategy &a, RandomWalkRuinStrategy &b)
void MergeFrom(const RandomWalkRuinStrategy &from)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
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
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
void MergeFrom(const RuinCompositionStrategy &from)
friend class ::google::protobuf::MessageLite
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(RuinRecreateParameters &a, RuinRecreateParameters &b)
void CopyFrom(const RuinRecreateParameters &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const RuinRecreateParameters &from)
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
const ::operations_research::RandomWalkRuinStrategy & random_walk() const
void set_allocated_spatially_close_routes(::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE value)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
static constexpr auto InternalGenerateClassData_()
const ::operations_research::SpatiallyCloseRoutesRuinStrategy & spatially_close_routes() const
static constexpr auto InternalNewImpl_()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(RuinStrategy &a, RuinStrategy &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
friend void swap(SISRRuinStrategy &a, SISRRuinStrategy &b)
::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
void MergeFrom(const SISRRuinStrategy &from)
friend class ::google::protobuf::Arena
void CopyFrom(const SISRRuinStrategy &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
void CopyFrom(const SimulatedAnnealingParameters &from)
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
friend void swap(SimulatedAnnealingParameters &a, SimulatedAnnealingParameters &b)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
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 MergeFrom(const SimulatedAnnealingParameters &from)
::google::protobuf::Metadata GetMetadata() const
decltype(::std::declval< SpatiallyCloseRoutesRuinStrategy >()._impl_._has_bits_) HasBits
void MergeFrom(const SpatiallyCloseRoutesRuinStrategy &from)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
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 void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
In SWIG mode, we don't want anything besides these top-level includes.
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 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_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL AcceptanceStrategy_Value_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinRecreateParameters_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 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 const uint32_t AcceptanceStrategy_Value_internal_data_[]
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PerturbationStrategy_Value_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SimulatedAnnealingParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinStrategy_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_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_
PROTOBUF_CONSTINIT const uint32_t RuinCompositionStrategy_Value_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SimulatedAnnealingParametersDefaultTypeInternal _SimulatedAnnealingParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpatiallyCloseRoutesRuinStrategyDefaultTypeInternal _SpatiallyCloseRoutesRuinStrategy_default_instance_
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_
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fenums_2eproto
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
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto[4]
::absl::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_once
static const ::_pbi::DescriptorTable *PROTOBUF_NONNULL const descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_deps[1]
::google::protobuf::Message *PROTOBUF_NULLABLE spatially_close_routes_
::google::protobuf::Message *PROTOBUF_NULLABLE random_walk_
::google::protobuf::Message *PROTOBUF_NULLABLE sisr_