Google OR-Tools v9.15
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.33.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28
29inline constexpr 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 SimulatedAnnealingAcceptanceStrategy::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>
64#if defined(PROTOBUF_CUSTOM_VTABLE)
65 : ::google::protobuf::Message(SimulatedAnnealingAcceptanceStrategy_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>
171#if defined(PROTOBUF_CUSTOM_VTABLE)
172 : ::google::protobuf::internal::ZeroFieldsBase(MoreNodesPerformedAcceptanceStrategy_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 GreedyDescentAcceptanceStrategy::GreedyDescentAcceptanceStrategy(::_pbi::ConstantInitialized)
189#if defined(PROTOBUF_CUSTOM_VTABLE)
190 : ::google::protobuf::internal::ZeroFieldsBase(GreedyDescentAcceptanceStrategy_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
205template <typename>
206PROTOBUF_CONSTEXPR CoolingScheduleStrategy::CoolingScheduleStrategy(::_pbi::ConstantInitialized)
207#if defined(PROTOBUF_CUSTOM_VTABLE)
208 : ::google::protobuf::internal::ZeroFieldsBase(CoolingScheduleStrategy_class_data_.base()){}
209#else // PROTOBUF_CUSTOM_VTABLE
210 : ::google::protobuf::internal::ZeroFieldsBase() {
211}
212#endif // PROTOBUF_CUSTOM_VTABLE
220
221PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
223template <typename>
225#if defined(PROTOBUF_CUSTOM_VTABLE)
226 : ::google::protobuf::internal::ZeroFieldsBase(AllNodesPerformedAcceptanceStrategy_class_data_.base()){}
227#else // PROTOBUF_CUSTOM_VTABLE
228 : ::google::protobuf::internal::ZeroFieldsBase() {
229}
230#endif // PROTOBUF_CUSTOM_VTABLE
238
239PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
241
242inline constexpr AbsencesBasedAcceptanceStrategy::Impl_::Impl_(
243 ::_pbi::ConstantInitialized) noexcept
244 : _cached_size_{0},
245 remove_route_with_lowest_absences_{false} {}
246
247template <typename>
248PROTOBUF_CONSTEXPR AbsencesBasedAcceptanceStrategy::AbsencesBasedAcceptanceStrategy(::_pbi::ConstantInitialized)
249#if defined(PROTOBUF_CUSTOM_VTABLE)
250 : ::google::protobuf::Message(AbsencesBasedAcceptanceStrategy_class_data_.base()),
251#else // PROTOBUF_CUSTOM_VTABLE
252 : ::google::protobuf::Message(),
253#endif // PROTOBUF_CUSTOM_VTABLE
254 _impl_(::_pbi::ConstantInitialized()) {
255}
263
264PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
266
267inline constexpr RuinStrategy::Impl_::Impl_(
268 ::_pbi::ConstantInitialized) noexcept
269 : strategy_{},
270 _cached_size_{0},
271 _oneof_case_{} {}
272
273template <typename>
274PROTOBUF_CONSTEXPR RuinStrategy::RuinStrategy(::_pbi::ConstantInitialized)
275#if defined(PROTOBUF_CUSTOM_VTABLE)
276 : ::google::protobuf::Message(RuinStrategy_class_data_.base()),
277#else // PROTOBUF_CUSTOM_VTABLE
278 : ::google::protobuf::Message(),
279#endif // PROTOBUF_CUSTOM_VTABLE
280 _impl_(::_pbi::ConstantInitialized()) {
281}
283 PROTOBUF_CONSTEXPR RuinStrategyDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
285 union {
287 };
288};
289
290PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
292
293inline constexpr RecreateParameters::Impl_::Impl_(
294 ::_pbi::ConstantInitialized) noexcept
295 : parameters_{},
296 _cached_size_{0},
297 _oneof_case_{} {}
298
299template <typename>
300PROTOBUF_CONSTEXPR RecreateParameters::RecreateParameters(::_pbi::ConstantInitialized)
301#if defined(PROTOBUF_CUSTOM_VTABLE)
302 : ::google::protobuf::Message(RecreateParameters_class_data_.base()),
303#else // PROTOBUF_CUSTOM_VTABLE
304 : ::google::protobuf::Message(),
305#endif // PROTOBUF_CUSTOM_VTABLE
306 _impl_(::_pbi::ConstantInitialized()) {
307}
315
316PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
318
319inline constexpr AcceptanceStrategy::Impl_::Impl_(
320 ::_pbi::ConstantInitialized) noexcept
321 : strategy_{},
322 _cached_size_{0},
323 _oneof_case_{} {}
324
325template <typename>
326PROTOBUF_CONSTEXPR AcceptanceStrategy::AcceptanceStrategy(::_pbi::ConstantInitialized)
327#if defined(PROTOBUF_CUSTOM_VTABLE)
328 : ::google::protobuf::Message(AcceptanceStrategy_class_data_.base()),
329#else // PROTOBUF_CUSTOM_VTABLE
330 : ::google::protobuf::Message(),
331#endif // PROTOBUF_CUSTOM_VTABLE
332 _impl_(::_pbi::ConstantInitialized()) {
333}
341
342PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
344
345inline constexpr RecreateStrategy::Impl_::Impl_(
346 ::_pbi::ConstantInitialized) noexcept
347 : _cached_size_{0},
348 parameters_{nullptr},
349 heuristic_{static_cast< ::operations_research::FirstSolutionStrategy_Value >(0)} {}
350
351template <typename>
352PROTOBUF_CONSTEXPR RecreateStrategy::RecreateStrategy(::_pbi::ConstantInitialized)
353#if defined(PROTOBUF_CUSTOM_VTABLE)
354 : ::google::protobuf::Message(RecreateStrategy_class_data_.base()),
355#else // PROTOBUF_CUSTOM_VTABLE
356 : ::google::protobuf::Message(),
357#endif // PROTOBUF_CUSTOM_VTABLE
358 _impl_(::_pbi::ConstantInitialized()) {
359}
367
368PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
370
371inline constexpr RuinRecreateParameters::Impl_::Impl_(
372 ::_pbi::ConstantInitialized) noexcept
373 : _cached_size_{0},
374 ruin_strategies_{},
375 recreate_strategy_{nullptr},
376 ruin_composition_strategy_{static_cast< ::operations_research::RuinCompositionStrategy_Value >(0)},
377 route_selection_min_neighbors_{0u},
378 route_selection_neighbors_ratio_{0},
379 route_selection_max_neighbors_{0u} {}
380
381template <typename>
382PROTOBUF_CONSTEXPR RuinRecreateParameters::RuinRecreateParameters(::_pbi::ConstantInitialized)
383#if defined(PROTOBUF_CUSTOM_VTABLE)
384 : ::google::protobuf::Message(RuinRecreateParameters_class_data_.base()),
385#else // PROTOBUF_CUSTOM_VTABLE
386 : ::google::protobuf::Message(),
387#endif // PROTOBUF_CUSTOM_VTABLE
388 _impl_(::_pbi::ConstantInitialized()) {
389}
397
398PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
400
401inline constexpr IteratedLocalSearchParameters::Impl_::Impl_(
402 ::_pbi::ConstantInitialized) noexcept
403 : _cached_size_{0},
404 ruin_recreate_parameters_{nullptr},
405 reference_solution_acceptance_strategy_{nullptr},
406 best_solution_acceptance_strategy_{nullptr},
407 perturbation_strategy_{static_cast< ::operations_research::PerturbationStrategy_Value >(0)},
408 improve_perturbed_solution_{false} {}
409
410template <typename>
411PROTOBUF_CONSTEXPR IteratedLocalSearchParameters::IteratedLocalSearchParameters(::_pbi::ConstantInitialized)
412#if defined(PROTOBUF_CUSTOM_VTABLE)
413 : ::google::protobuf::Message(IteratedLocalSearchParameters_class_data_.base()),
414#else // PROTOBUF_CUSTOM_VTABLE
415 : ::google::protobuf::Message(),
416#endif // PROTOBUF_CUSTOM_VTABLE
417 _impl_(::_pbi::ConstantInitialized()) {
418}
426
427PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
429} // namespace operations_research
430static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
432static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
434const ::uint32_t
436 protodesc_cold) = {
437 0x081, // bitmap
438 PROTOBUF_FIELD_OFFSET(::operations_research::SpatiallyCloseRoutesRuinStrategy, _impl_._has_bits_),
439 4, // hasbit index offset
440 PROTOBUF_FIELD_OFFSET(::operations_research::SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_),
441 0,
442 0x081, // bitmap
443 PROTOBUF_FIELD_OFFSET(::operations_research::RandomWalkRuinStrategy, _impl_._has_bits_),
444 4, // hasbit index offset
445 PROTOBUF_FIELD_OFFSET(::operations_research::RandomWalkRuinStrategy, _impl_.num_removed_visits_),
446 0,
447 0x081, // bitmap
448 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_._has_bits_),
449 6, // hasbit index offset
450 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_.max_removed_sequence_size_),
451 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_.avg_num_removed_visits_),
452 PROTOBUF_FIELD_OFFSET(::operations_research::SISRRuinStrategy, _impl_.bypass_factor_),
453 0,
454 1,
455 2,
456 0x004, // bitmap
457 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_._oneof_case_[0]),
458 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_.strategy_),
459 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_.strategy_),
460 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_.strategy_),
461 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_.strategy_),
462 0x004, // bitmap
463 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateParameters, _impl_._oneof_case_[0]),
464 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateParameters, _impl_.parameters_),
465 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateParameters, _impl_.parameters_),
466 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateParameters, _impl_.parameters_),
467 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateParameters, _impl_.parameters_),
468 0x081, // bitmap
469 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateStrategy, _impl_._has_bits_),
470 5, // hasbit index offset
471 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateStrategy, _impl_.heuristic_),
472 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateStrategy, _impl_.parameters_),
473 1,
474 0,
475 0x000, // bitmap
476 0x081, // bitmap
477 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_._has_bits_),
478 9, // hasbit index offset
479 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.ruin_strategies_),
480 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.ruin_composition_strategy_),
481 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.recreate_strategy_),
482 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.route_selection_neighbors_ratio_),
483 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.route_selection_min_neighbors_),
484 PROTOBUF_FIELD_OFFSET(::operations_research::RuinRecreateParameters, _impl_.route_selection_max_neighbors_),
485 0,
486 2,
487 1,
488 4,
489 3,
490 5,
491 0x000, // bitmap
492 0x000, // bitmap
493 0x000, // bitmap
494 0x081, // bitmap
495 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingAcceptanceStrategy, _impl_._has_bits_),
496 7, // hasbit index offset
497 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingAcceptanceStrategy, _impl_.cooling_schedule_strategy_),
498 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingAcceptanceStrategy, _impl_.initial_temperature_),
499 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingAcceptanceStrategy, _impl_.final_temperature_),
500 PROTOBUF_FIELD_OFFSET(::operations_research::SimulatedAnnealingAcceptanceStrategy, _impl_.automatic_temperatures_),
501 1,
502 0,
503 3,
504 2,
505 0x000, // bitmap
506 0x000, // bitmap
507 0x081, // bitmap
508 PROTOBUF_FIELD_OFFSET(::operations_research::AbsencesBasedAcceptanceStrategy, _impl_._has_bits_),
509 4, // hasbit index offset
510 PROTOBUF_FIELD_OFFSET(::operations_research::AbsencesBasedAcceptanceStrategy, _impl_.remove_route_with_lowest_absences_),
511 0,
512 0x004, // bitmap
513 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_._oneof_case_[0]),
514 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_.strategy_),
515 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_.strategy_),
516 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_.strategy_),
517 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_.strategy_),
518 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_.strategy_),
519 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_.strategy_),
520 0x081, // bitmap
521 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_._has_bits_),
522 8, // hasbit index offset
523 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.perturbation_strategy_),
524 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_),
525 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_),
526 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.reference_solution_acceptance_strategy_),
527 PROTOBUF_FIELD_OFFSET(::operations_research::IteratedLocalSearchParameters, _impl_.best_solution_acceptance_strategy_),
528 3,
529 0,
530 4,
531 1,
532 2,
533};
534
535static const ::_pbi::MigrationSchema
536 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
554};
555static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = {
573};
574const char descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
575 protodesc_cold) = {
576 "\n+ortools/constraint_solver/routing_ils."
577 "proto\022\023operations_research\032-ortools/cons"
578 "traint_solver/routing_enums.proto\032<ortoo"
579 "ls/constraint_solver/routing_heuristic_p"
580 "arameters.proto\"X\n SpatiallyCloseRoutesR"
581 "uinStrategy\022\036\n\021num_ruined_routes\030\003 \001(\rH\000"
582 "\210\001\001B\024\n\022_num_ruined_routes\"P\n\026RandomWalkR"
583 "uinStrategy\022\037\n\022num_removed_visits\030\007 \001(\rH"
584 "\000\210\001\001B\025\n\023_num_removed_visits\"\306\001\n\020SISRRuin"
585 "Strategy\022&\n\031max_removed_sequence_size\030\001 "
586 "\001(\rH\000\210\001\001\022#\n\026avg_num_removed_visits\030\002 \001(\r"
587 "H\001\210\001\001\022\032\n\rbypass_factor\030\003 \001(\001H\002\210\001\001B\034\n\032_ma"
588 "x_removed_sequence_sizeB\031\n\027_avg_num_remo"
589 "ved_visitsB\020\n\016_bypass_factor\"\356\001\n\014RuinStr"
590 "ategy\022W\n\026spatially_close_routes\030\001 \001(\01325."
591 "operations_research.SpatiallyCloseRoutes"
592 "RuinStrategyH\000\022B\n\013random_walk\030\002 \001(\0132+.op"
593 "erations_research.RandomWalkRuinStrategy"
594 "H\000\0225\n\004sisr\030\003 \001(\0132%.operations_research.S"
595 "ISRRuinStrategyH\000B\n\n\010strategy\"\225\002\n\022Recrea"
596 "teParameters\022Y\n\030local_cheapest_insertion"
597 "\030\001 \001(\01325.operations_research.LocalCheape"
598 "stInsertionParametersH\000\0229\n\007savings\030\002 \001(\013"
599 "2&.operations_research.SavingsParameters"
600 "H\000\022[\n\031global_cheapest_insertion\030\003 \001(\01326."
601 "operations_research.GlobalCheapestInsert"
602 "ionParametersH\000B\014\n\nparameters\"\273\001\n\020Recrea"
603 "teStrategy\022H\n\theuristic\030\001 \001(\01620.operatio"
604 "ns_research.FirstSolutionStrategy.ValueH"
605 "\000\210\001\001\022@\n\nparameters\030\002 \001(\0132\'.operations_re"
606 "search.RecreateParametersH\001\210\001\001B\014\n\n_heuri"
607 "sticB\r\n\013_parameters\"s\n\027RuinCompositionSt"
608 "rategy\"X\n\005Value\022\t\n\005UNSET\020\000\022\030\n\024RUN_ALL_SE"
609 "QUENTIALLY\020\001\022\024\n\020RUN_ALL_RANDOMLY\020\002\022\024\n\020RU"
610 "N_ONE_RANDOMLY\020\003\"\333\003\n\026RuinRecreateParamet"
611 "ers\022:\n\017ruin_strategies\030\001 \003(\0132!.operation"
612 "s_research.RuinStrategy\022U\n\031ruin_composit"
613 "ion_strategy\030\002 \001(\01622.operations_research"
614 ".RuinCompositionStrategy.Value\022@\n\021recrea"
615 "te_strategy\030\003 \001(\0132%.operations_research."
616 "RecreateStrategy\022,\n\037route_selection_neig"
617 "hbors_ratio\030\004 \001(\001H\000\210\001\001\022*\n\035route_selectio"
618 "n_min_neighbors\030\005 \001(\rH\001\210\001\001\022*\n\035route_sele"
619 "ction_max_neighbors\030\006 \001(\rH\002\210\001\001B\"\n _route"
620 "_selection_neighbors_ratioB \n\036_route_sel"
621 "ection_min_neighborsB \n\036_route_selection"
622 "_max_neighbors\"A\n\024PerturbationStrategy\")"
623 "\n\005Value\022\t\n\005UNSET\020\000\022\025\n\021RUIN_AND_RECREATE\020"
624 "\001\"J\n\027CoolingScheduleStrategy\"/\n\005Value\022\t\n"
625 "\005UNSET\020\000\022\017\n\013EXPONENTIAL\020\001\022\n\n\006LINEAR\020\002\"!\n"
626 "\037GreedyDescentAcceptanceStrategy\"\255\002\n$Sim"
627 "ulatedAnnealingAcceptanceStrategy\022U\n\031coo"
628 "ling_schedule_strategy\030\001 \001(\01622.operation"
629 "s_research.CoolingScheduleStrategy.Value"
630 "\022 \n\023initial_temperature\030\002 \001(\001H\000\210\001\001\022\036\n\021fi"
631 "nal_temperature\030\003 \001(\001H\001\210\001\001\022#\n\026automatic_"
632 "temperatures\030\004 \001(\010H\002\210\001\001B\026\n\024_initial_temp"
633 "eratureB\024\n\022_final_temperatureB\031\n\027_automa"
634 "tic_temperatures\"%\n#AllNodesPerformedAcc"
635 "eptanceStrategy\"&\n$MoreNodesPerformedAcc"
636 "eptanceStrategy\"w\n\037AbsencesBasedAcceptan"
637 "ceStrategy\022.\n!remove_route_with_lowest_a"
638 "bsences\030\001 \001(\010H\000\210\001\001B$\n\"_remove_route_with"
639 "_lowest_absences\"\316\003\n\022AcceptanceStrategy\022"
640 "N\n\016greedy_descent\030\001 \001(\01324.operations_res"
641 "earch.GreedyDescentAcceptanceStrategyH\000\022"
642 "X\n\023simulated_annealing\030\002 \001(\01329.operation"
643 "s_research.SimulatedAnnealingAcceptanceS"
644 "trategyH\000\022W\n\023all_nodes_performed\030\003 \001(\01328"
645 ".operations_research.AllNodesPerformedAc"
646 "ceptanceStrategyH\000\022Y\n\024more_nodes_perform"
647 "ed\030\004 \001(\01329.operations_research.MoreNodes"
648 "PerformedAcceptanceStrategyH\000\022N\n\016absence"
649 "s_based\030\005 \001(\01324.operations_research.Abse"
650 "ncesBasedAcceptanceStrategyH\000B\n\n\010strateg"
651 "y\"\263\003\n\035IteratedLocalSearchParameters\022N\n\025p"
652 "erturbation_strategy\030\001 \001(\0162/.operations_"
653 "research.PerturbationStrategy.Value\022M\n\030r"
654 "uin_recreate_parameters\030\002 \001(\0132+.operatio"
655 "ns_research.RuinRecreateParameters\022\'\n\032im"
656 "prove_perturbed_solution\030\003 \001(\010H\000\210\001\001\022W\n&r"
657 "eference_solution_acceptance_strategy\030\004 "
658 "\001(\0132\'.operations_research.AcceptanceStra"
659 "tegy\022R\n!best_solution_acceptance_strateg"
660 "y\030\005 \001(\0132\'.operations_research.Acceptance"
661 "StrategyB\035\n\033_improve_perturbed_solutionB"
662 "I\n#com.google.ortools.constraintsolverP\001"
663 "\252\002\037Google.OrTools.ConstraintSolverb\006prot"
664 "o3"
665};
666static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const
688namespace operations_research {
689const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RuinCompositionStrategy_Value_descriptor() {
690 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto);
692}
693PROTOBUF_CONSTINIT const uint32_t RuinCompositionStrategy_Value_internal_data_[] = {
694 262144u, 0u, };
695const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL PerturbationStrategy_Value_descriptor() {
696 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto);
698}
699PROTOBUF_CONSTINIT const uint32_t PerturbationStrategy_Value_internal_data_[] = {
700 131072u, 0u, };
701const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CoolingScheduleStrategy_Value_descriptor() {
702 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto);
704}
705PROTOBUF_CONSTINIT const uint32_t CoolingScheduleStrategy_Value_internal_data_[] = {
706 196608u, 0u, };
707// ===================================================================
708
709class SpatiallyCloseRoutesRuinStrategy::_Internal {
710 public:
711 using HasBits =
712 decltype(::std::declval<SpatiallyCloseRoutesRuinStrategy>()._impl_._has_bits_);
713 static constexpr ::int32_t kHasBitsOffset =
714 8 * PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_._has_bits_);
715};
716
717SpatiallyCloseRoutesRuinStrategy::SpatiallyCloseRoutesRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
718#if defined(PROTOBUF_CUSTOM_VTABLE)
719 : ::google::protobuf::Message(arena, SpatiallyCloseRoutesRuinStrategy_class_data_.base()) {
720#else // PROTOBUF_CUSTOM_VTABLE
721 : ::google::protobuf::Message(arena) {
722#endif // PROTOBUF_CUSTOM_VTABLE
723 SharedCtor(arena);
724 // @@protoc_insertion_point(arena_constructor:operations_research.SpatiallyCloseRoutesRuinStrategy)
725}
727 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SpatiallyCloseRoutesRuinStrategy& from)
728#if defined(PROTOBUF_CUSTOM_VTABLE)
729 : ::google::protobuf::Message(arena, SpatiallyCloseRoutesRuinStrategy_class_data_.base()),
730#else // PROTOBUF_CUSTOM_VTABLE
731 : ::google::protobuf::Message(arena),
732#endif // PROTOBUF_CUSTOM_VTABLE
733 _impl_(from._impl_) {
734 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
735 from._internal_metadata_);
736}
737PROTOBUF_NDEBUG_INLINE SpatiallyCloseRoutesRuinStrategy::Impl_::Impl_(
738 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
739 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
740 : _cached_size_{0} {}
741
742inline void SpatiallyCloseRoutesRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
743 new (&_impl_) Impl_(internal_visibility(), arena);
744 _impl_.num_ruined_routes_ = {};
745}
747 // @@protoc_insertion_point(destructor:operations_research.SpatiallyCloseRoutesRuinStrategy)
748 SharedDtor(*this);
749}
750inline void SpatiallyCloseRoutesRuinStrategy::SharedDtor(MessageLite& self) {
752 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
753 this_.CheckHasBitConsistency();
754 }
755 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
756 ABSL_DCHECK(this_.GetArena() == nullptr);
757 this_._impl_.~Impl_();
758}
759
760inline void* PROTOBUF_NONNULL SpatiallyCloseRoutesRuinStrategy::PlacementNew_(
761 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
762 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
763 return ::new (mem) SpatiallyCloseRoutesRuinStrategy(arena);
764}
765constexpr auto SpatiallyCloseRoutesRuinStrategy::InternalNewImpl_() {
766 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SpatiallyCloseRoutesRuinStrategy),
768}
770 return ::google::protobuf::internal::ClassDataFull{
771 ::google::protobuf::internal::ClassData{
773 &_table_.header,
774 nullptr, // OnDemandRegisterArenaDtor
775 nullptr, // IsInitialized
776 &SpatiallyCloseRoutesRuinStrategy::MergeImpl,
777 ::google::protobuf::Message::GetNewImpl<SpatiallyCloseRoutesRuinStrategy>(),
778#if defined(PROTOBUF_CUSTOM_VTABLE)
779 &SpatiallyCloseRoutesRuinStrategy::SharedDtor,
780 ::google::protobuf::Message::GetClearImpl<SpatiallyCloseRoutesRuinStrategy>(), &SpatiallyCloseRoutesRuinStrategy::ByteSizeLong,
782#endif // PROTOBUF_CUSTOM_VTABLE
783 PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_._cached_size_),
784 false,
785 },
786 &SpatiallyCloseRoutesRuinStrategy::kDescriptorMethods,
788 nullptr, // tracker
789 };
790}
791
792PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
793 ::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_ =
795
796PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
797SpatiallyCloseRoutesRuinStrategy::GetClassData() const {
798 ::google::protobuf::internal::PrefetchToLocalCache(&SpatiallyCloseRoutesRuinStrategy_class_data_);
799 ::google::protobuf::internal::PrefetchToLocalCache(SpatiallyCloseRoutesRuinStrategy_class_data_.tc_table);
801}
802PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
803const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
804SpatiallyCloseRoutesRuinStrategy::_table_ = {
805 {
806 PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_._has_bits_),
807 0, // no _extensions_
808 3, 0, // max_field_number, fast_idx_mask
809 offsetof(decltype(_table_), field_lookup_table),
810 4294967291, // skipmap
811 offsetof(decltype(_table_), field_entries),
812 1, // num_field_entries
813 0, // num_aux_entries
814 offsetof(decltype(_table_), field_names), // no aux_entries
816 nullptr, // post_loop_handler
817 ::_pbi::TcParser::GenericFallback, // fallback
818 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
819 ::_pbi::TcParser::GetTable<::operations_research::SpatiallyCloseRoutesRuinStrategy>(), // to_prefetch
820 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
821 }, {{
822 // optional uint32 num_ruined_routes = 3;
823 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_), 0>(),
824 {24, 0, 0,
825 PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_)}},
826 }}, {{
827 65535, 65535
828 }}, {{
829 // optional uint32 num_ruined_routes = 3;
830 {PROTOBUF_FIELD_OFFSET(SpatiallyCloseRoutesRuinStrategy, _impl_.num_ruined_routes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
831 }},
832 // no aux_entries
833 {{
834 }},
835};
836PROTOBUF_NOINLINE void SpatiallyCloseRoutesRuinStrategy::Clear() {
837// @@protoc_insertion_point(message_clear_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
838 ::google::protobuf::internal::TSanWrite(&_impl_);
839 ::uint32_t cached_has_bits = 0;
840 // Prevent compiler warnings about cached_has_bits being unused
841 (void) cached_has_bits;
842
843 _impl_.num_ruined_routes_ = 0u;
844 _impl_._has_bits_.Clear();
845 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
846}
847
848#if defined(PROTOBUF_CUSTOM_VTABLE)
850 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
851 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
853#else // PROTOBUF_CUSTOM_VTABLE
855 ::uint8_t* PROTOBUF_NONNULL target,
856 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
857 const SpatiallyCloseRoutesRuinStrategy& this_ = *this;
858#endif // PROTOBUF_CUSTOM_VTABLE
859 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
860 this_.CheckHasBitConsistency();
861 }
862 // @@protoc_insertion_point(serialize_to_array_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
863 ::uint32_t cached_has_bits = 0;
864 (void)cached_has_bits;
865
866 cached_has_bits = this_._impl_._has_bits_[0];
867 // optional uint32 num_ruined_routes = 3;
868 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
869 target = stream->EnsureSpace(target);
870 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
871 3, this_._internal_num_ruined_routes(), target);
872 }
873
874 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
875 target =
876 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
877 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
878 }
879 // @@protoc_insertion_point(serialize_to_array_end:operations_research.SpatiallyCloseRoutesRuinStrategy)
880 return target;
881}
882
883#if defined(PROTOBUF_CUSTOM_VTABLE)
886#else // PROTOBUF_CUSTOM_VTABLE
889#endif // PROTOBUF_CUSTOM_VTABLE
890 // @@protoc_insertion_point(message_byte_size_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
891 ::size_t total_size = 0;
892
893 ::uint32_t cached_has_bits = 0;
894 // Prevent compiler warnings about cached_has_bits being unused
895 (void)cached_has_bits;
896
897 {
898 // optional uint32 num_ruined_routes = 3;
899 cached_has_bits = this_._impl_._has_bits_[0];
900 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
901 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
902 this_._internal_num_ruined_routes());
903 }
904 }
905 return this_.MaybeComputeUnknownFieldsSize(total_size,
906 &this_._impl_._cached_size_);
907}
908
909void SpatiallyCloseRoutesRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
910 const ::google::protobuf::MessageLite& from_msg) {
911 auto* const _this =
912 static_cast<SpatiallyCloseRoutesRuinStrategy*>(&to_msg);
913 auto& from = static_cast<const SpatiallyCloseRoutesRuinStrategy&>(from_msg);
914 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
915 from.CheckHasBitConsistency();
916 }
917 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
918 ABSL_DCHECK_NE(&from, _this);
919 ::uint32_t cached_has_bits = 0;
920 (void)cached_has_bits;
921
922 cached_has_bits = from._impl_._has_bits_[0];
923 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
924 _this->_impl_.num_ruined_routes_ = from._impl_.num_ruined_routes_;
925 }
926 _this->_impl_._has_bits_[0] |= cached_has_bits;
927 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
928 from._internal_metadata_);
929}
930
932 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SpatiallyCloseRoutesRuinStrategy)
933 if (&from == this) return;
934 Clear();
935 MergeFrom(from);
936}
937
938
939void SpatiallyCloseRoutesRuinStrategy::InternalSwap(SpatiallyCloseRoutesRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
940 using ::std::swap;
941 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
942 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
943 swap(_impl_.num_ruined_routes_, other->_impl_.num_ruined_routes_);
944}
945
946::google::protobuf::Metadata SpatiallyCloseRoutesRuinStrategy::GetMetadata() const {
947 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
948}
949// ===================================================================
950
952 public:
953 using HasBits =
954 decltype(::std::declval<RandomWalkRuinStrategy>()._impl_._has_bits_);
955 static constexpr ::int32_t kHasBitsOffset =
956 8 * PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_._has_bits_);
958
959RandomWalkRuinStrategy::RandomWalkRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
960#if defined(PROTOBUF_CUSTOM_VTABLE)
961 : ::google::protobuf::Message(arena, RandomWalkRuinStrategy_class_data_.base()) {
962#else // PROTOBUF_CUSTOM_VTABLE
963 : ::google::protobuf::Message(arena) {
964#endif // PROTOBUF_CUSTOM_VTABLE
965 SharedCtor(arena);
966 // @@protoc_insertion_point(arena_constructor:operations_research.RandomWalkRuinStrategy)
967}
969 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RandomWalkRuinStrategy& from)
970#if defined(PROTOBUF_CUSTOM_VTABLE)
971 : ::google::protobuf::Message(arena, RandomWalkRuinStrategy_class_data_.base()),
972#else // PROTOBUF_CUSTOM_VTABLE
973 : ::google::protobuf::Message(arena),
974#endif // PROTOBUF_CUSTOM_VTABLE
975 _impl_(from._impl_) {
976 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
977 from._internal_metadata_);
978}
979PROTOBUF_NDEBUG_INLINE RandomWalkRuinStrategy::Impl_::Impl_(
980 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
981 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
982 : _cached_size_{0} {}
983
984inline void RandomWalkRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
985 new (&_impl_) Impl_(internal_visibility(), arena);
986 _impl_.num_removed_visits_ = {};
987}
989 // @@protoc_insertion_point(destructor:operations_research.RandomWalkRuinStrategy)
990 SharedDtor(*this);
991}
992inline void RandomWalkRuinStrategy::SharedDtor(MessageLite& self) {
993 RandomWalkRuinStrategy& this_ = static_cast<RandomWalkRuinStrategy&>(self);
994 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
995 this_.CheckHasBitConsistency();
996 }
997 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
998 ABSL_DCHECK(this_.GetArena() == nullptr);
999 this_._impl_.~Impl_();
1000}
1001
1002inline void* PROTOBUF_NONNULL RandomWalkRuinStrategy::PlacementNew_(
1003 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1004 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1005 return ::new (mem) RandomWalkRuinStrategy(arena);
1006}
1007constexpr auto RandomWalkRuinStrategy::InternalNewImpl_() {
1008 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RandomWalkRuinStrategy),
1009 alignof(RandomWalkRuinStrategy));
1010}
1012 return ::google::protobuf::internal::ClassDataFull{
1013 ::google::protobuf::internal::ClassData{
1015 &_table_.header,
1016 nullptr, // OnDemandRegisterArenaDtor
1017 nullptr, // IsInitialized
1018 &RandomWalkRuinStrategy::MergeImpl,
1019 ::google::protobuf::Message::GetNewImpl<RandomWalkRuinStrategy>(),
1020#if defined(PROTOBUF_CUSTOM_VTABLE)
1021 &RandomWalkRuinStrategy::SharedDtor,
1022 ::google::protobuf::Message::GetClearImpl<RandomWalkRuinStrategy>(), &RandomWalkRuinStrategy::ByteSizeLong,
1024#endif // PROTOBUF_CUSTOM_VTABLE
1025 PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_._cached_size_),
1026 false,
1027 },
1028 &RandomWalkRuinStrategy::kDescriptorMethods,
1030 nullptr, // tracker
1031 };
1032}
1033
1034PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1035 ::google::protobuf::internal::ClassDataFull RandomWalkRuinStrategy_class_data_ =
1038PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1039RandomWalkRuinStrategy::GetClassData() const {
1040 ::google::protobuf::internal::PrefetchToLocalCache(&RandomWalkRuinStrategy_class_data_);
1041 ::google::protobuf::internal::PrefetchToLocalCache(RandomWalkRuinStrategy_class_data_.tc_table);
1043}
1044PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1045const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
1046RandomWalkRuinStrategy::_table_ = {
1047 {
1048 PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_._has_bits_),
1049 0, // no _extensions_
1050 7, 0, // max_field_number, fast_idx_mask
1051 offsetof(decltype(_table_), field_lookup_table),
1052 4294967231, // skipmap
1053 offsetof(decltype(_table_), field_entries),
1054 1, // num_field_entries
1055 0, // num_aux_entries
1056 offsetof(decltype(_table_), field_names), // no aux_entries
1058 nullptr, // post_loop_handler
1059 ::_pbi::TcParser::GenericFallback, // fallback
1060 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1061 ::_pbi::TcParser::GetTable<::operations_research::RandomWalkRuinStrategy>(), // to_prefetch
1062 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1063 }, {{
1064 // optional uint32 num_removed_visits = 7;
1065 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RandomWalkRuinStrategy, _impl_.num_removed_visits_), 0>(),
1066 {56, 0, 0,
1067 PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_.num_removed_visits_)}},
1068 }}, {{
1069 65535, 65535
1070 }}, {{
1071 // optional uint32 num_removed_visits = 7;
1072 {PROTOBUF_FIELD_OFFSET(RandomWalkRuinStrategy, _impl_.num_removed_visits_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1073 }},
1074 // no aux_entries
1075 {{
1076 }},
1077};
1078PROTOBUF_NOINLINE void RandomWalkRuinStrategy::Clear() {
1079// @@protoc_insertion_point(message_clear_start:operations_research.RandomWalkRuinStrategy)
1080 ::google::protobuf::internal::TSanWrite(&_impl_);
1081 ::uint32_t cached_has_bits = 0;
1082 // Prevent compiler warnings about cached_has_bits being unused
1083 (void) cached_has_bits;
1084
1085 _impl_.num_removed_visits_ = 0u;
1086 _impl_._has_bits_.Clear();
1087 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1088}
1089
1090#if defined(PROTOBUF_CUSTOM_VTABLE)
1091::uint8_t* PROTOBUF_NONNULL RandomWalkRuinStrategy::_InternalSerialize(
1092 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1093 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1094 const RandomWalkRuinStrategy& this_ = static_cast<const RandomWalkRuinStrategy&>(base);
1095#else // PROTOBUF_CUSTOM_VTABLE
1096::uint8_t* PROTOBUF_NONNULL RandomWalkRuinStrategy::_InternalSerialize(
1097 ::uint8_t* PROTOBUF_NONNULL target,
1098 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1099 const RandomWalkRuinStrategy& this_ = *this;
1100#endif // PROTOBUF_CUSTOM_VTABLE
1101 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1102 this_.CheckHasBitConsistency();
1103 }
1104 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RandomWalkRuinStrategy)
1105 ::uint32_t cached_has_bits = 0;
1106 (void)cached_has_bits;
1107
1108 cached_has_bits = this_._impl_._has_bits_[0];
1109 // optional uint32 num_removed_visits = 7;
1110 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1111 target = stream->EnsureSpace(target);
1112 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1113 7, this_._internal_num_removed_visits(), target);
1114 }
1115
1116 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1117 target =
1118 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1119 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1120 }
1121 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RandomWalkRuinStrategy)
1122 return target;
1123}
1124
1125#if defined(PROTOBUF_CUSTOM_VTABLE)
1127 const RandomWalkRuinStrategy& this_ = static_cast<const RandomWalkRuinStrategy&>(base);
1128#else // PROTOBUF_CUSTOM_VTABLE
1129::size_t RandomWalkRuinStrategy::ByteSizeLong() const {
1130 const RandomWalkRuinStrategy& this_ = *this;
1131#endif // PROTOBUF_CUSTOM_VTABLE
1132 // @@protoc_insertion_point(message_byte_size_start:operations_research.RandomWalkRuinStrategy)
1133 ::size_t total_size = 0;
1134
1135 ::uint32_t cached_has_bits = 0;
1136 // Prevent compiler warnings about cached_has_bits being unused
1137 (void)cached_has_bits;
1138
1139 {
1140 // optional uint32 num_removed_visits = 7;
1141 cached_has_bits = this_._impl_._has_bits_[0];
1142 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1143 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1144 this_._internal_num_removed_visits());
1145 }
1146 }
1147 return this_.MaybeComputeUnknownFieldsSize(total_size,
1148 &this_._impl_._cached_size_);
1149}
1150
1151void RandomWalkRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
1152 const ::google::protobuf::MessageLite& from_msg) {
1153 auto* const _this =
1154 static_cast<RandomWalkRuinStrategy*>(&to_msg);
1155 auto& from = static_cast<const RandomWalkRuinStrategy&>(from_msg);
1156 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1157 from.CheckHasBitConsistency();
1158 }
1159 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RandomWalkRuinStrategy)
1160 ABSL_DCHECK_NE(&from, _this);
1161 ::uint32_t cached_has_bits = 0;
1162 (void)cached_has_bits;
1163
1164 cached_has_bits = from._impl_._has_bits_[0];
1165 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1166 _this->_impl_.num_removed_visits_ = from._impl_.num_removed_visits_;
1167 }
1168 _this->_impl_._has_bits_[0] |= cached_has_bits;
1169 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1170 from._internal_metadata_);
1171}
1172
1174 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RandomWalkRuinStrategy)
1175 if (&from == this) return;
1176 Clear();
1177 MergeFrom(from);
1178}
1179
1180
1181void RandomWalkRuinStrategy::InternalSwap(RandomWalkRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1182 using ::std::swap;
1183 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1184 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1185 swap(_impl_.num_removed_visits_, other->_impl_.num_removed_visits_);
1186}
1187
1188::google::protobuf::Metadata RandomWalkRuinStrategy::GetMetadata() const {
1189 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1191// ===================================================================
1192
1194 public:
1195 using HasBits =
1196 decltype(::std::declval<SISRRuinStrategy>()._impl_._has_bits_);
1197 static constexpr ::int32_t kHasBitsOffset =
1198 8 * PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_._has_bits_);
1199};
1201SISRRuinStrategy::SISRRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1202#if defined(PROTOBUF_CUSTOM_VTABLE)
1203 : ::google::protobuf::Message(arena, SISRRuinStrategy_class_data_.base()) {
1204#else // PROTOBUF_CUSTOM_VTABLE
1205 : ::google::protobuf::Message(arena) {
1206#endif // PROTOBUF_CUSTOM_VTABLE
1207 SharedCtor(arena);
1208 // @@protoc_insertion_point(arena_constructor:operations_research.SISRRuinStrategy)
1209}
1211 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SISRRuinStrategy& from)
1212#if defined(PROTOBUF_CUSTOM_VTABLE)
1213 : ::google::protobuf::Message(arena, SISRRuinStrategy_class_data_.base()),
1214#else // PROTOBUF_CUSTOM_VTABLE
1215 : ::google::protobuf::Message(arena),
1216#endif // PROTOBUF_CUSTOM_VTABLE
1217 _impl_(from._impl_) {
1218 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1219 from._internal_metadata_);
1220}
1221PROTOBUF_NDEBUG_INLINE SISRRuinStrategy::Impl_::Impl_(
1222 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1223 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1224 : _cached_size_{0} {}
1225
1226inline void SISRRuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1227 new (&_impl_) Impl_(internal_visibility(), arena);
1228 ::memset(reinterpret_cast<char*>(&_impl_) +
1229 offsetof(Impl_, max_removed_sequence_size_),
1230 0,
1231 offsetof(Impl_, bypass_factor_) -
1232 offsetof(Impl_, max_removed_sequence_size_) +
1233 sizeof(Impl_::bypass_factor_));
1234}
1236 // @@protoc_insertion_point(destructor:operations_research.SISRRuinStrategy)
1237 SharedDtor(*this);
1239inline void SISRRuinStrategy::SharedDtor(MessageLite& self) {
1240 SISRRuinStrategy& this_ = static_cast<SISRRuinStrategy&>(self);
1241 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1242 this_.CheckHasBitConsistency();
1243 }
1244 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1245 ABSL_DCHECK(this_.GetArena() == nullptr);
1246 this_._impl_.~Impl_();
1247}
1248
1249inline void* PROTOBUF_NONNULL SISRRuinStrategy::PlacementNew_(
1250 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1251 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1252 return ::new (mem) SISRRuinStrategy(arena);
1253}
1254constexpr auto SISRRuinStrategy::InternalNewImpl_() {
1255 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SISRRuinStrategy),
1256 alignof(SISRRuinStrategy));
1257}
1259 return ::google::protobuf::internal::ClassDataFull{
1260 ::google::protobuf::internal::ClassData{
1262 &_table_.header,
1263 nullptr, // OnDemandRegisterArenaDtor
1264 nullptr, // IsInitialized
1265 &SISRRuinStrategy::MergeImpl,
1266 ::google::protobuf::Message::GetNewImpl<SISRRuinStrategy>(),
1267#if defined(PROTOBUF_CUSTOM_VTABLE)
1268 &SISRRuinStrategy::SharedDtor,
1269 ::google::protobuf::Message::GetClearImpl<SISRRuinStrategy>(), &SISRRuinStrategy::ByteSizeLong,
1271#endif // PROTOBUF_CUSTOM_VTABLE
1272 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_._cached_size_),
1273 false,
1274 },
1275 &SISRRuinStrategy::kDescriptorMethods,
1277 nullptr, // tracker
1278 };
1279}
1280
1281PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1282 ::google::protobuf::internal::ClassDataFull SISRRuinStrategy_class_data_ =
1284
1285PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1286SISRRuinStrategy::GetClassData() const {
1287 ::google::protobuf::internal::PrefetchToLocalCache(&SISRRuinStrategy_class_data_);
1288 ::google::protobuf::internal::PrefetchToLocalCache(SISRRuinStrategy_class_data_.tc_table);
1289 return SISRRuinStrategy_class_data_.base();
1290}
1291PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1292const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
1293SISRRuinStrategy::_table_ = {
1294 {
1295 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_._has_bits_),
1296 0, // no _extensions_
1297 3, 24, // max_field_number, fast_idx_mask
1298 offsetof(decltype(_table_), field_lookup_table),
1299 4294967288, // skipmap
1300 offsetof(decltype(_table_), field_entries),
1301 3, // num_field_entries
1302 0, // num_aux_entries
1303 offsetof(decltype(_table_), field_names), // no aux_entries
1305 nullptr, // post_loop_handler
1306 ::_pbi::TcParser::GenericFallback, // fallback
1307 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1308 ::_pbi::TcParser::GetTable<::operations_research::SISRRuinStrategy>(), // to_prefetch
1309 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1310 }, {{
1311 {::_pbi::TcParser::MiniParse, {}},
1312 // optional uint32 max_removed_sequence_size = 1;
1313 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SISRRuinStrategy, _impl_.max_removed_sequence_size_), 0>(),
1314 {8, 0, 0,
1315 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.max_removed_sequence_size_)}},
1316 // optional uint32 avg_num_removed_visits = 2;
1317 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SISRRuinStrategy, _impl_.avg_num_removed_visits_), 1>(),
1318 {16, 1, 0,
1319 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.avg_num_removed_visits_)}},
1320 // optional double bypass_factor = 3;
1321 {::_pbi::TcParser::FastF64S1,
1322 {25, 2, 0,
1323 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.bypass_factor_)}},
1324 }}, {{
1325 65535, 65535
1326 }}, {{
1327 // optional uint32 max_removed_sequence_size = 1;
1328 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.max_removed_sequence_size_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1329 // optional uint32 avg_num_removed_visits = 2;
1330 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.avg_num_removed_visits_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
1331 // optional double bypass_factor = 3;
1332 {PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.bypass_factor_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
1333 }},
1334 // no aux_entries
1335 {{
1336 }},
1337};
1338PROTOBUF_NOINLINE void SISRRuinStrategy::Clear() {
1339// @@protoc_insertion_point(message_clear_start:operations_research.SISRRuinStrategy)
1340 ::google::protobuf::internal::TSanWrite(&_impl_);
1341 ::uint32_t cached_has_bits = 0;
1342 // Prevent compiler warnings about cached_has_bits being unused
1343 (void) cached_has_bits;
1344
1345 cached_has_bits = _impl_._has_bits_[0];
1346 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1347 ::memset(&_impl_.max_removed_sequence_size_, 0, static_cast<::size_t>(
1348 reinterpret_cast<char*>(&_impl_.bypass_factor_) -
1349 reinterpret_cast<char*>(&_impl_.max_removed_sequence_size_)) + sizeof(_impl_.bypass_factor_));
1350 }
1351 _impl_._has_bits_.Clear();
1352 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1353}
1354
1355#if defined(PROTOBUF_CUSTOM_VTABLE)
1356::uint8_t* PROTOBUF_NONNULL SISRRuinStrategy::_InternalSerialize(
1357 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1358 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1359 const SISRRuinStrategy& this_ = static_cast<const SISRRuinStrategy&>(base);
1360#else // PROTOBUF_CUSTOM_VTABLE
1361::uint8_t* PROTOBUF_NONNULL SISRRuinStrategy::_InternalSerialize(
1362 ::uint8_t* PROTOBUF_NONNULL target,
1363 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1364 const SISRRuinStrategy& this_ = *this;
1365#endif // PROTOBUF_CUSTOM_VTABLE
1366 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1367 this_.CheckHasBitConsistency();
1368 }
1369 // @@protoc_insertion_point(serialize_to_array_start:operations_research.SISRRuinStrategy)
1370 ::uint32_t cached_has_bits = 0;
1371 (void)cached_has_bits;
1372
1373 cached_has_bits = this_._impl_._has_bits_[0];
1374 // optional uint32 max_removed_sequence_size = 1;
1375 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1376 target = stream->EnsureSpace(target);
1377 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1378 1, this_._internal_max_removed_sequence_size(), target);
1379 }
1380
1381 // optional uint32 avg_num_removed_visits = 2;
1382 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1383 target = stream->EnsureSpace(target);
1384 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
1385 2, this_._internal_avg_num_removed_visits(), target);
1386 }
1387
1388 // optional double bypass_factor = 3;
1389 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1390 target = stream->EnsureSpace(target);
1391 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
1392 3, this_._internal_bypass_factor(), target);
1393 }
1394
1395 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1396 target =
1397 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1398 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1399 }
1400 // @@protoc_insertion_point(serialize_to_array_end:operations_research.SISRRuinStrategy)
1401 return target;
1402}
1403
1404#if defined(PROTOBUF_CUSTOM_VTABLE)
1405::size_t SISRRuinStrategy::ByteSizeLong(const MessageLite& base) {
1406 const SISRRuinStrategy& this_ = static_cast<const SISRRuinStrategy&>(base);
1407#else // PROTOBUF_CUSTOM_VTABLE
1408::size_t SISRRuinStrategy::ByteSizeLong() const {
1409 const SISRRuinStrategy& this_ = *this;
1410#endif // PROTOBUF_CUSTOM_VTABLE
1411 // @@protoc_insertion_point(message_byte_size_start:operations_research.SISRRuinStrategy)
1412 ::size_t total_size = 0;
1413
1414 ::uint32_t cached_has_bits = 0;
1415 // Prevent compiler warnings about cached_has_bits being unused
1416 (void)cached_has_bits;
1417
1418 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1419 cached_has_bits = this_._impl_._has_bits_[0];
1420 total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 9;
1421 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1422 // optional uint32 max_removed_sequence_size = 1;
1423 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1424 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1425 this_._internal_max_removed_sequence_size());
1426 }
1427 // optional uint32 avg_num_removed_visits = 2;
1428 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1429 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
1430 this_._internal_avg_num_removed_visits());
1431 }
1432 }
1433 return this_.MaybeComputeUnknownFieldsSize(total_size,
1434 &this_._impl_._cached_size_);
1435}
1436
1437void SISRRuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
1438 const ::google::protobuf::MessageLite& from_msg) {
1439 auto* const _this =
1440 static_cast<SISRRuinStrategy*>(&to_msg);
1441 auto& from = static_cast<const SISRRuinStrategy&>(from_msg);
1442 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1443 from.CheckHasBitConsistency();
1444 }
1445 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SISRRuinStrategy)
1446 ABSL_DCHECK_NE(&from, _this);
1447 ::uint32_t cached_has_bits = 0;
1448 (void)cached_has_bits;
1449
1450 cached_has_bits = from._impl_._has_bits_[0];
1451 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1452 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1453 _this->_impl_.max_removed_sequence_size_ = from._impl_.max_removed_sequence_size_;
1454 }
1455 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1456 _this->_impl_.avg_num_removed_visits_ = from._impl_.avg_num_removed_visits_;
1457 }
1458 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1459 _this->_impl_.bypass_factor_ = from._impl_.bypass_factor_;
1460 }
1461 }
1462 _this->_impl_._has_bits_[0] |= cached_has_bits;
1463 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1464 from._internal_metadata_);
1465}
1466
1467void SISRRuinStrategy::CopyFrom(const SISRRuinStrategy& from) {
1468 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SISRRuinStrategy)
1469 if (&from == this) return;
1471 MergeFrom(from);
1472}
1473
1474
1475void SISRRuinStrategy::InternalSwap(SISRRuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1476 using ::std::swap;
1477 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1478 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1479 ::google::protobuf::internal::memswap<
1480 PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.bypass_factor_)
1481 + sizeof(SISRRuinStrategy::_impl_.bypass_factor_)
1482 - PROTOBUF_FIELD_OFFSET(SISRRuinStrategy, _impl_.max_removed_sequence_size_)>(
1483 reinterpret_cast<char*>(&_impl_.max_removed_sequence_size_),
1484 reinterpret_cast<char*>(&other->_impl_.max_removed_sequence_size_));
1485}
1486
1487::google::protobuf::Metadata SISRRuinStrategy::GetMetadata() const {
1488 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1489}
1490// ===================================================================
1491
1493 public:
1494 static constexpr ::int32_t kOneofCaseOffset =
1495 PROTOBUF_FIELD_OFFSET(::operations_research::RuinStrategy, _impl_._oneof_case_);
1497
1499 ::google::protobuf::Arena* message_arena = GetArena();
1502 ::google::protobuf::Arena* submessage_arena = spatially_close_routes->GetArena();
1503 if (message_arena != submessage_arena) {
1504 spatially_close_routes = ::google::protobuf::internal::GetOwnedMessage(message_arena, spatially_close_routes, submessage_arena);
1505 }
1506 set_has_spatially_close_routes();
1507 _impl_.strategy_.spatially_close_routes_ = spatially_close_routes;
1508 }
1509 // @@protoc_insertion_point(field_set_allocated:operations_research.RuinStrategy.spatially_close_routes)
1510}
1511void RuinStrategy::set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy* PROTOBUF_NULLABLE random_walk) {
1512 ::google::protobuf::Arena* message_arena = GetArena();
1513 clear_strategy();
1514 if (random_walk) {
1515 ::google::protobuf::Arena* submessage_arena = random_walk->GetArena();
1516 if (message_arena != submessage_arena) {
1517 random_walk = ::google::protobuf::internal::GetOwnedMessage(message_arena, random_walk, submessage_arena);
1518 }
1519 set_has_random_walk();
1520 _impl_.strategy_.random_walk_ = random_walk;
1521 }
1522 // @@protoc_insertion_point(field_set_allocated:operations_research.RuinStrategy.random_walk)
1523}
1524void RuinStrategy::set_allocated_sisr(::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE sisr) {
1525 ::google::protobuf::Arena* message_arena = GetArena();
1526 clear_strategy();
1527 if (sisr) {
1528 ::google::protobuf::Arena* submessage_arena = sisr->GetArena();
1529 if (message_arena != submessage_arena) {
1530 sisr = ::google::protobuf::internal::GetOwnedMessage(message_arena, sisr, submessage_arena);
1531 }
1532 set_has_sisr();
1533 _impl_.strategy_.sisr_ = sisr;
1534 }
1535 // @@protoc_insertion_point(field_set_allocated:operations_research.RuinStrategy.sisr)
1536}
1537RuinStrategy::RuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1538#if defined(PROTOBUF_CUSTOM_VTABLE)
1539 : ::google::protobuf::Message(arena, RuinStrategy_class_data_.base()) {
1540#else // PROTOBUF_CUSTOM_VTABLE
1541 : ::google::protobuf::Message(arena) {
1542#endif // PROTOBUF_CUSTOM_VTABLE
1543 SharedCtor(arena);
1544 // @@protoc_insertion_point(arena_constructor:operations_research.RuinStrategy)
1545}
1546PROTOBUF_NDEBUG_INLINE RuinStrategy::Impl_::Impl_(
1547 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1548 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1549 [[maybe_unused]] const ::operations_research::RuinStrategy& from_msg)
1550 : strategy_{},
1551 _cached_size_{0},
1552 _oneof_case_{from._oneof_case_[0]} {}
1553
1555 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1556 const RuinStrategy& from)
1557#if defined(PROTOBUF_CUSTOM_VTABLE)
1558 : ::google::protobuf::Message(arena, RuinStrategy_class_data_.base()) {
1559#else // PROTOBUF_CUSTOM_VTABLE
1560 : ::google::protobuf::Message(arena) {
1561#endif // PROTOBUF_CUSTOM_VTABLE
1562 RuinStrategy* const _this = this;
1563 (void)_this;
1564 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1565 from._internal_metadata_);
1566 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1567 switch (strategy_case()) {
1568 case STRATEGY_NOT_SET:
1569 break;
1570 case kSpatiallyCloseRoutes:
1571 _impl_.strategy_.spatially_close_routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.spatially_close_routes_);
1572 break;
1573 case kRandomWalk:
1574 _impl_.strategy_.random_walk_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.random_walk_);
1575 break;
1576 case kSisr:
1577 _impl_.strategy_.sisr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.sisr_);
1578 break;
1579 }
1580
1581 // @@protoc_insertion_point(copy_constructor:operations_research.RuinStrategy)
1582}
1583PROTOBUF_NDEBUG_INLINE RuinStrategy::Impl_::Impl_(
1584 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1585 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1586 : strategy_{},
1587 _cached_size_{0},
1588 _oneof_case_{} {}
1589
1590inline void RuinStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1591 new (&_impl_) Impl_(internal_visibility(), arena);
1592}
1594 // @@protoc_insertion_point(destructor:operations_research.RuinStrategy)
1595 SharedDtor(*this);
1596}
1597inline void RuinStrategy::SharedDtor(MessageLite& self) {
1598 RuinStrategy& this_ = static_cast<RuinStrategy&>(self);
1599 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1600 this_.CheckHasBitConsistency();
1601 }
1602 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1603 ABSL_DCHECK(this_.GetArena() == nullptr);
1604 if (this_.has_strategy()) {
1605 this_.clear_strategy();
1606 }
1607 this_._impl_.~Impl_();
1608}
1609
1611// @@protoc_insertion_point(one_of_clear_start:operations_research.RuinStrategy)
1612 ::google::protobuf::internal::TSanWrite(&_impl_);
1613 switch (strategy_case()) {
1615 if (GetArena() == nullptr) {
1616 delete _impl_.strategy_.spatially_close_routes_;
1617 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1618 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.spatially_close_routes_);
1619 }
1620 break;
1621 }
1622 case kRandomWalk: {
1623 if (GetArena() == nullptr) {
1624 delete _impl_.strategy_.random_walk_;
1625 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1626 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.random_walk_);
1627 }
1628 break;
1629 }
1630 case kSisr: {
1631 if (GetArena() == nullptr) {
1632 delete _impl_.strategy_.sisr_;
1633 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1634 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.sisr_);
1635 }
1636 break;
1637 }
1638 case STRATEGY_NOT_SET: {
1639 break;
1640 }
1641 }
1642 _impl_._oneof_case_[0] = STRATEGY_NOT_SET;
1643}
1644
1645
1646inline void* PROTOBUF_NONNULL RuinStrategy::PlacementNew_(
1647 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1648 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1649 return ::new (mem) RuinStrategy(arena);
1650}
1651constexpr auto RuinStrategy::InternalNewImpl_() {
1652 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RuinStrategy),
1653 alignof(RuinStrategy));
1654}
1656 return ::google::protobuf::internal::ClassDataFull{
1657 ::google::protobuf::internal::ClassData{
1659 &_table_.header,
1660 nullptr, // OnDemandRegisterArenaDtor
1661 nullptr, // IsInitialized
1662 &RuinStrategy::MergeImpl,
1663 ::google::protobuf::Message::GetNewImpl<RuinStrategy>(),
1664#if defined(PROTOBUF_CUSTOM_VTABLE)
1665 &RuinStrategy::SharedDtor,
1666 ::google::protobuf::Message::GetClearImpl<RuinStrategy>(), &RuinStrategy::ByteSizeLong,
1668#endif // PROTOBUF_CUSTOM_VTABLE
1669 PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_._cached_size_),
1670 false,
1671 },
1672 &RuinStrategy::kDescriptorMethods,
1674 nullptr, // tracker
1675 };
1676}
1677
1678PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1679 ::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_ =
1681
1682PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1683RuinStrategy::GetClassData() const {
1684 ::google::protobuf::internal::PrefetchToLocalCache(&RuinStrategy_class_data_);
1685 ::google::protobuf::internal::PrefetchToLocalCache(RuinStrategy_class_data_.tc_table);
1686 return RuinStrategy_class_data_.base();
1687}
1688PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1689const ::_pbi::TcParseTable<0, 3, 3, 0, 2>
1690RuinStrategy::_table_ = {
1691 {
1692 0, // no _has_bits_
1693 0, // no _extensions_
1694 3, 0, // max_field_number, fast_idx_mask
1695 offsetof(decltype(_table_), field_lookup_table),
1696 4294967288, // skipmap
1697 offsetof(decltype(_table_), field_entries),
1698 3, // num_field_entries
1699 3, // num_aux_entries
1700 offsetof(decltype(_table_), aux_entries),
1702 nullptr, // post_loop_handler
1703 ::_pbi::TcParser::GenericFallback, // fallback
1704 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1705 ::_pbi::TcParser::GetTable<::operations_research::RuinStrategy>(), // to_prefetch
1706 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1707 }, {{
1708 {::_pbi::TcParser::MiniParse, {}},
1709 }}, {{
1710 65535, 65535
1711 }}, {{
1712 // .operations_research.SpatiallyCloseRoutesRuinStrategy spatially_close_routes = 1;
1713 {PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_.strategy_.spatially_close_routes_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1714 // .operations_research.RandomWalkRuinStrategy random_walk = 2;
1715 {PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_.strategy_.random_walk_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1716 // .operations_research.SISRRuinStrategy sisr = 3;
1717 {PROTOBUF_FIELD_OFFSET(RuinStrategy, _impl_.strategy_.sisr_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
1718 }},
1719 {{
1720 {::_pbi::TcParser::GetTable<::operations_research::SpatiallyCloseRoutesRuinStrategy>()},
1721 {::_pbi::TcParser::GetTable<::operations_research::RandomWalkRuinStrategy>()},
1722 {::_pbi::TcParser::GetTable<::operations_research::SISRRuinStrategy>()},
1723 }},
1724 {{
1725 }},
1726};
1727PROTOBUF_NOINLINE void RuinStrategy::Clear() {
1728// @@protoc_insertion_point(message_clear_start:operations_research.RuinStrategy)
1729 ::google::protobuf::internal::TSanWrite(&_impl_);
1730 ::uint32_t cached_has_bits = 0;
1731 // Prevent compiler warnings about cached_has_bits being unused
1732 (void) cached_has_bits;
1733
1735 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1736}
1737
1738#if defined(PROTOBUF_CUSTOM_VTABLE)
1739::uint8_t* PROTOBUF_NONNULL RuinStrategy::_InternalSerialize(
1740 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1741 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1742 const RuinStrategy& this_ = static_cast<const RuinStrategy&>(base);
1743#else // PROTOBUF_CUSTOM_VTABLE
1744::uint8_t* PROTOBUF_NONNULL RuinStrategy::_InternalSerialize(
1745 ::uint8_t* PROTOBUF_NONNULL target,
1746 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1747 const RuinStrategy& this_ = *this;
1748#endif // PROTOBUF_CUSTOM_VTABLE
1749 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1750 this_.CheckHasBitConsistency();
1751 }
1752 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RuinStrategy)
1753 ::uint32_t cached_has_bits = 0;
1754 (void)cached_has_bits;
1755
1756 switch (this_.strategy_case()) {
1757 case kSpatiallyCloseRoutes: {
1758 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1759 1, *this_._impl_.strategy_.spatially_close_routes_, this_._impl_.strategy_.spatially_close_routes_->GetCachedSize(), target,
1760 stream);
1761 break;
1762 }
1763 case kRandomWalk: {
1764 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1765 2, *this_._impl_.strategy_.random_walk_, this_._impl_.strategy_.random_walk_->GetCachedSize(), target,
1766 stream);
1767 break;
1768 }
1769 case kSisr: {
1770 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1771 3, *this_._impl_.strategy_.sisr_, this_._impl_.strategy_.sisr_->GetCachedSize(), target,
1772 stream);
1773 break;
1774 }
1775 default:
1776 break;
1777 }
1778 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1779 target =
1780 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1781 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1782 }
1783 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RuinStrategy)
1784 return target;
1785}
1786
1787#if defined(PROTOBUF_CUSTOM_VTABLE)
1788::size_t RuinStrategy::ByteSizeLong(const MessageLite& base) {
1789 const RuinStrategy& this_ = static_cast<const RuinStrategy&>(base);
1790#else // PROTOBUF_CUSTOM_VTABLE
1791::size_t RuinStrategy::ByteSizeLong() const {
1792 const RuinStrategy& this_ = *this;
1793#endif // PROTOBUF_CUSTOM_VTABLE
1794 // @@protoc_insertion_point(message_byte_size_start:operations_research.RuinStrategy)
1795 ::size_t total_size = 0;
1796
1797 ::uint32_t cached_has_bits = 0;
1798 // Prevent compiler warnings about cached_has_bits being unused
1799 (void)cached_has_bits;
1800
1801 switch (this_.strategy_case()) {
1802 // .operations_research.SpatiallyCloseRoutesRuinStrategy spatially_close_routes = 1;
1803 case kSpatiallyCloseRoutes: {
1804 total_size += 1 +
1805 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.spatially_close_routes_);
1806 break;
1807 }
1808 // .operations_research.RandomWalkRuinStrategy random_walk = 2;
1809 case kRandomWalk: {
1810 total_size += 1 +
1811 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.random_walk_);
1812 break;
1813 }
1814 // .operations_research.SISRRuinStrategy sisr = 3;
1815 case kSisr: {
1816 total_size += 1 +
1817 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.sisr_);
1818 break;
1819 }
1820 case STRATEGY_NOT_SET: {
1821 break;
1822 }
1823 }
1824 return this_.MaybeComputeUnknownFieldsSize(total_size,
1825 &this_._impl_._cached_size_);
1826}
1827
1828void RuinStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
1829 const ::google::protobuf::MessageLite& from_msg) {
1830 auto* const _this =
1831 static_cast<RuinStrategy*>(&to_msg);
1832 auto& from = static_cast<const RuinStrategy&>(from_msg);
1833 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1834 from.CheckHasBitConsistency();
1835 }
1836 ::google::protobuf::Arena* arena = _this->GetArena();
1837 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RuinStrategy)
1838 ABSL_DCHECK_NE(&from, _this);
1839 ::uint32_t cached_has_bits = 0;
1840 (void)cached_has_bits;
1841
1842 if (const uint32_t oneof_from_case =
1843 from._impl_._oneof_case_[0]) {
1844 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
1845 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
1846 if (oneof_needs_init) {
1847 if (oneof_to_case != 0) {
1848 _this->clear_strategy();
1849 }
1850 _this->_impl_._oneof_case_[0] = oneof_from_case;
1851 }
1852
1853 switch (oneof_from_case) {
1854 case kSpatiallyCloseRoutes: {
1855 if (oneof_needs_init) {
1856 _this->_impl_.strategy_.spatially_close_routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.spatially_close_routes_);
1857 } else {
1858 _this->_impl_.strategy_.spatially_close_routes_->MergeFrom(*from._impl_.strategy_.spatially_close_routes_);
1859 }
1860 break;
1861 }
1862 case kRandomWalk: {
1863 if (oneof_needs_init) {
1864 _this->_impl_.strategy_.random_walk_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.random_walk_);
1865 } else {
1866 _this->_impl_.strategy_.random_walk_->MergeFrom(*from._impl_.strategy_.random_walk_);
1867 }
1868 break;
1869 }
1870 case kSisr: {
1871 if (oneof_needs_init) {
1872 _this->_impl_.strategy_.sisr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.sisr_);
1873 } else {
1874 _this->_impl_.strategy_.sisr_->MergeFrom(*from._impl_.strategy_.sisr_);
1875 }
1876 break;
1877 }
1878 case STRATEGY_NOT_SET:
1879 break;
1880 }
1881 }
1882 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1883 from._internal_metadata_);
1884}
1885
1886void RuinStrategy::CopyFrom(const RuinStrategy& from) {
1887 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RuinStrategy)
1888 if (&from == this) return;
1889 Clear();
1891}
1892
1893
1894void RuinStrategy::InternalSwap(RuinStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1895 using ::std::swap;
1896 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1897 swap(_impl_.strategy_, other->_impl_.strategy_);
1898 swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
1899}
1900
1901::google::protobuf::Metadata RuinStrategy::GetMetadata() const {
1902 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1903}
1904// ===================================================================
1907 public:
1908 static constexpr ::int32_t kOneofCaseOffset =
1909 PROTOBUF_FIELD_OFFSET(::operations_research::RecreateParameters, _impl_._oneof_case_);
1910};
1916 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(local_cheapest_insertion)->GetArena();
1917 if (message_arena != submessage_arena) {
1918 local_cheapest_insertion = ::google::protobuf::internal::GetOwnedMessage(message_arena, local_cheapest_insertion, submessage_arena);
1919 }
1920 set_has_local_cheapest_insertion();
1921 _impl_.parameters_.local_cheapest_insertion_ = local_cheapest_insertion;
1922 }
1923 // @@protoc_insertion_point(field_set_allocated:operations_research.RecreateParameters.local_cheapest_insertion)
1924}
1926 ::google::protobuf::internal::TSanWrite(&_impl_);
1927 if (parameters_case() == kLocalCheapestInsertion) {
1928 if (GetArena() == nullptr) {
1929 delete _impl_.parameters_.local_cheapest_insertion_;
1930 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1931 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.parameters_.local_cheapest_insertion_);
1932 }
1933 clear_has_parameters();
1934 }
1935}
1936void RecreateParameters::set_allocated_savings(::operations_research::SavingsParameters* PROTOBUF_NULLABLE savings) {
1937 ::google::protobuf::Arena* message_arena = GetArena();
1938 clear_parameters();
1939 if (savings) {
1940 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(savings)->GetArena();
1941 if (message_arena != submessage_arena) {
1942 savings = ::google::protobuf::internal::GetOwnedMessage(message_arena, savings, submessage_arena);
1943 }
1944 set_has_savings();
1945 _impl_.parameters_.savings_ = savings;
1946 }
1947 // @@protoc_insertion_point(field_set_allocated:operations_research.RecreateParameters.savings)
1948}
1950 ::google::protobuf::internal::TSanWrite(&_impl_);
1951 if (parameters_case() == kSavings) {
1952 if (GetArena() == nullptr) {
1953 delete _impl_.parameters_.savings_;
1954 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1955 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.parameters_.savings_);
1956 }
1957 clear_has_parameters();
1958 }
1959}
1960void RecreateParameters::set_allocated_global_cheapest_insertion(::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE global_cheapest_insertion) {
1961 ::google::protobuf::Arena* message_arena = GetArena();
1962 clear_parameters();
1963 if (global_cheapest_insertion) {
1964 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(global_cheapest_insertion)->GetArena();
1965 if (message_arena != submessage_arena) {
1966 global_cheapest_insertion = ::google::protobuf::internal::GetOwnedMessage(message_arena, global_cheapest_insertion, submessage_arena);
1967 }
1968 set_has_global_cheapest_insertion();
1969 _impl_.parameters_.global_cheapest_insertion_ = global_cheapest_insertion;
1970 }
1971 // @@protoc_insertion_point(field_set_allocated:operations_research.RecreateParameters.global_cheapest_insertion)
1972}
1974 ::google::protobuf::internal::TSanWrite(&_impl_);
1975 if (parameters_case() == kGlobalCheapestInsertion) {
1976 if (GetArena() == nullptr) {
1977 delete _impl_.parameters_.global_cheapest_insertion_;
1978 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
1979 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.parameters_.global_cheapest_insertion_);
1980 }
1981 clear_has_parameters();
1982 }
1983}
1984RecreateParameters::RecreateParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1985#if defined(PROTOBUF_CUSTOM_VTABLE)
1986 : ::google::protobuf::Message(arena, RecreateParameters_class_data_.base()) {
1987#else // PROTOBUF_CUSTOM_VTABLE
1988 : ::google::protobuf::Message(arena) {
1989#endif // PROTOBUF_CUSTOM_VTABLE
1990 SharedCtor(arena);
1991 // @@protoc_insertion_point(arena_constructor:operations_research.RecreateParameters)
1992}
1993PROTOBUF_NDEBUG_INLINE RecreateParameters::Impl_::Impl_(
1994 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1995 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1996 [[maybe_unused]] const ::operations_research::RecreateParameters& from_msg)
1997 : parameters_{},
1998 _cached_size_{0},
1999 _oneof_case_{from._oneof_case_[0]} {}
2000
2002 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2003 const RecreateParameters& from)
2004#if defined(PROTOBUF_CUSTOM_VTABLE)
2005 : ::google::protobuf::Message(arena, RecreateParameters_class_data_.base()) {
2006#else // PROTOBUF_CUSTOM_VTABLE
2007 : ::google::protobuf::Message(arena) {
2008#endif // PROTOBUF_CUSTOM_VTABLE
2009 RecreateParameters* const _this = this;
2010 (void)_this;
2011 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2012 from._internal_metadata_);
2013 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2014 switch (parameters_case()) {
2015 case PARAMETERS_NOT_SET:
2016 break;
2017 case kLocalCheapestInsertion:
2018 _impl_.parameters_.local_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.local_cheapest_insertion_);
2019 break;
2020 case kSavings:
2021 _impl_.parameters_.savings_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.savings_);
2022 break;
2023 case kGlobalCheapestInsertion:
2024 _impl_.parameters_.global_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.global_cheapest_insertion_);
2025 break;
2026 }
2027
2028 // @@protoc_insertion_point(copy_constructor:operations_research.RecreateParameters)
2029}
2030PROTOBUF_NDEBUG_INLINE RecreateParameters::Impl_::Impl_(
2031 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2032 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2033 : parameters_{},
2034 _cached_size_{0},
2035 _oneof_case_{} {}
2036
2037inline void RecreateParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2038 new (&_impl_) Impl_(internal_visibility(), arena);
2039}
2041 // @@protoc_insertion_point(destructor:operations_research.RecreateParameters)
2042 SharedDtor(*this);
2043}
2044inline void RecreateParameters::SharedDtor(MessageLite& self) {
2045 RecreateParameters& this_ = static_cast<RecreateParameters&>(self);
2046 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2047 this_.CheckHasBitConsistency();
2048 }
2049 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2050 ABSL_DCHECK(this_.GetArena() == nullptr);
2051 if (this_.has_parameters()) {
2052 this_.clear_parameters();
2053 }
2054 this_._impl_.~Impl_();
2055}
2056
2058// @@protoc_insertion_point(one_of_clear_start:operations_research.RecreateParameters)
2059 ::google::protobuf::internal::TSanWrite(&_impl_);
2060 switch (parameters_case()) {
2062 if (GetArena() == nullptr) {
2063 delete _impl_.parameters_.local_cheapest_insertion_;
2064 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2065 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.parameters_.local_cheapest_insertion_);
2066 }
2067 break;
2068 }
2069 case kSavings: {
2070 if (GetArena() == nullptr) {
2071 delete _impl_.parameters_.savings_;
2072 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2073 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.parameters_.savings_);
2074 }
2075 break;
2076 }
2078 if (GetArena() == nullptr) {
2079 delete _impl_.parameters_.global_cheapest_insertion_;
2080 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
2081 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.parameters_.global_cheapest_insertion_);
2082 }
2083 break;
2084 }
2085 case PARAMETERS_NOT_SET: {
2086 break;
2087 }
2088 }
2089 _impl_._oneof_case_[0] = PARAMETERS_NOT_SET;
2090}
2091
2092
2093inline void* PROTOBUF_NONNULL RecreateParameters::PlacementNew_(
2094 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2095 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2096 return ::new (mem) RecreateParameters(arena);
2097}
2098constexpr auto RecreateParameters::InternalNewImpl_() {
2099 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RecreateParameters),
2100 alignof(RecreateParameters));
2101}
2103 return ::google::protobuf::internal::ClassDataFull{
2104 ::google::protobuf::internal::ClassData{
2106 &_table_.header,
2107 nullptr, // OnDemandRegisterArenaDtor
2108 nullptr, // IsInitialized
2109 &RecreateParameters::MergeImpl,
2110 ::google::protobuf::Message::GetNewImpl<RecreateParameters>(),
2111#if defined(PROTOBUF_CUSTOM_VTABLE)
2112 &RecreateParameters::SharedDtor,
2113 ::google::protobuf::Message::GetClearImpl<RecreateParameters>(), &RecreateParameters::ByteSizeLong,
2115#endif // PROTOBUF_CUSTOM_VTABLE
2116 PROTOBUF_FIELD_OFFSET(RecreateParameters, _impl_._cached_size_),
2117 false,
2118 },
2119 &RecreateParameters::kDescriptorMethods,
2121 nullptr, // tracker
2122 };
2123}
2124
2125PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2126 ::google::protobuf::internal::ClassDataFull RecreateParameters_class_data_ =
2128
2129PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2130RecreateParameters::GetClassData() const {
2131 ::google::protobuf::internal::PrefetchToLocalCache(&RecreateParameters_class_data_);
2132 ::google::protobuf::internal::PrefetchToLocalCache(RecreateParameters_class_data_.tc_table);
2133 return RecreateParameters_class_data_.base();
2134}
2135PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2136const ::_pbi::TcParseTable<0, 3, 3, 0, 2>
2137RecreateParameters::_table_ = {
2138 {
2139 0, // no _has_bits_
2140 0, // no _extensions_
2141 3, 0, // max_field_number, fast_idx_mask
2142 offsetof(decltype(_table_), field_lookup_table),
2143 4294967288, // skipmap
2144 offsetof(decltype(_table_), field_entries),
2145 3, // num_field_entries
2146 3, // num_aux_entries
2147 offsetof(decltype(_table_), aux_entries),
2149 nullptr, // post_loop_handler
2150 ::_pbi::TcParser::GenericFallback, // fallback
2151 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2152 ::_pbi::TcParser::GetTable<::operations_research::RecreateParameters>(), // to_prefetch
2153 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2154 }, {{
2155 {::_pbi::TcParser::MiniParse, {}},
2156 }}, {{
2157 65535, 65535
2158 }}, {{
2159 // .operations_research.LocalCheapestInsertionParameters local_cheapest_insertion = 1;
2160 {PROTOBUF_FIELD_OFFSET(RecreateParameters, _impl_.parameters_.local_cheapest_insertion_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
2161 // .operations_research.SavingsParameters savings = 2;
2162 {PROTOBUF_FIELD_OFFSET(RecreateParameters, _impl_.parameters_.savings_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
2163 // .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion = 3;
2164 {PROTOBUF_FIELD_OFFSET(RecreateParameters, _impl_.parameters_.global_cheapest_insertion_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
2165 }},
2166 {{
2167 {::_pbi::TcParser::GetTable<::operations_research::LocalCheapestInsertionParameters>()},
2168 {::_pbi::TcParser::GetTable<::operations_research::SavingsParameters>()},
2169 {::_pbi::TcParser::GetTable<::operations_research::GlobalCheapestInsertionParameters>()},
2170 }},
2171 {{
2172 }},
2173};
2174PROTOBUF_NOINLINE void RecreateParameters::Clear() {
2175// @@protoc_insertion_point(message_clear_start:operations_research.RecreateParameters)
2176 ::google::protobuf::internal::TSanWrite(&_impl_);
2177 ::uint32_t cached_has_bits = 0;
2178 // Prevent compiler warnings about cached_has_bits being unused
2179 (void) cached_has_bits;
2180
2182 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2183}
2184
2185#if defined(PROTOBUF_CUSTOM_VTABLE)
2186::uint8_t* PROTOBUF_NONNULL RecreateParameters::_InternalSerialize(
2187 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2188 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2189 const RecreateParameters& this_ = static_cast<const RecreateParameters&>(base);
2190#else // PROTOBUF_CUSTOM_VTABLE
2191::uint8_t* PROTOBUF_NONNULL RecreateParameters::_InternalSerialize(
2192 ::uint8_t* PROTOBUF_NONNULL target,
2193 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2194 const RecreateParameters& this_ = *this;
2195#endif // PROTOBUF_CUSTOM_VTABLE
2196 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2197 this_.CheckHasBitConsistency();
2198 }
2199 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RecreateParameters)
2200 ::uint32_t cached_has_bits = 0;
2201 (void)cached_has_bits;
2202
2203 switch (this_.parameters_case()) {
2205 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2206 1, *this_._impl_.parameters_.local_cheapest_insertion_, this_._impl_.parameters_.local_cheapest_insertion_->GetCachedSize(), target,
2207 stream);
2208 break;
2209 }
2210 case kSavings: {
2211 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2212 2, *this_._impl_.parameters_.savings_, this_._impl_.parameters_.savings_->GetCachedSize(), target,
2213 stream);
2214 break;
2215 }
2217 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2218 3, *this_._impl_.parameters_.global_cheapest_insertion_, this_._impl_.parameters_.global_cheapest_insertion_->GetCachedSize(), target,
2219 stream);
2220 break;
2221 }
2222 default:
2223 break;
2224 }
2225 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2226 target =
2227 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2228 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2229 }
2230 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RecreateParameters)
2231 return target;
2232}
2233
2234#if defined(PROTOBUF_CUSTOM_VTABLE)
2235::size_t RecreateParameters::ByteSizeLong(const MessageLite& base) {
2236 const RecreateParameters& this_ = static_cast<const RecreateParameters&>(base);
2237#else // PROTOBUF_CUSTOM_VTABLE
2238::size_t RecreateParameters::ByteSizeLong() const {
2239 const RecreateParameters& this_ = *this;
2240#endif // PROTOBUF_CUSTOM_VTABLE
2241 // @@protoc_insertion_point(message_byte_size_start:operations_research.RecreateParameters)
2242 ::size_t total_size = 0;
2244 ::uint32_t cached_has_bits = 0;
2245 // Prevent compiler warnings about cached_has_bits being unused
2246 (void)cached_has_bits;
2247
2248 switch (this_.parameters_case()) {
2249 // .operations_research.LocalCheapestInsertionParameters local_cheapest_insertion = 1;
2251 total_size += 1 +
2252 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_.local_cheapest_insertion_);
2253 break;
2254 }
2255 // .operations_research.SavingsParameters savings = 2;
2256 case kSavings: {
2257 total_size += 1 +
2258 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_.savings_);
2259 break;
2260 }
2261 // .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion = 3;
2263 total_size += 1 +
2264 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_.global_cheapest_insertion_);
2265 break;
2266 }
2267 case PARAMETERS_NOT_SET: {
2268 break;
2269 }
2270 }
2271 return this_.MaybeComputeUnknownFieldsSize(total_size,
2272 &this_._impl_._cached_size_);
2273}
2274
2275void RecreateParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
2276 const ::google::protobuf::MessageLite& from_msg) {
2277 auto* const _this =
2278 static_cast<RecreateParameters*>(&to_msg);
2279 auto& from = static_cast<const RecreateParameters&>(from_msg);
2280 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2281 from.CheckHasBitConsistency();
2282 }
2283 ::google::protobuf::Arena* arena = _this->GetArena();
2284 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RecreateParameters)
2285 ABSL_DCHECK_NE(&from, _this);
2286 ::uint32_t cached_has_bits = 0;
2287 (void)cached_has_bits;
2288
2289 if (const uint32_t oneof_from_case =
2290 from._impl_._oneof_case_[0]) {
2291 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
2292 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
2293 if (oneof_needs_init) {
2294 if (oneof_to_case != 0) {
2295 _this->clear_parameters();
2296 }
2297 _this->_impl_._oneof_case_[0] = oneof_from_case;
2298 }
2299
2300 switch (oneof_from_case) {
2302 if (oneof_needs_init) {
2303 _this->_impl_.parameters_.local_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.local_cheapest_insertion_);
2304 } else {
2305 _this->_impl_.parameters_.local_cheapest_insertion_->MergeFrom(*from._impl_.parameters_.local_cheapest_insertion_);
2306 }
2307 break;
2308 }
2309 case kSavings: {
2310 if (oneof_needs_init) {
2311 _this->_impl_.parameters_.savings_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.savings_);
2312 } else {
2313 _this->_impl_.parameters_.savings_->MergeFrom(*from._impl_.parameters_.savings_);
2314 }
2315 break;
2316 }
2318 if (oneof_needs_init) {
2319 _this->_impl_.parameters_.global_cheapest_insertion_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_.global_cheapest_insertion_);
2320 } else {
2321 _this->_impl_.parameters_.global_cheapest_insertion_->MergeFrom(*from._impl_.parameters_.global_cheapest_insertion_);
2322 }
2323 break;
2324 }
2325 case PARAMETERS_NOT_SET:
2326 break;
2327 }
2328 }
2329 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2330 from._internal_metadata_);
2331}
2332
2334 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RecreateParameters)
2335 if (&from == this) return;
2336 Clear();
2337 MergeFrom(from);
2339
2340
2341void RecreateParameters::InternalSwap(RecreateParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2342 using ::std::swap;
2343 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2344 swap(_impl_.parameters_, other->_impl_.parameters_);
2345 swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
2346}
2347
2348::google::protobuf::Metadata RecreateParameters::GetMetadata() const {
2349 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2350}
2351// ===================================================================
2352
2354 public:
2355 using HasBits =
2356 decltype(::std::declval<RecreateStrategy>()._impl_._has_bits_);
2357 static constexpr ::int32_t kHasBitsOffset =
2358 8 * PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_._has_bits_);
2360
2361RecreateStrategy::RecreateStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2362#if defined(PROTOBUF_CUSTOM_VTABLE)
2363 : ::google::protobuf::Message(arena, RecreateStrategy_class_data_.base()) {
2364#else // PROTOBUF_CUSTOM_VTABLE
2365 : ::google::protobuf::Message(arena) {
2366#endif // PROTOBUF_CUSTOM_VTABLE
2367 SharedCtor(arena);
2368 // @@protoc_insertion_point(arena_constructor:operations_research.RecreateStrategy)
2369}
2370PROTOBUF_NDEBUG_INLINE RecreateStrategy::Impl_::Impl_(
2371 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2372 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2373 [[maybe_unused]] const ::operations_research::RecreateStrategy& from_msg)
2374 : _has_bits_{from._has_bits_},
2375 _cached_size_{0} {}
2376
2378 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2379 const RecreateStrategy& from)
2380#if defined(PROTOBUF_CUSTOM_VTABLE)
2381 : ::google::protobuf::Message(arena, RecreateStrategy_class_data_.base()) {
2382#else // PROTOBUF_CUSTOM_VTABLE
2383 : ::google::protobuf::Message(arena) {
2384#endif // PROTOBUF_CUSTOM_VTABLE
2385 RecreateStrategy* const _this = this;
2386 (void)_this;
2387 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2388 from._internal_metadata_);
2389 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2390 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
2391 _impl_.parameters_ = (CheckHasBit(cached_has_bits, 0x00000001U))
2392 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_)
2393 : nullptr;
2394 _impl_.heuristic_ = from._impl_.heuristic_;
2395
2396 // @@protoc_insertion_point(copy_constructor:operations_research.RecreateStrategy)
2397}
2398PROTOBUF_NDEBUG_INLINE RecreateStrategy::Impl_::Impl_(
2399 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2400 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2401 : _cached_size_{0} {}
2402
2403inline void RecreateStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2404 new (&_impl_) Impl_(internal_visibility(), arena);
2405 ::memset(reinterpret_cast<char*>(&_impl_) +
2406 offsetof(Impl_, parameters_),
2407 0,
2408 offsetof(Impl_, heuristic_) -
2409 offsetof(Impl_, parameters_) +
2410 sizeof(Impl_::heuristic_));
2411}
2413 // @@protoc_insertion_point(destructor:operations_research.RecreateStrategy)
2414 SharedDtor(*this);
2415}
2416inline void RecreateStrategy::SharedDtor(MessageLite& self) {
2417 RecreateStrategy& this_ = static_cast<RecreateStrategy&>(self);
2418 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2419 this_.CheckHasBitConsistency();
2420 }
2421 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2422 ABSL_DCHECK(this_.GetArena() == nullptr);
2423 delete this_._impl_.parameters_;
2424 this_._impl_.~Impl_();
2425}
2426
2427inline void* PROTOBUF_NONNULL RecreateStrategy::PlacementNew_(
2428 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2429 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2430 return ::new (mem) RecreateStrategy(arena);
2431}
2432constexpr auto RecreateStrategy::InternalNewImpl_() {
2433 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RecreateStrategy),
2434 alignof(RecreateStrategy));
2435}
2437 return ::google::protobuf::internal::ClassDataFull{
2438 ::google::protobuf::internal::ClassData{
2440 &_table_.header,
2441 nullptr, // OnDemandRegisterArenaDtor
2442 nullptr, // IsInitialized
2443 &RecreateStrategy::MergeImpl,
2444 ::google::protobuf::Message::GetNewImpl<RecreateStrategy>(),
2445#if defined(PROTOBUF_CUSTOM_VTABLE)
2446 &RecreateStrategy::SharedDtor,
2447 ::google::protobuf::Message::GetClearImpl<RecreateStrategy>(), &RecreateStrategy::ByteSizeLong,
2449#endif // PROTOBUF_CUSTOM_VTABLE
2450 PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_._cached_size_),
2451 false,
2452 },
2453 &RecreateStrategy::kDescriptorMethods,
2455 nullptr, // tracker
2456 };
2457}
2458
2459PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2460 ::google::protobuf::internal::ClassDataFull RecreateStrategy_class_data_ =
2462
2463PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2464RecreateStrategy::GetClassData() const {
2465 ::google::protobuf::internal::PrefetchToLocalCache(&RecreateStrategy_class_data_);
2466 ::google::protobuf::internal::PrefetchToLocalCache(RecreateStrategy_class_data_.tc_table);
2467 return RecreateStrategy_class_data_.base();
2468}
2469PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2470const ::_pbi::TcParseTable<1, 2, 1, 0, 2>
2471RecreateStrategy::_table_ = {
2472 {
2473 PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_._has_bits_),
2474 0, // no _extensions_
2475 2, 8, // max_field_number, fast_idx_mask
2476 offsetof(decltype(_table_), field_lookup_table),
2477 4294967292, // skipmap
2478 offsetof(decltype(_table_), field_entries),
2479 2, // num_field_entries
2480 1, // num_aux_entries
2481 offsetof(decltype(_table_), aux_entries),
2483 nullptr, // post_loop_handler
2484 ::_pbi::TcParser::GenericFallback, // fallback
2485 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2486 ::_pbi::TcParser::GetTable<::operations_research::RecreateStrategy>(), // to_prefetch
2487 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2488 }, {{
2489 // optional .operations_research.RecreateParameters parameters = 2;
2490 {::_pbi::TcParser::FastMtS1,
2491 {18, 0, 0,
2492 PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_.parameters_)}},
2493 // optional .operations_research.FirstSolutionStrategy.Value heuristic = 1;
2494 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RecreateStrategy, _impl_.heuristic_), 1>(),
2495 {8, 1, 0,
2496 PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_.heuristic_)}},
2497 }}, {{
2498 65535, 65535
2499 }}, {{
2500 // optional .operations_research.FirstSolutionStrategy.Value heuristic = 1;
2501 {PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_.heuristic_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
2502 // optional .operations_research.RecreateParameters parameters = 2;
2503 {PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_.parameters_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2504 }},
2505 {{
2506 {::_pbi::TcParser::GetTable<::operations_research::RecreateParameters>()},
2507 }},
2508 {{
2509 }},
2510};
2511PROTOBUF_NOINLINE void RecreateStrategy::Clear() {
2512// @@protoc_insertion_point(message_clear_start:operations_research.RecreateStrategy)
2513 ::google::protobuf::internal::TSanWrite(&_impl_);
2514 ::uint32_t cached_has_bits = 0;
2515 // Prevent compiler warnings about cached_has_bits being unused
2516 (void) cached_has_bits;
2518 cached_has_bits = _impl_._has_bits_[0];
2519 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2520 ABSL_DCHECK(_impl_.parameters_ != nullptr);
2521 _impl_.parameters_->Clear();
2522 }
2523 _impl_.heuristic_ = 0;
2524 _impl_._has_bits_.Clear();
2525 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2526}
2527
2528#if defined(PROTOBUF_CUSTOM_VTABLE)
2529::uint8_t* PROTOBUF_NONNULL RecreateStrategy::_InternalSerialize(
2530 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2531 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2532 const RecreateStrategy& this_ = static_cast<const RecreateStrategy&>(base);
2533#else // PROTOBUF_CUSTOM_VTABLE
2534::uint8_t* PROTOBUF_NONNULL RecreateStrategy::_InternalSerialize(
2535 ::uint8_t* PROTOBUF_NONNULL target,
2536 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2537 const RecreateStrategy& this_ = *this;
2538#endif // PROTOBUF_CUSTOM_VTABLE
2539 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2540 this_.CheckHasBitConsistency();
2541 }
2542 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RecreateStrategy)
2543 ::uint32_t cached_has_bits = 0;
2544 (void)cached_has_bits;
2545
2546 cached_has_bits = this_._impl_._has_bits_[0];
2547 // optional .operations_research.FirstSolutionStrategy.Value heuristic = 1;
2548 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2549 target = stream->EnsureSpace(target);
2550 target = ::_pbi::WireFormatLite::WriteEnumToArray(
2551 1, this_._internal_heuristic(), target);
2552 }
2553
2554 // optional .operations_research.RecreateParameters parameters = 2;
2555 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2556 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2557 2, *this_._impl_.parameters_, this_._impl_.parameters_->GetCachedSize(), target,
2558 stream);
2559 }
2560
2561 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2562 target =
2563 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2564 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2565 }
2566 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RecreateStrategy)
2567 return target;
2568}
2569
2570#if defined(PROTOBUF_CUSTOM_VTABLE)
2571::size_t RecreateStrategy::ByteSizeLong(const MessageLite& base) {
2572 const RecreateStrategy& this_ = static_cast<const RecreateStrategy&>(base);
2573#else // PROTOBUF_CUSTOM_VTABLE
2574::size_t RecreateStrategy::ByteSizeLong() const {
2575 const RecreateStrategy& this_ = *this;
2576#endif // PROTOBUF_CUSTOM_VTABLE
2577 // @@protoc_insertion_point(message_byte_size_start:operations_research.RecreateStrategy)
2578 ::size_t total_size = 0;
2579
2580 ::uint32_t cached_has_bits = 0;
2581 // Prevent compiler warnings about cached_has_bits being unused
2582 (void)cached_has_bits;
2583
2584 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2585 cached_has_bits = this_._impl_._has_bits_[0];
2586 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2587 // optional .operations_research.RecreateParameters parameters = 2;
2588 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2589 total_size += 1 +
2590 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.parameters_);
2591 }
2592 // optional .operations_research.FirstSolutionStrategy.Value heuristic = 1;
2593 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2594 total_size += 1 +
2595 ::_pbi::WireFormatLite::EnumSize(this_._internal_heuristic());
2596 }
2597 }
2598 return this_.MaybeComputeUnknownFieldsSize(total_size,
2599 &this_._impl_._cached_size_);
2600}
2601
2602void RecreateStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
2603 const ::google::protobuf::MessageLite& from_msg) {
2604 auto* const _this =
2605 static_cast<RecreateStrategy*>(&to_msg);
2606 auto& from = static_cast<const RecreateStrategy&>(from_msg);
2607 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2608 from.CheckHasBitConsistency();
2609 }
2610 ::google::protobuf::Arena* arena = _this->GetArena();
2611 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RecreateStrategy)
2612 ABSL_DCHECK_NE(&from, _this);
2613 ::uint32_t cached_has_bits = 0;
2614 (void)cached_has_bits;
2615
2616 cached_has_bits = from._impl_._has_bits_[0];
2617 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2618 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2619 ABSL_DCHECK(from._impl_.parameters_ != nullptr);
2620 if (_this->_impl_.parameters_ == nullptr) {
2621 _this->_impl_.parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.parameters_);
2622 } else {
2623 _this->_impl_.parameters_->MergeFrom(*from._impl_.parameters_);
2624 }
2625 }
2626 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2627 _this->_impl_.heuristic_ = from._impl_.heuristic_;
2628 }
2629 }
2630 _this->_impl_._has_bits_[0] |= cached_has_bits;
2631 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2632 from._internal_metadata_);
2633}
2634
2635void RecreateStrategy::CopyFrom(const RecreateStrategy& from) {
2636 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RecreateStrategy)
2637 if (&from == this) return;
2638 Clear();
2639 MergeFrom(from);
2640}
2642
2643void RecreateStrategy::InternalSwap(RecreateStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2644 using ::std::swap;
2645 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2646 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2647 ::google::protobuf::internal::memswap<
2648 PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_.heuristic_)
2649 + sizeof(RecreateStrategy::_impl_.heuristic_)
2650 - PROTOBUF_FIELD_OFFSET(RecreateStrategy, _impl_.parameters_)>(
2651 reinterpret_cast<char*>(&_impl_.parameters_),
2652 reinterpret_cast<char*>(&other->_impl_.parameters_));
2653}
2654
2655::google::protobuf::Metadata RecreateStrategy::GetMetadata() const {
2656 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2657}
2658// ===================================================================
2659
2660class RuinCompositionStrategy::_Internal {
2661 public:
2662};
2663
2664RuinCompositionStrategy::RuinCompositionStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2665#if defined(PROTOBUF_CUSTOM_VTABLE)
2666 : ::google::protobuf::internal::ZeroFieldsBase(arena, RuinCompositionStrategy_class_data_.base()) {
2667#else // PROTOBUF_CUSTOM_VTABLE
2668 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2669#endif // PROTOBUF_CUSTOM_VTABLE
2670 // @@protoc_insertion_point(arena_constructor:operations_research.RuinCompositionStrategy)
2671}
2673 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2674 const RuinCompositionStrategy& from)
2675#if defined(PROTOBUF_CUSTOM_VTABLE)
2676 : ::google::protobuf::internal::ZeroFieldsBase(arena, RuinCompositionStrategy_class_data_.base()) {
2677#else // PROTOBUF_CUSTOM_VTABLE
2678 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
2679#endif // PROTOBUF_CUSTOM_VTABLE
2680 RuinCompositionStrategy* const _this = this;
2681 (void)_this;
2682 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2683 from._internal_metadata_);
2684
2685 // @@protoc_insertion_point(copy_constructor:operations_research.RuinCompositionStrategy)
2686}
2687
2688inline void* PROTOBUF_NONNULL RuinCompositionStrategy::PlacementNew_(
2689 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2690 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2691 return ::new (mem) RuinCompositionStrategy(arena);
2692}
2693constexpr auto RuinCompositionStrategy::InternalNewImpl_() {
2694 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RuinCompositionStrategy),
2695 alignof(RuinCompositionStrategy));
2696}
2698 return ::google::protobuf::internal::ClassDataFull{
2699 ::google::protobuf::internal::ClassData{
2701 &_table_.header,
2702 nullptr, // OnDemandRegisterArenaDtor
2703 nullptr, // IsInitialized
2704 &RuinCompositionStrategy::MergeImpl,
2705 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<RuinCompositionStrategy>(),
2706#if defined(PROTOBUF_CUSTOM_VTABLE)
2707 &RuinCompositionStrategy::SharedDtor,
2708 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<RuinCompositionStrategy>(), &RuinCompositionStrategy::ByteSizeLong,
2709 &RuinCompositionStrategy::_InternalSerialize,
2710#endif // PROTOBUF_CUSTOM_VTABLE
2711 PROTOBUF_FIELD_OFFSET(RuinCompositionStrategy, _impl_._cached_size_),
2712 false,
2713 },
2714 &RuinCompositionStrategy::kDescriptorMethods,
2716 nullptr, // tracker
2717 };
2718}
2719
2720PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2721 ::google::protobuf::internal::ClassDataFull RuinCompositionStrategy_class_data_ =
2723
2724PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2725RuinCompositionStrategy::GetClassData() const {
2726 ::google::protobuf::internal::PrefetchToLocalCache(&RuinCompositionStrategy_class_data_);
2727 ::google::protobuf::internal::PrefetchToLocalCache(RuinCompositionStrategy_class_data_.tc_table);
2729}
2730PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2731const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
2732RuinCompositionStrategy::_table_ = {
2733 {
2734 0, // no _has_bits_
2735 0, // no _extensions_
2736 0, 0, // max_field_number, fast_idx_mask
2737 offsetof(decltype(_table_), field_lookup_table),
2738 4294967295, // skipmap
2739 offsetof(decltype(_table_), field_names), // no field_entries
2740 0, // num_field_entries
2741 0, // num_aux_entries
2742 offsetof(decltype(_table_), field_names), // no aux_entries
2744 nullptr, // post_loop_handler
2745 ::_pbi::TcParser::GenericFallback, // fallback
2746 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2747 ::_pbi::TcParser::GetTable<::operations_research::RuinCompositionStrategy>(), // to_prefetch
2748 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2749 }, {{
2750 {::_pbi::TcParser::MiniParse, {}},
2751 }}, {{
2752 65535, 65535
2753 }}, // no field_entries, or aux_entries
2754 {{
2755 }},
2756};
2757
2758
2759
2760
2761
2762
2763
2764::google::protobuf::Metadata RuinCompositionStrategy::GetMetadata() const {
2765 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
2766}
2767// ===================================================================
2768
2769class RuinRecreateParameters::_Internal {
2770 public:
2771 using HasBits =
2772 decltype(::std::declval<RuinRecreateParameters>()._impl_._has_bits_);
2773 static constexpr ::int32_t kHasBitsOffset =
2774 8 * PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_._has_bits_);
2775};
2776
2777RuinRecreateParameters::RuinRecreateParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2778#if defined(PROTOBUF_CUSTOM_VTABLE)
2779 : ::google::protobuf::Message(arena, RuinRecreateParameters_class_data_.base()) {
2780#else // PROTOBUF_CUSTOM_VTABLE
2781 : ::google::protobuf::Message(arena) {
2782#endif // PROTOBUF_CUSTOM_VTABLE
2783 SharedCtor(arena);
2784 // @@protoc_insertion_point(arena_constructor:operations_research.RuinRecreateParameters)
2785}
2786PROTOBUF_NDEBUG_INLINE RuinRecreateParameters::Impl_::Impl_(
2787 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2788 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2789 [[maybe_unused]] const ::operations_research::RuinRecreateParameters& from_msg)
2790 : _has_bits_{from._has_bits_},
2791 _cached_size_{0},
2792 ruin_strategies_{visibility, arena, from.ruin_strategies_} {}
2793
2795 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2796 const RuinRecreateParameters& from)
2797#if defined(PROTOBUF_CUSTOM_VTABLE)
2798 : ::google::protobuf::Message(arena, RuinRecreateParameters_class_data_.base()) {
2799#else // PROTOBUF_CUSTOM_VTABLE
2800 : ::google::protobuf::Message(arena) {
2801#endif // PROTOBUF_CUSTOM_VTABLE
2802 RuinRecreateParameters* const _this = this;
2803 (void)_this;
2804 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2805 from._internal_metadata_);
2806 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2807 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
2808 _impl_.recreate_strategy_ = (CheckHasBit(cached_has_bits, 0x00000002U))
2809 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.recreate_strategy_)
2810 : nullptr;
2811 ::memcpy(reinterpret_cast<char*>(&_impl_) +
2812 offsetof(Impl_, ruin_composition_strategy_),
2813 reinterpret_cast<const char*>(&from._impl_) +
2814 offsetof(Impl_, ruin_composition_strategy_),
2815 offsetof(Impl_, route_selection_max_neighbors_) -
2816 offsetof(Impl_, ruin_composition_strategy_) +
2817 sizeof(Impl_::route_selection_max_neighbors_));
2818
2819 // @@protoc_insertion_point(copy_constructor:operations_research.RuinRecreateParameters)
2820}
2821PROTOBUF_NDEBUG_INLINE RuinRecreateParameters::Impl_::Impl_(
2822 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2823 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2824 : _cached_size_{0},
2825 ruin_strategies_{visibility, arena} {}
2826
2827inline void RuinRecreateParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2828 new (&_impl_) Impl_(internal_visibility(), arena);
2829 ::memset(reinterpret_cast<char*>(&_impl_) +
2830 offsetof(Impl_, recreate_strategy_),
2831 0,
2832 offsetof(Impl_, route_selection_max_neighbors_) -
2833 offsetof(Impl_, recreate_strategy_) +
2834 sizeof(Impl_::route_selection_max_neighbors_));
2835}
2837 // @@protoc_insertion_point(destructor:operations_research.RuinRecreateParameters)
2838 SharedDtor(*this);
2839}
2840inline void RuinRecreateParameters::SharedDtor(MessageLite& self) {
2841 RuinRecreateParameters& this_ = static_cast<RuinRecreateParameters&>(self);
2842 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2843 this_.CheckHasBitConsistency();
2845 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2846 ABSL_DCHECK(this_.GetArena() == nullptr);
2847 delete this_._impl_.recreate_strategy_;
2848 this_._impl_.~Impl_();
2849}
2850
2851inline void* PROTOBUF_NONNULL RuinRecreateParameters::PlacementNew_(
2852 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2853 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2854 return ::new (mem) RuinRecreateParameters(arena);
2855}
2856constexpr auto RuinRecreateParameters::InternalNewImpl_() {
2857 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2858 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_strategies_) +
2859 decltype(RuinRecreateParameters::_impl_.ruin_strategies_)::
2860 InternalGetArenaOffset(
2861 ::google::protobuf::Message::internal_visibility()),
2862 });
2863 if (arena_bits.has_value()) {
2864 return ::google::protobuf::internal::MessageCreator::ZeroInit(
2865 sizeof(RuinRecreateParameters), alignof(RuinRecreateParameters), *arena_bits);
2866 } else {
2867 return ::google::protobuf::internal::MessageCreator(&RuinRecreateParameters::PlacementNew_,
2868 sizeof(RuinRecreateParameters),
2869 alignof(RuinRecreateParameters));
2870 }
2871}
2873 return ::google::protobuf::internal::ClassDataFull{
2874 ::google::protobuf::internal::ClassData{
2876 &_table_.header,
2877 nullptr, // OnDemandRegisterArenaDtor
2878 nullptr, // IsInitialized
2879 &RuinRecreateParameters::MergeImpl,
2880 ::google::protobuf::Message::GetNewImpl<RuinRecreateParameters>(),
2881#if defined(PROTOBUF_CUSTOM_VTABLE)
2882 &RuinRecreateParameters::SharedDtor,
2883 ::google::protobuf::Message::GetClearImpl<RuinRecreateParameters>(), &RuinRecreateParameters::ByteSizeLong,
2885#endif // PROTOBUF_CUSTOM_VTABLE
2886 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_._cached_size_),
2887 false,
2888 },
2889 &RuinRecreateParameters::kDescriptorMethods,
2891 nullptr, // tracker
2892 };
2893}
2894
2895PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2896 ::google::protobuf::internal::ClassDataFull RuinRecreateParameters_class_data_ =
2898
2899PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2900RuinRecreateParameters::GetClassData() const {
2901 ::google::protobuf::internal::PrefetchToLocalCache(&RuinRecreateParameters_class_data_);
2902 ::google::protobuf::internal::PrefetchToLocalCache(RuinRecreateParameters_class_data_.tc_table);
2905PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2906const ::_pbi::TcParseTable<3, 6, 2, 0, 2>
2907RuinRecreateParameters::_table_ = {
2908 {
2909 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_._has_bits_),
2910 0, // no _extensions_
2911 6, 56, // max_field_number, fast_idx_mask
2912 offsetof(decltype(_table_), field_lookup_table),
2913 4294967232, // skipmap
2914 offsetof(decltype(_table_), field_entries),
2915 6, // num_field_entries
2916 2, // num_aux_entries
2917 offsetof(decltype(_table_), aux_entries),
2919 nullptr, // post_loop_handler
2920 ::_pbi::TcParser::GenericFallback, // fallback
2921 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2922 ::_pbi::TcParser::GetTable<::operations_research::RuinRecreateParameters>(), // to_prefetch
2923 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2924 }, {{
2925 {::_pbi::TcParser::MiniParse, {}},
2926 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
2927 {::_pbi::TcParser::FastMtR1,
2928 {10, 0, 0,
2929 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_strategies_)}},
2930 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
2931 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuinRecreateParameters, _impl_.ruin_composition_strategy_), 2>(),
2932 {16, 2, 0,
2933 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_composition_strategy_)}},
2934 // .operations_research.RecreateStrategy recreate_strategy = 3;
2935 {::_pbi::TcParser::FastMtS1,
2936 {26, 1, 1,
2937 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.recreate_strategy_)}},
2938 // optional double route_selection_neighbors_ratio = 4;
2939 {::_pbi::TcParser::FastF64S1,
2940 {33, 4, 0,
2941 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_neighbors_ratio_)}},
2942 // optional uint32 route_selection_min_neighbors = 5;
2943 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuinRecreateParameters, _impl_.route_selection_min_neighbors_), 3>(),
2944 {40, 3, 0,
2945 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_min_neighbors_)}},
2946 // optional uint32 route_selection_max_neighbors = 6;
2947 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuinRecreateParameters, _impl_.route_selection_max_neighbors_), 5>(),
2948 {48, 5, 0,
2949 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_max_neighbors_)}},
2950 {::_pbi::TcParser::MiniParse, {}},
2951 }}, {{
2952 65535, 65535
2953 }}, {{
2954 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
2955 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_strategies_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
2956 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
2957 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.ruin_composition_strategy_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
2958 // .operations_research.RecreateStrategy recreate_strategy = 3;
2959 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.recreate_strategy_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2960 // optional double route_selection_neighbors_ratio = 4;
2961 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_neighbors_ratio_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
2962 // optional uint32 route_selection_min_neighbors = 5;
2963 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_min_neighbors_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
2964 // optional uint32 route_selection_max_neighbors = 6;
2965 {PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_max_neighbors_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
2966 }},
2967 {{
2968 {::_pbi::TcParser::GetTable<::operations_research::RuinStrategy>()},
2969 {::_pbi::TcParser::GetTable<::operations_research::RecreateStrategy>()},
2970 }},
2971 {{
2972 }},
2973};
2974PROTOBUF_NOINLINE void RuinRecreateParameters::Clear() {
2975// @@protoc_insertion_point(message_clear_start:operations_research.RuinRecreateParameters)
2976 ::google::protobuf::internal::TSanWrite(&_impl_);
2977 ::uint32_t cached_has_bits = 0;
2978 // Prevent compiler warnings about cached_has_bits being unused
2979 (void) cached_has_bits;
2980
2981 cached_has_bits = _impl_._has_bits_[0];
2982 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2983 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2984 _impl_.ruin_strategies_.Clear();
2985 }
2986 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2987 ABSL_DCHECK(_impl_.recreate_strategy_ != nullptr);
2988 _impl_.recreate_strategy_->Clear();
2989 }
2990 }
2991 if (BatchCheckHasBit(cached_has_bits, 0x0000003cU)) {
2992 ::memset(&_impl_.ruin_composition_strategy_, 0, static_cast<::size_t>(
2993 reinterpret_cast<char*>(&_impl_.route_selection_max_neighbors_) -
2994 reinterpret_cast<char*>(&_impl_.ruin_composition_strategy_)) + sizeof(_impl_.route_selection_max_neighbors_));
2995 }
2996 _impl_._has_bits_.Clear();
2997 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2998}
2999
3000#if defined(PROTOBUF_CUSTOM_VTABLE)
3001::uint8_t* PROTOBUF_NONNULL RuinRecreateParameters::_InternalSerialize(
3002 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3003 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3004 const RuinRecreateParameters& this_ = static_cast<const RuinRecreateParameters&>(base);
3005#else // PROTOBUF_CUSTOM_VTABLE
3006::uint8_t* PROTOBUF_NONNULL RuinRecreateParameters::_InternalSerialize(
3007 ::uint8_t* PROTOBUF_NONNULL target,
3008 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3009 const RuinRecreateParameters& this_ = *this;
3010#endif // PROTOBUF_CUSTOM_VTABLE
3011 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3012 this_.CheckHasBitConsistency();
3013 }
3014 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RuinRecreateParameters)
3015 ::uint32_t cached_has_bits = 0;
3016 (void)cached_has_bits;
3017
3018 cached_has_bits = this_._impl_._has_bits_[0];
3019 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
3020 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3021 for (unsigned i = 0, n = static_cast<unsigned>(
3022 this_._internal_ruin_strategies_size());
3023 i < n; i++) {
3024 const auto& repfield = this_._internal_ruin_strategies().Get(i);
3025 target =
3026 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3027 1, repfield, repfield.GetCachedSize(),
3028 target, stream);
3029 }
3030 }
3031
3032 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
3033 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3034 if (this_._internal_ruin_composition_strategy() != 0) {
3035 target = stream->EnsureSpace(target);
3036 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3037 2, this_._internal_ruin_composition_strategy(), target);
3038 }
3039 }
3040
3041 // .operations_research.RecreateStrategy recreate_strategy = 3;
3042 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3043 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3044 3, *this_._impl_.recreate_strategy_, this_._impl_.recreate_strategy_->GetCachedSize(), target,
3045 stream);
3046 }
3047
3048 // optional double route_selection_neighbors_ratio = 4;
3049 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
3050 target = stream->EnsureSpace(target);
3051 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3052 4, this_._internal_route_selection_neighbors_ratio(), target);
3053 }
3054
3055 // optional uint32 route_selection_min_neighbors = 5;
3056 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3057 target = stream->EnsureSpace(target);
3058 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
3059 5, this_._internal_route_selection_min_neighbors(), target);
3060 }
3061
3062 // optional uint32 route_selection_max_neighbors = 6;
3063 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3064 target = stream->EnsureSpace(target);
3065 target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
3066 6, this_._internal_route_selection_max_neighbors(), target);
3067 }
3068
3069 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3070 target =
3071 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3072 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3073 }
3074 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RuinRecreateParameters)
3075 return target;
3076}
3077
3078#if defined(PROTOBUF_CUSTOM_VTABLE)
3080 const RuinRecreateParameters& this_ = static_cast<const RuinRecreateParameters&>(base);
3081#else // PROTOBUF_CUSTOM_VTABLE
3082::size_t RuinRecreateParameters::ByteSizeLong() const {
3083 const RuinRecreateParameters& this_ = *this;
3084#endif // PROTOBUF_CUSTOM_VTABLE
3085 // @@protoc_insertion_point(message_byte_size_start:operations_research.RuinRecreateParameters)
3086 ::size_t total_size = 0;
3087
3088 ::uint32_t cached_has_bits = 0;
3089 // Prevent compiler warnings about cached_has_bits being unused
3090 (void)cached_has_bits;
3091
3092 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3093 cached_has_bits = this_._impl_._has_bits_[0];
3094 total_size += static_cast<bool>(0x00000010U & cached_has_bits) * 9;
3095 if (BatchCheckHasBit(cached_has_bits, 0x0000002fU)) {
3096 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
3097 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3098 total_size += 1UL * this_._internal_ruin_strategies_size();
3099 for (const auto& msg : this_._internal_ruin_strategies()) {
3100 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
3101 }
3102 }
3103 // .operations_research.RecreateStrategy recreate_strategy = 3;
3104 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3105 total_size += 1 +
3106 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.recreate_strategy_);
3107 }
3108 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
3109 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3110 if (this_._internal_ruin_composition_strategy() != 0) {
3111 total_size += 1 +
3112 ::_pbi::WireFormatLite::EnumSize(this_._internal_ruin_composition_strategy());
3113 }
3114 }
3115 // optional uint32 route_selection_min_neighbors = 5;
3116 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3117 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
3118 this_._internal_route_selection_min_neighbors());
3119 }
3120 // optional uint32 route_selection_max_neighbors = 6;
3121 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3122 total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
3123 this_._internal_route_selection_max_neighbors());
3124 }
3125 }
3126 return this_.MaybeComputeUnknownFieldsSize(total_size,
3127 &this_._impl_._cached_size_);
3128}
3129
3130void RuinRecreateParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
3131 const ::google::protobuf::MessageLite& from_msg) {
3132 auto* const _this =
3133 static_cast<RuinRecreateParameters*>(&to_msg);
3134 auto& from = static_cast<const RuinRecreateParameters&>(from_msg);
3135 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3136 from.CheckHasBitConsistency();
3137 }
3138 ::google::protobuf::Arena* arena = _this->GetArena();
3139 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RuinRecreateParameters)
3140 ABSL_DCHECK_NE(&from, _this);
3141 ::uint32_t cached_has_bits = 0;
3142 (void)cached_has_bits;
3143
3144 cached_has_bits = from._impl_._has_bits_[0];
3145 if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
3146 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3147 _this->_internal_mutable_ruin_strategies()->InternalMergeFromWithArena(
3148 ::google::protobuf::MessageLite::internal_visibility(), arena,
3149 from._internal_ruin_strategies());
3150 }
3151 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3152 ABSL_DCHECK(from._impl_.recreate_strategy_ != nullptr);
3153 if (_this->_impl_.recreate_strategy_ == nullptr) {
3154 _this->_impl_.recreate_strategy_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.recreate_strategy_);
3155 } else {
3156 _this->_impl_.recreate_strategy_->MergeFrom(*from._impl_.recreate_strategy_);
3157 }
3158 }
3159 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3160 if (from._internal_ruin_composition_strategy() != 0) {
3161 _this->_impl_.ruin_composition_strategy_ = from._impl_.ruin_composition_strategy_;
3162 }
3163 }
3164 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3165 _this->_impl_.route_selection_min_neighbors_ = from._impl_.route_selection_min_neighbors_;
3166 }
3167 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
3168 _this->_impl_.route_selection_neighbors_ratio_ = from._impl_.route_selection_neighbors_ratio_;
3169 }
3170 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3171 _this->_impl_.route_selection_max_neighbors_ = from._impl_.route_selection_max_neighbors_;
3172 }
3173 }
3174 _this->_impl_._has_bits_[0] |= cached_has_bits;
3175 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3176 from._internal_metadata_);
3177}
3178
3180 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RuinRecreateParameters)
3181 if (&from == this) return;
3182 Clear();
3183 MergeFrom(from);
3184}
3185
3186
3187void RuinRecreateParameters::InternalSwap(RuinRecreateParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3188 using ::std::swap;
3189 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3190 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3191 _impl_.ruin_strategies_.InternalSwap(&other->_impl_.ruin_strategies_);
3192 ::google::protobuf::internal::memswap<
3193 PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.route_selection_max_neighbors_)
3194 + sizeof(RuinRecreateParameters::_impl_.route_selection_max_neighbors_)
3195 - PROTOBUF_FIELD_OFFSET(RuinRecreateParameters, _impl_.recreate_strategy_)>(
3196 reinterpret_cast<char*>(&_impl_.recreate_strategy_),
3197 reinterpret_cast<char*>(&other->_impl_.recreate_strategy_));
3198}
3199
3200::google::protobuf::Metadata RuinRecreateParameters::GetMetadata() const {
3201 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3202}
3203// ===================================================================
3204
3205class PerturbationStrategy::_Internal {
3206 public:
3207};
3209PerturbationStrategy::PerturbationStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3210#if defined(PROTOBUF_CUSTOM_VTABLE)
3211 : ::google::protobuf::internal::ZeroFieldsBase(arena, PerturbationStrategy_class_data_.base()) {
3212#else // PROTOBUF_CUSTOM_VTABLE
3213 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3214#endif // PROTOBUF_CUSTOM_VTABLE
3215 // @@protoc_insertion_point(arena_constructor:operations_research.PerturbationStrategy)
3216}
3218 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3219 const PerturbationStrategy& from)
3220#if defined(PROTOBUF_CUSTOM_VTABLE)
3221 : ::google::protobuf::internal::ZeroFieldsBase(arena, PerturbationStrategy_class_data_.base()) {
3222#else // PROTOBUF_CUSTOM_VTABLE
3223 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3224#endif // PROTOBUF_CUSTOM_VTABLE
3225 PerturbationStrategy* const _this = this;
3226 (void)_this;
3227 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3228 from._internal_metadata_);
3229
3230 // @@protoc_insertion_point(copy_constructor:operations_research.PerturbationStrategy)
3231}
3232
3233inline void* PROTOBUF_NONNULL PerturbationStrategy::PlacementNew_(
3234 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3235 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3236 return ::new (mem) PerturbationStrategy(arena);
3237}
3238constexpr auto PerturbationStrategy::InternalNewImpl_() {
3239 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerturbationStrategy),
3240 alignof(PerturbationStrategy));
3241}
3243 return ::google::protobuf::internal::ClassDataFull{
3244 ::google::protobuf::internal::ClassData{
3246 &_table_.header,
3247 nullptr, // OnDemandRegisterArenaDtor
3248 nullptr, // IsInitialized
3249 &PerturbationStrategy::MergeImpl,
3250 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<PerturbationStrategy>(),
3251#if defined(PROTOBUF_CUSTOM_VTABLE)
3252 &PerturbationStrategy::SharedDtor,
3253 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<PerturbationStrategy>(), &PerturbationStrategy::ByteSizeLong,
3254 &PerturbationStrategy::_InternalSerialize,
3255#endif // PROTOBUF_CUSTOM_VTABLE
3256 PROTOBUF_FIELD_OFFSET(PerturbationStrategy, _impl_._cached_size_),
3257 false,
3258 },
3259 &PerturbationStrategy::kDescriptorMethods,
3261 nullptr, // tracker
3262 };
3263}
3264
3265PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3266 ::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_ =
3268
3269PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3270PerturbationStrategy::GetClassData() const {
3271 ::google::protobuf::internal::PrefetchToLocalCache(&PerturbationStrategy_class_data_);
3272 ::google::protobuf::internal::PrefetchToLocalCache(PerturbationStrategy_class_data_.tc_table);
3274}
3275PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3276const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3277PerturbationStrategy::_table_ = {
3278 {
3279 0, // no _has_bits_
3280 0, // no _extensions_
3281 0, 0, // max_field_number, fast_idx_mask
3282 offsetof(decltype(_table_), field_lookup_table),
3283 4294967295, // skipmap
3284 offsetof(decltype(_table_), field_names), // no field_entries
3285 0, // num_field_entries
3286 0, // num_aux_entries
3287 offsetof(decltype(_table_), field_names), // no aux_entries
3289 nullptr, // post_loop_handler
3290 ::_pbi::TcParser::GenericFallback, // fallback
3291 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3292 ::_pbi::TcParser::GetTable<::operations_research::PerturbationStrategy>(), // to_prefetch
3293 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3294 }, {{
3295 {::_pbi::TcParser::MiniParse, {}},
3296 }}, {{
3297 65535, 65535
3298 }}, // no field_entries, or aux_entries
3299 {{
3300 }},
3301};
3302
3303
3304
3305
3306
3307
3308
3309::google::protobuf::Metadata PerturbationStrategy::GetMetadata() const {
3310 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3311}
3312// ===================================================================
3313
3314class CoolingScheduleStrategy::_Internal {
3315 public:
3316};
3317
3318CoolingScheduleStrategy::CoolingScheduleStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3319#if defined(PROTOBUF_CUSTOM_VTABLE)
3320 : ::google::protobuf::internal::ZeroFieldsBase(arena, CoolingScheduleStrategy_class_data_.base()) {
3321#else // PROTOBUF_CUSTOM_VTABLE
3322 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3323#endif // PROTOBUF_CUSTOM_VTABLE
3324 // @@protoc_insertion_point(arena_constructor:operations_research.CoolingScheduleStrategy)
3325}
3327 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3328 const CoolingScheduleStrategy& from)
3329#if defined(PROTOBUF_CUSTOM_VTABLE)
3330 : ::google::protobuf::internal::ZeroFieldsBase(arena, CoolingScheduleStrategy_class_data_.base()) {
3331#else // PROTOBUF_CUSTOM_VTABLE
3332 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3333#endif // PROTOBUF_CUSTOM_VTABLE
3334 CoolingScheduleStrategy* const _this = this;
3335 (void)_this;
3336 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3337 from._internal_metadata_);
3338
3339 // @@protoc_insertion_point(copy_constructor:operations_research.CoolingScheduleStrategy)
3340}
3341
3342inline void* PROTOBUF_NONNULL CoolingScheduleStrategy::PlacementNew_(
3343 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3344 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3345 return ::new (mem) CoolingScheduleStrategy(arena);
3346}
3347constexpr auto CoolingScheduleStrategy::InternalNewImpl_() {
3348 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CoolingScheduleStrategy),
3349 alignof(CoolingScheduleStrategy));
3350}
3352 return ::google::protobuf::internal::ClassDataFull{
3353 ::google::protobuf::internal::ClassData{
3355 &_table_.header,
3356 nullptr, // OnDemandRegisterArenaDtor
3357 nullptr, // IsInitialized
3358 &CoolingScheduleStrategy::MergeImpl,
3359 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<CoolingScheduleStrategy>(),
3360#if defined(PROTOBUF_CUSTOM_VTABLE)
3361 &CoolingScheduleStrategy::SharedDtor,
3362 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<CoolingScheduleStrategy>(), &CoolingScheduleStrategy::ByteSizeLong,
3363 &CoolingScheduleStrategy::_InternalSerialize,
3364#endif // PROTOBUF_CUSTOM_VTABLE
3365 PROTOBUF_FIELD_OFFSET(CoolingScheduleStrategy, _impl_._cached_size_),
3366 false,
3367 },
3368 &CoolingScheduleStrategy::kDescriptorMethods,
3370 nullptr, // tracker
3371 };
3372}
3373
3374PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3375 ::google::protobuf::internal::ClassDataFull CoolingScheduleStrategy_class_data_ =
3377
3378PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3379CoolingScheduleStrategy::GetClassData() const {
3380 ::google::protobuf::internal::PrefetchToLocalCache(&CoolingScheduleStrategy_class_data_);
3381 ::google::protobuf::internal::PrefetchToLocalCache(CoolingScheduleStrategy_class_data_.tc_table);
3383}
3384PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3385const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3386CoolingScheduleStrategy::_table_ = {
3387 {
3388 0, // no _has_bits_
3389 0, // no _extensions_
3390 0, 0, // max_field_number, fast_idx_mask
3391 offsetof(decltype(_table_), field_lookup_table),
3392 4294967295, // skipmap
3393 offsetof(decltype(_table_), field_names), // no field_entries
3394 0, // num_field_entries
3395 0, // num_aux_entries
3396 offsetof(decltype(_table_), field_names), // no aux_entries
3398 nullptr, // post_loop_handler
3399 ::_pbi::TcParser::GenericFallback, // fallback
3400 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3401 ::_pbi::TcParser::GetTable<::operations_research::CoolingScheduleStrategy>(), // to_prefetch
3402 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3403 }, {{
3404 {::_pbi::TcParser::MiniParse, {}},
3405 }}, {{
3406 65535, 65535
3407 }}, // no field_entries, or aux_entries
3408 {{
3409 }},
3410};
3411
3412
3413
3414
3415
3416
3417
3418::google::protobuf::Metadata CoolingScheduleStrategy::GetMetadata() const {
3419 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3420}
3421// ===================================================================
3422
3423class GreedyDescentAcceptanceStrategy::_Internal {
3424 public:
3425};
3426
3427GreedyDescentAcceptanceStrategy::GreedyDescentAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3428#if defined(PROTOBUF_CUSTOM_VTABLE)
3429 : ::google::protobuf::internal::ZeroFieldsBase(arena, GreedyDescentAcceptanceStrategy_class_data_.base()) {
3430#else // PROTOBUF_CUSTOM_VTABLE
3431 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3432#endif // PROTOBUF_CUSTOM_VTABLE
3433 // @@protoc_insertion_point(arena_constructor:operations_research.GreedyDescentAcceptanceStrategy)
3436 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3438#if defined(PROTOBUF_CUSTOM_VTABLE)
3439 : ::google::protobuf::internal::ZeroFieldsBase(arena, GreedyDescentAcceptanceStrategy_class_data_.base()) {
3440#else // PROTOBUF_CUSTOM_VTABLE
3441 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3442#endif // PROTOBUF_CUSTOM_VTABLE
3443 GreedyDescentAcceptanceStrategy* const _this = this;
3444 (void)_this;
3445 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3446 from._internal_metadata_);
3447
3448 // @@protoc_insertion_point(copy_constructor:operations_research.GreedyDescentAcceptanceStrategy)
3449}
3450
3451inline void* PROTOBUF_NONNULL GreedyDescentAcceptanceStrategy::PlacementNew_(
3452 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3453 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3454 return ::new (mem) GreedyDescentAcceptanceStrategy(arena);
3455}
3456constexpr auto GreedyDescentAcceptanceStrategy::InternalNewImpl_() {
3457 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(GreedyDescentAcceptanceStrategy),
3458 alignof(GreedyDescentAcceptanceStrategy));
3459}
3461 return ::google::protobuf::internal::ClassDataFull{
3462 ::google::protobuf::internal::ClassData{
3464 &_table_.header,
3465 nullptr, // OnDemandRegisterArenaDtor
3466 nullptr, // IsInitialized
3467 &GreedyDescentAcceptanceStrategy::MergeImpl,
3468 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<GreedyDescentAcceptanceStrategy>(),
3469#if defined(PROTOBUF_CUSTOM_VTABLE)
3470 &GreedyDescentAcceptanceStrategy::SharedDtor,
3471 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<GreedyDescentAcceptanceStrategy>(), &GreedyDescentAcceptanceStrategy::ByteSizeLong,
3472 &GreedyDescentAcceptanceStrategy::_InternalSerialize,
3473#endif // PROTOBUF_CUSTOM_VTABLE
3474 PROTOBUF_FIELD_OFFSET(GreedyDescentAcceptanceStrategy, _impl_._cached_size_),
3475 false,
3476 },
3477 &GreedyDescentAcceptanceStrategy::kDescriptorMethods,
3479 nullptr, // tracker
3480 };
3481}
3482
3483PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3484 ::google::protobuf::internal::ClassDataFull GreedyDescentAcceptanceStrategy_class_data_ =
3486
3487PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3488GreedyDescentAcceptanceStrategy::GetClassData() const {
3489 ::google::protobuf::internal::PrefetchToLocalCache(&GreedyDescentAcceptanceStrategy_class_data_);
3490 ::google::protobuf::internal::PrefetchToLocalCache(GreedyDescentAcceptanceStrategy_class_data_.tc_table);
3492}
3493PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3494const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3495GreedyDescentAcceptanceStrategy::_table_ = {
3496 {
3497 0, // no _has_bits_
3498 0, // no _extensions_
3499 0, 0, // max_field_number, fast_idx_mask
3500 offsetof(decltype(_table_), field_lookup_table),
3501 4294967295, // skipmap
3502 offsetof(decltype(_table_), field_names), // no field_entries
3503 0, // num_field_entries
3504 0, // num_aux_entries
3505 offsetof(decltype(_table_), field_names), // no aux_entries
3507 nullptr, // post_loop_handler
3508 ::_pbi::TcParser::GenericFallback, // fallback
3509 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3510 ::_pbi::TcParser::GetTable<::operations_research::GreedyDescentAcceptanceStrategy>(), // to_prefetch
3511 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3512 }, {{
3513 {::_pbi::TcParser::MiniParse, {}},
3514 }}, {{
3515 65535, 65535
3516 }}, // no field_entries, or aux_entries
3517 {{
3518 }},
3519};
3520
3521
3522
3523
3524
3525
3526
3527::google::protobuf::Metadata GreedyDescentAcceptanceStrategy::GetMetadata() const {
3528 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3529}
3530// ===================================================================
3531
3532class SimulatedAnnealingAcceptanceStrategy::_Internal {
3533 public:
3534 using HasBits =
3535 decltype(::std::declval<SimulatedAnnealingAcceptanceStrategy>()._impl_._has_bits_);
3536 static constexpr ::int32_t kHasBitsOffset =
3537 8 * PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_._has_bits_);
3539
3540SimulatedAnnealingAcceptanceStrategy::SimulatedAnnealingAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3541#if defined(PROTOBUF_CUSTOM_VTABLE)
3542 : ::google::protobuf::Message(arena, SimulatedAnnealingAcceptanceStrategy_class_data_.base()) {
3543#else // PROTOBUF_CUSTOM_VTABLE
3544 : ::google::protobuf::Message(arena) {
3545#endif // PROTOBUF_CUSTOM_VTABLE
3546 SharedCtor(arena);
3547 // @@protoc_insertion_point(arena_constructor:operations_research.SimulatedAnnealingAcceptanceStrategy)
3550 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SimulatedAnnealingAcceptanceStrategy& from)
3551#if defined(PROTOBUF_CUSTOM_VTABLE)
3552 : ::google::protobuf::Message(arena, SimulatedAnnealingAcceptanceStrategy_class_data_.base()),
3553#else // PROTOBUF_CUSTOM_VTABLE
3554 : ::google::protobuf::Message(arena),
3555#endif // PROTOBUF_CUSTOM_VTABLE
3556 _impl_(from._impl_) {
3557 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3558 from._internal_metadata_);
3559}
3560PROTOBUF_NDEBUG_INLINE SimulatedAnnealingAcceptanceStrategy::Impl_::Impl_(
3561 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3562 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3563 : _cached_size_{0} {}
3564
3565inline void SimulatedAnnealingAcceptanceStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3566 new (&_impl_) Impl_(internal_visibility(), arena);
3567 ::memset(reinterpret_cast<char*>(&_impl_) +
3568 offsetof(Impl_, initial_temperature_),
3569 0,
3570 offsetof(Impl_, final_temperature_) -
3571 offsetof(Impl_, initial_temperature_) +
3572 sizeof(Impl_::final_temperature_));
3573}
3575 // @@protoc_insertion_point(destructor:operations_research.SimulatedAnnealingAcceptanceStrategy)
3576 SharedDtor(*this);
3577}
3578inline void SimulatedAnnealingAcceptanceStrategy::SharedDtor(MessageLite& self) {
3580 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3581 this_.CheckHasBitConsistency();
3582 }
3583 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3584 ABSL_DCHECK(this_.GetArena() == nullptr);
3585 this_._impl_.~Impl_();
3587
3588inline void* PROTOBUF_NONNULL SimulatedAnnealingAcceptanceStrategy::PlacementNew_(
3589 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3590 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3591 return ::new (mem) SimulatedAnnealingAcceptanceStrategy(arena);
3592}
3593constexpr auto SimulatedAnnealingAcceptanceStrategy::InternalNewImpl_() {
3594 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SimulatedAnnealingAcceptanceStrategy),
3596}
3598 return ::google::protobuf::internal::ClassDataFull{
3599 ::google::protobuf::internal::ClassData{
3601 &_table_.header,
3602 nullptr, // OnDemandRegisterArenaDtor
3603 nullptr, // IsInitialized
3604 &SimulatedAnnealingAcceptanceStrategy::MergeImpl,
3605 ::google::protobuf::Message::GetNewImpl<SimulatedAnnealingAcceptanceStrategy>(),
3606#if defined(PROTOBUF_CUSTOM_VTABLE)
3607 &SimulatedAnnealingAcceptanceStrategy::SharedDtor,
3608 ::google::protobuf::Message::GetClearImpl<SimulatedAnnealingAcceptanceStrategy>(), &SimulatedAnnealingAcceptanceStrategy::ByteSizeLong,
3610#endif // PROTOBUF_CUSTOM_VTABLE
3611 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_._cached_size_),
3612 false,
3613 },
3614 &SimulatedAnnealingAcceptanceStrategy::kDescriptorMethods,
3616 nullptr, // tracker
3617 };
3618}
3619
3620PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3621 ::google::protobuf::internal::ClassDataFull SimulatedAnnealingAcceptanceStrategy_class_data_ =
3623
3624PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3625SimulatedAnnealingAcceptanceStrategy::GetClassData() const {
3626 ::google::protobuf::internal::PrefetchToLocalCache(&SimulatedAnnealingAcceptanceStrategy_class_data_);
3627 ::google::protobuf::internal::PrefetchToLocalCache(SimulatedAnnealingAcceptanceStrategy_class_data_.tc_table);
3629}
3630PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3631const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
3632SimulatedAnnealingAcceptanceStrategy::_table_ = {
3634 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_._has_bits_),
3635 0, // no _extensions_
3636 4, 24, // max_field_number, fast_idx_mask
3637 offsetof(decltype(_table_), field_lookup_table),
3638 4294967280, // skipmap
3639 offsetof(decltype(_table_), field_entries),
3640 4, // num_field_entries
3641 0, // num_aux_entries
3642 offsetof(decltype(_table_), field_names), // no aux_entries
3644 nullptr, // post_loop_handler
3645 ::_pbi::TcParser::GenericFallback, // fallback
3646 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3647 ::_pbi::TcParser::GetTable<::operations_research::SimulatedAnnealingAcceptanceStrategy>(), // to_prefetch
3648 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3649 }, {{
3650 // optional bool automatic_temperatures = 4;
3651 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SimulatedAnnealingAcceptanceStrategy, _impl_.automatic_temperatures_), 2>(),
3652 {32, 2, 0,
3653 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.automatic_temperatures_)}},
3654 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
3655 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SimulatedAnnealingAcceptanceStrategy, _impl_.cooling_schedule_strategy_), 1>(),
3656 {8, 1, 0,
3657 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.cooling_schedule_strategy_)}},
3658 // optional double initial_temperature = 2;
3659 {::_pbi::TcParser::FastF64S1,
3660 {17, 0, 0,
3661 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.initial_temperature_)}},
3662 // optional double final_temperature = 3;
3663 {::_pbi::TcParser::FastF64S1,
3664 {25, 3, 0,
3665 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.final_temperature_)}},
3666 }}, {{
3667 65535, 65535
3668 }}, {{
3669 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
3670 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.cooling_schedule_strategy_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
3671 // optional double initial_temperature = 2;
3672 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.initial_temperature_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
3673 // optional double final_temperature = 3;
3674 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.final_temperature_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
3675 // optional bool automatic_temperatures = 4;
3676 {PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.automatic_temperatures_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
3677 }},
3678 // no aux_entries
3679 {{
3680 }},
3681};
3682PROTOBUF_NOINLINE void SimulatedAnnealingAcceptanceStrategy::Clear() {
3683// @@protoc_insertion_point(message_clear_start:operations_research.SimulatedAnnealingAcceptanceStrategy)
3684 ::google::protobuf::internal::TSanWrite(&_impl_);
3685 ::uint32_t cached_has_bits = 0;
3686 // Prevent compiler warnings about cached_has_bits being unused
3687 (void) cached_has_bits;
3688
3689 cached_has_bits = _impl_._has_bits_[0];
3690 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
3691 ::memset(&_impl_.initial_temperature_, 0, static_cast<::size_t>(
3692 reinterpret_cast<char*>(&_impl_.final_temperature_) -
3693 reinterpret_cast<char*>(&_impl_.initial_temperature_)) + sizeof(_impl_.final_temperature_));
3695 _impl_._has_bits_.Clear();
3696 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3697}
3698
3699#if defined(PROTOBUF_CUSTOM_VTABLE)
3701 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3702 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3703 const SimulatedAnnealingAcceptanceStrategy& this_ = static_cast<const SimulatedAnnealingAcceptanceStrategy&>(base);
3704#else // PROTOBUF_CUSTOM_VTABLE
3706 ::uint8_t* PROTOBUF_NONNULL target,
3707 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3708 const SimulatedAnnealingAcceptanceStrategy& this_ = *this;
3709#endif // PROTOBUF_CUSTOM_VTABLE
3710 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3711 this_.CheckHasBitConsistency();
3712 }
3713 // @@protoc_insertion_point(serialize_to_array_start:operations_research.SimulatedAnnealingAcceptanceStrategy)
3714 ::uint32_t cached_has_bits = 0;
3715 (void)cached_has_bits;
3716
3717 cached_has_bits = this_._impl_._has_bits_[0];
3718 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
3719 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3720 if (this_._internal_cooling_schedule_strategy() != 0) {
3721 target = stream->EnsureSpace(target);
3722 target = ::_pbi::WireFormatLite::WriteEnumToArray(
3723 1, this_._internal_cooling_schedule_strategy(), target);
3724 }
3725 }
3726
3727 // optional double initial_temperature = 2;
3728 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3729 target = stream->EnsureSpace(target);
3730 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3731 2, this_._internal_initial_temperature(), target);
3732 }
3733
3734 // optional double final_temperature = 3;
3735 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3736 target = stream->EnsureSpace(target);
3737 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
3738 3, this_._internal_final_temperature(), target);
3739 }
3740
3741 // optional bool automatic_temperatures = 4;
3742 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3743 target = stream->EnsureSpace(target);
3744 target = ::_pbi::WireFormatLite::WriteBoolToArray(
3745 4, this_._internal_automatic_temperatures(), target);
3746 }
3747
3748 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3749 target =
3750 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3751 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3752 }
3753 // @@protoc_insertion_point(serialize_to_array_end:operations_research.SimulatedAnnealingAcceptanceStrategy)
3754 return target;
3755}
3756
3757#if defined(PROTOBUF_CUSTOM_VTABLE)
3759 const SimulatedAnnealingAcceptanceStrategy& this_ = static_cast<const SimulatedAnnealingAcceptanceStrategy&>(base);
3760#else // PROTOBUF_CUSTOM_VTABLE
3762 const SimulatedAnnealingAcceptanceStrategy& this_ = *this;
3763#endif // PROTOBUF_CUSTOM_VTABLE
3764 // @@protoc_insertion_point(message_byte_size_start:operations_research.SimulatedAnnealingAcceptanceStrategy)
3765 ::size_t total_size = 0;
3766
3767 ::uint32_t cached_has_bits = 0;
3768 // Prevent compiler warnings about cached_has_bits being unused
3769 (void)cached_has_bits;
3770
3771 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3772 cached_has_bits = this_._impl_._has_bits_[0];
3773 total_size += ::absl::popcount(0x00000009U & cached_has_bits) * 9;
3774 total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 2;
3775 {
3776 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
3777 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3778 if (this_._internal_cooling_schedule_strategy() != 0) {
3779 total_size += 1 +
3780 ::_pbi::WireFormatLite::EnumSize(this_._internal_cooling_schedule_strategy());
3781 }
3782 }
3783 }
3784 return this_.MaybeComputeUnknownFieldsSize(total_size,
3785 &this_._impl_._cached_size_);
3786}
3787
3788void SimulatedAnnealingAcceptanceStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
3789 const ::google::protobuf::MessageLite& from_msg) {
3790 auto* const _this =
3791 static_cast<SimulatedAnnealingAcceptanceStrategy*>(&to_msg);
3792 auto& from = static_cast<const SimulatedAnnealingAcceptanceStrategy&>(from_msg);
3793 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3794 from.CheckHasBitConsistency();
3795 }
3796 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.SimulatedAnnealingAcceptanceStrategy)
3797 ABSL_DCHECK_NE(&from, _this);
3798 ::uint32_t cached_has_bits = 0;
3799 (void)cached_has_bits;
3800
3801 cached_has_bits = from._impl_._has_bits_[0];
3802 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
3803 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3804 _this->_impl_.initial_temperature_ = from._impl_.initial_temperature_;
3805 }
3806 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3807 if (from._internal_cooling_schedule_strategy() != 0) {
3808 _this->_impl_.cooling_schedule_strategy_ = from._impl_.cooling_schedule_strategy_;
3809 }
3810 }
3811 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3812 _this->_impl_.automatic_temperatures_ = from._impl_.automatic_temperatures_;
3813 }
3814 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3815 _this->_impl_.final_temperature_ = from._impl_.final_temperature_;
3816 }
3817 }
3818 _this->_impl_._has_bits_[0] |= cached_has_bits;
3819 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3820 from._internal_metadata_);
3821}
3822
3824 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.SimulatedAnnealingAcceptanceStrategy)
3825 if (&from == this) return;
3826 Clear();
3827 MergeFrom(from);
3828}
3829
3830
3831void SimulatedAnnealingAcceptanceStrategy::InternalSwap(SimulatedAnnealingAcceptanceStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3832 using ::std::swap;
3833 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3834 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3835 ::google::protobuf::internal::memswap<
3836 PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.final_temperature_)
3837 + sizeof(SimulatedAnnealingAcceptanceStrategy::_impl_.final_temperature_)
3838 - PROTOBUF_FIELD_OFFSET(SimulatedAnnealingAcceptanceStrategy, _impl_.initial_temperature_)>(
3839 reinterpret_cast<char*>(&_impl_.initial_temperature_),
3840 reinterpret_cast<char*>(&other->_impl_.initial_temperature_));
3841}
3842
3843::google::protobuf::Metadata SimulatedAnnealingAcceptanceStrategy::GetMetadata() const {
3844 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3845}
3846// ===================================================================
3847
3848class AllNodesPerformedAcceptanceStrategy::_Internal {
3849 public:
3850};
3851
3852AllNodesPerformedAcceptanceStrategy::AllNodesPerformedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3853#if defined(PROTOBUF_CUSTOM_VTABLE)
3854 : ::google::protobuf::internal::ZeroFieldsBase(arena, AllNodesPerformedAcceptanceStrategy_class_data_.base()) {
3855#else // PROTOBUF_CUSTOM_VTABLE
3856 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3857#endif // PROTOBUF_CUSTOM_VTABLE
3858 // @@protoc_insertion_point(arena_constructor:operations_research.AllNodesPerformedAcceptanceStrategy)
3859}
3861 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3863#if defined(PROTOBUF_CUSTOM_VTABLE)
3864 : ::google::protobuf::internal::ZeroFieldsBase(arena, AllNodesPerformedAcceptanceStrategy_class_data_.base()) {
3865#else // PROTOBUF_CUSTOM_VTABLE
3866 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3867#endif // PROTOBUF_CUSTOM_VTABLE
3868 AllNodesPerformedAcceptanceStrategy* const _this = this;
3869 (void)_this;
3870 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3871 from._internal_metadata_);
3872
3873 // @@protoc_insertion_point(copy_constructor:operations_research.AllNodesPerformedAcceptanceStrategy)
3874}
3875
3876inline void* PROTOBUF_NONNULL AllNodesPerformedAcceptanceStrategy::PlacementNew_(
3877 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3878 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3879 return ::new (mem) AllNodesPerformedAcceptanceStrategy(arena);
3880}
3881constexpr auto AllNodesPerformedAcceptanceStrategy::InternalNewImpl_() {
3882 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AllNodesPerformedAcceptanceStrategy),
3884}
3886 return ::google::protobuf::internal::ClassDataFull{
3887 ::google::protobuf::internal::ClassData{
3889 &_table_.header,
3890 nullptr, // OnDemandRegisterArenaDtor
3891 nullptr, // IsInitialized
3892 &AllNodesPerformedAcceptanceStrategy::MergeImpl,
3893 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<AllNodesPerformedAcceptanceStrategy>(),
3894#if defined(PROTOBUF_CUSTOM_VTABLE)
3895 &AllNodesPerformedAcceptanceStrategy::SharedDtor,
3896 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<AllNodesPerformedAcceptanceStrategy>(), &AllNodesPerformedAcceptanceStrategy::ByteSizeLong,
3897 &AllNodesPerformedAcceptanceStrategy::_InternalSerialize,
3898#endif // PROTOBUF_CUSTOM_VTABLE
3899 PROTOBUF_FIELD_OFFSET(AllNodesPerformedAcceptanceStrategy, _impl_._cached_size_),
3900 false,
3901 },
3902 &AllNodesPerformedAcceptanceStrategy::kDescriptorMethods,
3904 nullptr, // tracker
3905 };
3906}
3907
3908PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3909 ::google::protobuf::internal::ClassDataFull AllNodesPerformedAcceptanceStrategy_class_data_ =
3911
3912PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3913AllNodesPerformedAcceptanceStrategy::GetClassData() const {
3914 ::google::protobuf::internal::PrefetchToLocalCache(&AllNodesPerformedAcceptanceStrategy_class_data_);
3915 ::google::protobuf::internal::PrefetchToLocalCache(AllNodesPerformedAcceptanceStrategy_class_data_.tc_table);
3917}
3918PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3919const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
3920AllNodesPerformedAcceptanceStrategy::_table_ = {
3921 {
3922 0, // no _has_bits_
3923 0, // no _extensions_
3924 0, 0, // max_field_number, fast_idx_mask
3925 offsetof(decltype(_table_), field_lookup_table),
3926 4294967295, // skipmap
3927 offsetof(decltype(_table_), field_names), // no field_entries
3928 0, // num_field_entries
3929 0, // num_aux_entries
3930 offsetof(decltype(_table_), field_names), // no aux_entries
3932 nullptr, // post_loop_handler
3933 ::_pbi::TcParser::GenericFallback, // fallback
3934 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3935 ::_pbi::TcParser::GetTable<::operations_research::AllNodesPerformedAcceptanceStrategy>(), // to_prefetch
3936 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3937 }, {{
3938 {::_pbi::TcParser::MiniParse, {}},
3939 }}, {{
3940 65535, 65535
3941 }}, // no field_entries, or aux_entries
3942 {{
3943 }},
3944};
3945
3946
3947
3948
3949
3950
3951
3952::google::protobuf::Metadata AllNodesPerformedAcceptanceStrategy::GetMetadata() const {
3953 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
3954}
3955// ===================================================================
3956
3957class MoreNodesPerformedAcceptanceStrategy::_Internal {
3958 public:
3959};
3960
3961MoreNodesPerformedAcceptanceStrategy::MoreNodesPerformedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3962#if defined(PROTOBUF_CUSTOM_VTABLE)
3963 : ::google::protobuf::internal::ZeroFieldsBase(arena, MoreNodesPerformedAcceptanceStrategy_class_data_.base()) {
3964#else // PROTOBUF_CUSTOM_VTABLE
3965 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3966#endif // PROTOBUF_CUSTOM_VTABLE
3967 // @@protoc_insertion_point(arena_constructor:operations_research.MoreNodesPerformedAcceptanceStrategy)
3968}
3970 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3972#if defined(PROTOBUF_CUSTOM_VTABLE)
3973 : ::google::protobuf::internal::ZeroFieldsBase(arena, MoreNodesPerformedAcceptanceStrategy_class_data_.base()) {
3974#else // PROTOBUF_CUSTOM_VTABLE
3975 : ::google::protobuf::internal::ZeroFieldsBase(arena) {
3976#endif // PROTOBUF_CUSTOM_VTABLE
3977 MoreNodesPerformedAcceptanceStrategy* const _this = this;
3978 (void)_this;
3979 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3980 from._internal_metadata_);
3981
3982 // @@protoc_insertion_point(copy_constructor:operations_research.MoreNodesPerformedAcceptanceStrategy)
3983}
3984
3985inline void* PROTOBUF_NONNULL MoreNodesPerformedAcceptanceStrategy::PlacementNew_(
3986 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3987 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3988 return ::new (mem) MoreNodesPerformedAcceptanceStrategy(arena);
3989}
3990constexpr auto MoreNodesPerformedAcceptanceStrategy::InternalNewImpl_() {
3991 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(MoreNodesPerformedAcceptanceStrategy),
3993}
3995 return ::google::protobuf::internal::ClassDataFull{
3996 ::google::protobuf::internal::ClassData{
3998 &_table_.header,
3999 nullptr, // OnDemandRegisterArenaDtor
4000 nullptr, // IsInitialized
4001 &MoreNodesPerformedAcceptanceStrategy::MergeImpl,
4002 ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl<MoreNodesPerformedAcceptanceStrategy>(),
4003#if defined(PROTOBUF_CUSTOM_VTABLE)
4004 &MoreNodesPerformedAcceptanceStrategy::SharedDtor,
4005 ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl<MoreNodesPerformedAcceptanceStrategy>(), &MoreNodesPerformedAcceptanceStrategy::ByteSizeLong,
4006 &MoreNodesPerformedAcceptanceStrategy::_InternalSerialize,
4007#endif // PROTOBUF_CUSTOM_VTABLE
4008 PROTOBUF_FIELD_OFFSET(MoreNodesPerformedAcceptanceStrategy, _impl_._cached_size_),
4009 false,
4010 },
4011 &MoreNodesPerformedAcceptanceStrategy::kDescriptorMethods,
4013 nullptr, // tracker
4014 };
4015}
4016
4017PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4018 ::google::protobuf::internal::ClassDataFull MoreNodesPerformedAcceptanceStrategy_class_data_ =
4020
4021PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4022MoreNodesPerformedAcceptanceStrategy::GetClassData() const {
4023 ::google::protobuf::internal::PrefetchToLocalCache(&MoreNodesPerformedAcceptanceStrategy_class_data_);
4024 ::google::protobuf::internal::PrefetchToLocalCache(MoreNodesPerformedAcceptanceStrategy_class_data_.tc_table);
4026}
4027PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4028const ::_pbi::TcParseTable<0, 0, 0, 0, 2>
4029MoreNodesPerformedAcceptanceStrategy::_table_ = {
4030 {
4031 0, // no _has_bits_
4032 0, // no _extensions_
4033 0, 0, // max_field_number, fast_idx_mask
4034 offsetof(decltype(_table_), field_lookup_table),
4035 4294967295, // skipmap
4036 offsetof(decltype(_table_), field_names), // no field_entries
4037 0, // num_field_entries
4038 0, // num_aux_entries
4039 offsetof(decltype(_table_), field_names), // no aux_entries
4041 nullptr, // post_loop_handler
4042 ::_pbi::TcParser::GenericFallback, // fallback
4043 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4044 ::_pbi::TcParser::GetTable<::operations_research::MoreNodesPerformedAcceptanceStrategy>(), // to_prefetch
4045 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
4046 }, {{
4047 {::_pbi::TcParser::MiniParse, {}},
4048 }}, {{
4049 65535, 65535
4050 }}, // no field_entries, or aux_entries
4051 {{
4052 }},
4053};
4054
4055
4056
4057
4058
4059
4060
4061::google::protobuf::Metadata MoreNodesPerformedAcceptanceStrategy::GetMetadata() const {
4062 return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full());
4063}
4064// ===================================================================
4065
4066class AbsencesBasedAcceptanceStrategy::_Internal {
4067 public:
4068 using HasBits =
4069 decltype(::std::declval<AbsencesBasedAcceptanceStrategy>()._impl_._has_bits_);
4070 static constexpr ::int32_t kHasBitsOffset =
4071 8 * PROTOBUF_FIELD_OFFSET(AbsencesBasedAcceptanceStrategy, _impl_._has_bits_);
4072};
4073
4074AbsencesBasedAcceptanceStrategy::AbsencesBasedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4075#if defined(PROTOBUF_CUSTOM_VTABLE)
4076 : ::google::protobuf::Message(arena, AbsencesBasedAcceptanceStrategy_class_data_.base()) {
4077#else // PROTOBUF_CUSTOM_VTABLE
4078 : ::google::protobuf::Message(arena) {
4079#endif // PROTOBUF_CUSTOM_VTABLE
4080 SharedCtor(arena);
4081 // @@protoc_insertion_point(arena_constructor:operations_research.AbsencesBasedAcceptanceStrategy)
4082}
4084 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AbsencesBasedAcceptanceStrategy& from)
4085#if defined(PROTOBUF_CUSTOM_VTABLE)
4086 : ::google::protobuf::Message(arena, AbsencesBasedAcceptanceStrategy_class_data_.base()),
4087#else // PROTOBUF_CUSTOM_VTABLE
4088 : ::google::protobuf::Message(arena),
4089#endif // PROTOBUF_CUSTOM_VTABLE
4090 _impl_(from._impl_) {
4091 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4092 from._internal_metadata_);
4093}
4094PROTOBUF_NDEBUG_INLINE AbsencesBasedAcceptanceStrategy::Impl_::Impl_(
4095 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4096 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4097 : _cached_size_{0} {}
4098
4099inline void AbsencesBasedAcceptanceStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4100 new (&_impl_) Impl_(internal_visibility(), arena);
4101 _impl_.remove_route_with_lowest_absences_ = {};
4102}
4104 // @@protoc_insertion_point(destructor:operations_research.AbsencesBasedAcceptanceStrategy)
4105 SharedDtor(*this);
4106}
4107inline void AbsencesBasedAcceptanceStrategy::SharedDtor(MessageLite& self) {
4109 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4110 this_.CheckHasBitConsistency();
4111 }
4112 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4113 ABSL_DCHECK(this_.GetArena() == nullptr);
4114 this_._impl_.~Impl_();
4115}
4116
4117inline void* PROTOBUF_NONNULL AbsencesBasedAcceptanceStrategy::PlacementNew_(
4118 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4119 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4120 return ::new (mem) AbsencesBasedAcceptanceStrategy(arena);
4121}
4122constexpr auto AbsencesBasedAcceptanceStrategy::InternalNewImpl_() {
4123 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AbsencesBasedAcceptanceStrategy),
4125}
4127 return ::google::protobuf::internal::ClassDataFull{
4128 ::google::protobuf::internal::ClassData{
4130 &_table_.header,
4131 nullptr, // OnDemandRegisterArenaDtor
4132 nullptr, // IsInitialized
4133 &AbsencesBasedAcceptanceStrategy::MergeImpl,
4134 ::google::protobuf::Message::GetNewImpl<AbsencesBasedAcceptanceStrategy>(),
4135#if defined(PROTOBUF_CUSTOM_VTABLE)
4136 &AbsencesBasedAcceptanceStrategy::SharedDtor,
4137 ::google::protobuf::Message::GetClearImpl<AbsencesBasedAcceptanceStrategy>(), &AbsencesBasedAcceptanceStrategy::ByteSizeLong,
4139#endif // PROTOBUF_CUSTOM_VTABLE
4140 PROTOBUF_FIELD_OFFSET(AbsencesBasedAcceptanceStrategy, _impl_._cached_size_),
4141 false,
4142 },
4143 &AbsencesBasedAcceptanceStrategy::kDescriptorMethods,
4145 nullptr, // tracker
4146 };
4147}
4148
4149PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4150 ::google::protobuf::internal::ClassDataFull AbsencesBasedAcceptanceStrategy_class_data_ =
4152
4153PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4154AbsencesBasedAcceptanceStrategy::GetClassData() const {
4155 ::google::protobuf::internal::PrefetchToLocalCache(&AbsencesBasedAcceptanceStrategy_class_data_);
4156 ::google::protobuf::internal::PrefetchToLocalCache(AbsencesBasedAcceptanceStrategy_class_data_.tc_table);
4158}
4159PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4160const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
4161AbsencesBasedAcceptanceStrategy::_table_ = {
4162 {
4163 PROTOBUF_FIELD_OFFSET(AbsencesBasedAcceptanceStrategy, _impl_._has_bits_),
4164 0, // no _extensions_
4165 1, 0, // max_field_number, fast_idx_mask
4166 offsetof(decltype(_table_), field_lookup_table),
4167 4294967294, // skipmap
4168 offsetof(decltype(_table_), field_entries),
4169 1, // num_field_entries
4170 0, // num_aux_entries
4171 offsetof(decltype(_table_), field_names), // no aux_entries
4173 nullptr, // post_loop_handler
4174 ::_pbi::TcParser::GenericFallback, // fallback
4175 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4176 ::_pbi::TcParser::GetTable<::operations_research::AbsencesBasedAcceptanceStrategy>(), // to_prefetch
4177 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
4178 }, {{
4179 // optional bool remove_route_with_lowest_absences = 1;
4180 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AbsencesBasedAcceptanceStrategy, _impl_.remove_route_with_lowest_absences_), 0>(),
4181 {8, 0, 0,
4182 PROTOBUF_FIELD_OFFSET(AbsencesBasedAcceptanceStrategy, _impl_.remove_route_with_lowest_absences_)}},
4183 }}, {{
4184 65535, 65535
4185 }}, {{
4186 // optional bool remove_route_with_lowest_absences = 1;
4187 {PROTOBUF_FIELD_OFFSET(AbsencesBasedAcceptanceStrategy, _impl_.remove_route_with_lowest_absences_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
4188 }},
4189 // no aux_entries
4190 {{
4191 }},
4192};
4193PROTOBUF_NOINLINE void AbsencesBasedAcceptanceStrategy::Clear() {
4194// @@protoc_insertion_point(message_clear_start:operations_research.AbsencesBasedAcceptanceStrategy)
4195 ::google::protobuf::internal::TSanWrite(&_impl_);
4196 ::uint32_t cached_has_bits = 0;
4197 // Prevent compiler warnings about cached_has_bits being unused
4198 (void) cached_has_bits;
4199
4200 _impl_.remove_route_with_lowest_absences_ = false;
4201 _impl_._has_bits_.Clear();
4202 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
4203}
4204
4205#if defined(PROTOBUF_CUSTOM_VTABLE)
4206::uint8_t* PROTOBUF_NONNULL AbsencesBasedAcceptanceStrategy::_InternalSerialize(
4207 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
4208 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
4209 const AbsencesBasedAcceptanceStrategy& this_ = static_cast<const AbsencesBasedAcceptanceStrategy&>(base);
4210#else // PROTOBUF_CUSTOM_VTABLE
4211::uint8_t* PROTOBUF_NONNULL AbsencesBasedAcceptanceStrategy::_InternalSerialize(
4212 ::uint8_t* PROTOBUF_NONNULL target,
4213 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4214 const AbsencesBasedAcceptanceStrategy& this_ = *this;
4215#endif // PROTOBUF_CUSTOM_VTABLE
4216 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4217 this_.CheckHasBitConsistency();
4218 }
4219 // @@protoc_insertion_point(serialize_to_array_start:operations_research.AbsencesBasedAcceptanceStrategy)
4220 ::uint32_t cached_has_bits = 0;
4221 (void)cached_has_bits;
4222
4223 cached_has_bits = this_._impl_._has_bits_[0];
4224 // optional bool remove_route_with_lowest_absences = 1;
4225 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4226 target = stream->EnsureSpace(target);
4227 target = ::_pbi::WireFormatLite::WriteBoolToArray(
4228 1, this_._internal_remove_route_with_lowest_absences(), target);
4229 }
4230
4231 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
4232 target =
4233 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
4234 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
4235 }
4236 // @@protoc_insertion_point(serialize_to_array_end:operations_research.AbsencesBasedAcceptanceStrategy)
4237 return target;
4238}
4239
4240#if defined(PROTOBUF_CUSTOM_VTABLE)
4242 const AbsencesBasedAcceptanceStrategy& this_ = static_cast<const AbsencesBasedAcceptanceStrategy&>(base);
4243#else // PROTOBUF_CUSTOM_VTABLE
4245 const AbsencesBasedAcceptanceStrategy& this_ = *this;
4246#endif // PROTOBUF_CUSTOM_VTABLE
4247 // @@protoc_insertion_point(message_byte_size_start:operations_research.AbsencesBasedAcceptanceStrategy)
4248 ::size_t total_size = 0;
4249
4250 ::uint32_t cached_has_bits = 0;
4251 // Prevent compiler warnings about cached_has_bits being unused
4252 (void)cached_has_bits;
4253
4254 cached_has_bits = this_._impl_._has_bits_[0];
4255 total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 2;
4256 return this_.MaybeComputeUnknownFieldsSize(total_size,
4257 &this_._impl_._cached_size_);
4258}
4260void AbsencesBasedAcceptanceStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
4261 const ::google::protobuf::MessageLite& from_msg) {
4262 auto* const _this =
4263 static_cast<AbsencesBasedAcceptanceStrategy*>(&to_msg);
4264 auto& from = static_cast<const AbsencesBasedAcceptanceStrategy&>(from_msg);
4265 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4266 from.CheckHasBitConsistency();
4267 }
4268 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.AbsencesBasedAcceptanceStrategy)
4269 ABSL_DCHECK_NE(&from, _this);
4270 ::uint32_t cached_has_bits = 0;
4271 (void)cached_has_bits;
4272
4273 cached_has_bits = from._impl_._has_bits_[0];
4274 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4275 _this->_impl_.remove_route_with_lowest_absences_ = from._impl_.remove_route_with_lowest_absences_;
4276 }
4277 _this->_impl_._has_bits_[0] |= cached_has_bits;
4278 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4279 from._internal_metadata_);
4280}
4281
4283 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.AbsencesBasedAcceptanceStrategy)
4284 if (&from == this) return;
4285 Clear();
4286 MergeFrom(from);
4287}
4288
4289
4290void AbsencesBasedAcceptanceStrategy::InternalSwap(AbsencesBasedAcceptanceStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
4291 using ::std::swap;
4292 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4293 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
4294 swap(_impl_.remove_route_with_lowest_absences_, other->_impl_.remove_route_with_lowest_absences_);
4295}
4296
4297::google::protobuf::Metadata AbsencesBasedAcceptanceStrategy::GetMetadata() const {
4298 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
4299}
4300// ===================================================================
4301
4303 public:
4304 static constexpr ::int32_t kOneofCaseOffset =
4305 PROTOBUF_FIELD_OFFSET(::operations_research::AcceptanceStrategy, _impl_._oneof_case_);
4306};
4307
4309 ::google::protobuf::Arena* message_arena = GetArena();
4310 clear_strategy();
4311 if (greedy_descent) {
4312 ::google::protobuf::Arena* submessage_arena = greedy_descent->GetArena();
4313 if (message_arena != submessage_arena) {
4314 greedy_descent = ::google::protobuf::internal::GetOwnedMessage(message_arena, greedy_descent, submessage_arena);
4315 }
4316 set_has_greedy_descent();
4317 _impl_.strategy_.greedy_descent_ = greedy_descent;
4319 // @@protoc_insertion_point(field_set_allocated:operations_research.AcceptanceStrategy.greedy_descent)
4322 ::google::protobuf::Arena* message_arena = GetArena();
4325 ::google::protobuf::Arena* submessage_arena = simulated_annealing->GetArena();
4326 if (message_arena != submessage_arena) {
4327 simulated_annealing = ::google::protobuf::internal::GetOwnedMessage(message_arena, simulated_annealing, submessage_arena);
4328 }
4329 set_has_simulated_annealing();
4330 _impl_.strategy_.simulated_annealing_ = simulated_annealing;
4331 }
4332 // @@protoc_insertion_point(field_set_allocated:operations_research.AcceptanceStrategy.simulated_annealing)
4333}
4335 ::google::protobuf::Arena* message_arena = GetArena();
4336 clear_strategy();
4338 ::google::protobuf::Arena* submessage_arena = all_nodes_performed->GetArena();
4339 if (message_arena != submessage_arena) {
4340 all_nodes_performed = ::google::protobuf::internal::GetOwnedMessage(message_arena, all_nodes_performed, submessage_arena);
4341 }
4342 set_has_all_nodes_performed();
4343 _impl_.strategy_.all_nodes_performed_ = all_nodes_performed;
4344 }
4345 // @@protoc_insertion_point(field_set_allocated:operations_research.AcceptanceStrategy.all_nodes_performed)
4346}
4348 ::google::protobuf::Arena* message_arena = GetArena();
4349 clear_strategy();
4351 ::google::protobuf::Arena* submessage_arena = more_nodes_performed->GetArena();
4352 if (message_arena != submessage_arena) {
4353 more_nodes_performed = ::google::protobuf::internal::GetOwnedMessage(message_arena, more_nodes_performed, submessage_arena);
4354 }
4355 set_has_more_nodes_performed();
4356 _impl_.strategy_.more_nodes_performed_ = more_nodes_performed;
4357 }
4358 // @@protoc_insertion_point(field_set_allocated:operations_research.AcceptanceStrategy.more_nodes_performed)
4359}
4361 ::google::protobuf::Arena* message_arena = GetArena();
4362 clear_strategy();
4364 ::google::protobuf::Arena* submessage_arena = absences_based->GetArena();
4365 if (message_arena != submessage_arena) {
4366 absences_based = ::google::protobuf::internal::GetOwnedMessage(message_arena, absences_based, submessage_arena);
4367 }
4368 set_has_absences_based();
4369 _impl_.strategy_.absences_based_ = absences_based;
4370 }
4371 // @@protoc_insertion_point(field_set_allocated:operations_research.AcceptanceStrategy.absences_based)
4372}
4373AcceptanceStrategy::AcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4374#if defined(PROTOBUF_CUSTOM_VTABLE)
4375 : ::google::protobuf::Message(arena, AcceptanceStrategy_class_data_.base()) {
4376#else // PROTOBUF_CUSTOM_VTABLE
4377 : ::google::protobuf::Message(arena) {
4378#endif // PROTOBUF_CUSTOM_VTABLE
4379 SharedCtor(arena);
4380 // @@protoc_insertion_point(arena_constructor:operations_research.AcceptanceStrategy)
4381}
4382PROTOBUF_NDEBUG_INLINE AcceptanceStrategy::Impl_::Impl_(
4383 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4384 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4385 [[maybe_unused]] const ::operations_research::AcceptanceStrategy& from_msg)
4386 : strategy_{},
4387 _cached_size_{0},
4388 _oneof_case_{from._oneof_case_[0]} {}
4389
4391 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4392 const AcceptanceStrategy& from)
4393#if defined(PROTOBUF_CUSTOM_VTABLE)
4394 : ::google::protobuf::Message(arena, AcceptanceStrategy_class_data_.base()) {
4395#else // PROTOBUF_CUSTOM_VTABLE
4396 : ::google::protobuf::Message(arena) {
4397#endif // PROTOBUF_CUSTOM_VTABLE
4398 AcceptanceStrategy* const _this = this;
4399 (void)_this;
4400 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4401 from._internal_metadata_);
4402 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
4403 switch (strategy_case()) {
4404 case STRATEGY_NOT_SET:
4405 break;
4406 case kGreedyDescent:
4407 _impl_.strategy_.greedy_descent_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.greedy_descent_);
4408 break;
4409 case kSimulatedAnnealing:
4410 _impl_.strategy_.simulated_annealing_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.simulated_annealing_);
4411 break;
4412 case kAllNodesPerformed:
4413 _impl_.strategy_.all_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.all_nodes_performed_);
4414 break;
4415 case kMoreNodesPerformed:
4416 _impl_.strategy_.more_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.more_nodes_performed_);
4417 break;
4418 case kAbsencesBased:
4419 _impl_.strategy_.absences_based_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.absences_based_);
4420 break;
4421 }
4422
4423 // @@protoc_insertion_point(copy_constructor:operations_research.AcceptanceStrategy)
4424}
4425PROTOBUF_NDEBUG_INLINE AcceptanceStrategy::Impl_::Impl_(
4426 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4427 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4428 : strategy_{},
4429 _cached_size_{0},
4430 _oneof_case_{} {}
4431
4432inline void AcceptanceStrategy::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4433 new (&_impl_) Impl_(internal_visibility(), arena);
4434}
4436 // @@protoc_insertion_point(destructor:operations_research.AcceptanceStrategy)
4437 SharedDtor(*this);
4438}
4439inline void AcceptanceStrategy::SharedDtor(MessageLite& self) {
4440 AcceptanceStrategy& this_ = static_cast<AcceptanceStrategy&>(self);
4441 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4442 this_.CheckHasBitConsistency();
4443 }
4444 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4445 ABSL_DCHECK(this_.GetArena() == nullptr);
4446 if (this_.has_strategy()) {
4447 this_.clear_strategy();
4448 }
4449 this_._impl_.~Impl_();
4450}
4453// @@protoc_insertion_point(one_of_clear_start:operations_research.AcceptanceStrategy)
4454 ::google::protobuf::internal::TSanWrite(&_impl_);
4455 switch (strategy_case()) {
4456 case kGreedyDescent: {
4457 if (GetArena() == nullptr) {
4458 delete _impl_.strategy_.greedy_descent_;
4459 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4460 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.greedy_descent_);
4461 }
4462 break;
4463 }
4464 case kSimulatedAnnealing: {
4465 if (GetArena() == nullptr) {
4466 delete _impl_.strategy_.simulated_annealing_;
4467 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4468 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.simulated_annealing_);
4469 }
4470 break;
4471 }
4472 case kAllNodesPerformed: {
4473 if (GetArena() == nullptr) {
4474 delete _impl_.strategy_.all_nodes_performed_;
4475 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4476 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.all_nodes_performed_);
4477 }
4478 break;
4479 }
4480 case kMoreNodesPerformed: {
4481 if (GetArena() == nullptr) {
4482 delete _impl_.strategy_.more_nodes_performed_;
4483 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4484 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.more_nodes_performed_);
4485 }
4486 break;
4487 }
4488 case kAbsencesBased: {
4489 if (GetArena() == nullptr) {
4490 delete _impl_.strategy_.absences_based_;
4491 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4492 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.absences_based_);
4493 }
4494 break;
4495 }
4496 case STRATEGY_NOT_SET: {
4497 break;
4498 }
4499 }
4500 _impl_._oneof_case_[0] = STRATEGY_NOT_SET;
4501}
4502
4503
4504inline void* PROTOBUF_NONNULL AcceptanceStrategy::PlacementNew_(
4505 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4506 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4507 return ::new (mem) AcceptanceStrategy(arena);
4508}
4509constexpr auto AcceptanceStrategy::InternalNewImpl_() {
4510 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AcceptanceStrategy),
4511 alignof(AcceptanceStrategy));
4512}
4514 return ::google::protobuf::internal::ClassDataFull{
4515 ::google::protobuf::internal::ClassData{
4517 &_table_.header,
4518 nullptr, // OnDemandRegisterArenaDtor
4519 nullptr, // IsInitialized
4520 &AcceptanceStrategy::MergeImpl,
4521 ::google::protobuf::Message::GetNewImpl<AcceptanceStrategy>(),
4522#if defined(PROTOBUF_CUSTOM_VTABLE)
4523 &AcceptanceStrategy::SharedDtor,
4524 ::google::protobuf::Message::GetClearImpl<AcceptanceStrategy>(), &AcceptanceStrategy::ByteSizeLong,
4526#endif // PROTOBUF_CUSTOM_VTABLE
4527 PROTOBUF_FIELD_OFFSET(AcceptanceStrategy, _impl_._cached_size_),
4528 false,
4530 &AcceptanceStrategy::kDescriptorMethods,
4532 nullptr, // tracker
4533 };
4534}
4535
4536PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4537 ::google::protobuf::internal::ClassDataFull AcceptanceStrategy_class_data_ =
4539
4540PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4541AcceptanceStrategy::GetClassData() const {
4542 ::google::protobuf::internal::PrefetchToLocalCache(&AcceptanceStrategy_class_data_);
4543 ::google::protobuf::internal::PrefetchToLocalCache(AcceptanceStrategy_class_data_.tc_table);
4544 return AcceptanceStrategy_class_data_.base();
4545}
4546PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4547const ::_pbi::TcParseTable<0, 5, 5, 0, 2>
4548AcceptanceStrategy::_table_ = {
4549 {
4550 0, // no _has_bits_
4551 0, // no _extensions_
4552 5, 0, // max_field_number, fast_idx_mask
4553 offsetof(decltype(_table_), field_lookup_table),
4554 4294967264, // skipmap
4555 offsetof(decltype(_table_), field_entries),
4556 5, // num_field_entries
4557 5, // num_aux_entries
4558 offsetof(decltype(_table_), aux_entries),
4560 nullptr, // post_loop_handler
4561 ::_pbi::TcParser::GenericFallback, // fallback
4562 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4563 ::_pbi::TcParser::GetTable<::operations_research::AcceptanceStrategy>(), // to_prefetch
4564 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
4565 }, {{
4566 {::_pbi::TcParser::MiniParse, {}},
4567 }}, {{
4568 65535, 65535
4569 }}, {{
4570 // .operations_research.GreedyDescentAcceptanceStrategy greedy_descent = 1;
4571 {PROTOBUF_FIELD_OFFSET(AcceptanceStrategy, _impl_.strategy_.greedy_descent_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4572 // .operations_research.SimulatedAnnealingAcceptanceStrategy simulated_annealing = 2;
4573 {PROTOBUF_FIELD_OFFSET(AcceptanceStrategy, _impl_.strategy_.simulated_annealing_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4574 // .operations_research.AllNodesPerformedAcceptanceStrategy all_nodes_performed = 3;
4575 {PROTOBUF_FIELD_OFFSET(AcceptanceStrategy, _impl_.strategy_.all_nodes_performed_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4576 // .operations_research.MoreNodesPerformedAcceptanceStrategy more_nodes_performed = 4;
4577 {PROTOBUF_FIELD_OFFSET(AcceptanceStrategy, _impl_.strategy_.more_nodes_performed_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4578 // .operations_research.AbsencesBasedAcceptanceStrategy absences_based = 5;
4579 {PROTOBUF_FIELD_OFFSET(AcceptanceStrategy, _impl_.strategy_.absences_based_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
4580 }},
4581 {{
4582 {::_pbi::TcParser::GetTable<::operations_research::GreedyDescentAcceptanceStrategy>()},
4583 {::_pbi::TcParser::GetTable<::operations_research::SimulatedAnnealingAcceptanceStrategy>()},
4584 {::_pbi::TcParser::GetTable<::operations_research::AllNodesPerformedAcceptanceStrategy>()},
4585 {::_pbi::TcParser::GetTable<::operations_research::MoreNodesPerformedAcceptanceStrategy>()},
4586 {::_pbi::TcParser::GetTable<::operations_research::AbsencesBasedAcceptanceStrategy>()},
4587 }},
4588 {{
4589 }},
4590};
4591PROTOBUF_NOINLINE void AcceptanceStrategy::Clear() {
4592// @@protoc_insertion_point(message_clear_start:operations_research.AcceptanceStrategy)
4593 ::google::protobuf::internal::TSanWrite(&_impl_);
4594 ::uint32_t cached_has_bits = 0;
4595 // Prevent compiler warnings about cached_has_bits being unused
4596 (void) cached_has_bits;
4597
4599 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
4600}
4601
4602#if defined(PROTOBUF_CUSTOM_VTABLE)
4603::uint8_t* PROTOBUF_NONNULL AcceptanceStrategy::_InternalSerialize(
4604 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
4605 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
4606 const AcceptanceStrategy& this_ = static_cast<const AcceptanceStrategy&>(base);
4607#else // PROTOBUF_CUSTOM_VTABLE
4608::uint8_t* PROTOBUF_NONNULL AcceptanceStrategy::_InternalSerialize(
4609 ::uint8_t* PROTOBUF_NONNULL target,
4610 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4611 const AcceptanceStrategy& this_ = *this;
4612#endif // PROTOBUF_CUSTOM_VTABLE
4613 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4614 this_.CheckHasBitConsistency();
4615 }
4616 // @@protoc_insertion_point(serialize_to_array_start:operations_research.AcceptanceStrategy)
4617 ::uint32_t cached_has_bits = 0;
4618 (void)cached_has_bits;
4619
4620 switch (this_.strategy_case()) {
4621 case kGreedyDescent: {
4622 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4623 1, *this_._impl_.strategy_.greedy_descent_, this_._impl_.strategy_.greedy_descent_->GetCachedSize(), target,
4624 stream);
4625 break;
4626 }
4627 case kSimulatedAnnealing: {
4628 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4629 2, *this_._impl_.strategy_.simulated_annealing_, this_._impl_.strategy_.simulated_annealing_->GetCachedSize(), target,
4630 stream);
4631 break;
4632 }
4633 case kAllNodesPerformed: {
4634 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4635 3, *this_._impl_.strategy_.all_nodes_performed_, this_._impl_.strategy_.all_nodes_performed_->GetCachedSize(), target,
4636 stream);
4637 break;
4638 }
4639 case kMoreNodesPerformed: {
4640 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4641 4, *this_._impl_.strategy_.more_nodes_performed_, this_._impl_.strategy_.more_nodes_performed_->GetCachedSize(), target,
4642 stream);
4643 break;
4644 }
4645 case kAbsencesBased: {
4646 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4647 5, *this_._impl_.strategy_.absences_based_, this_._impl_.strategy_.absences_based_->GetCachedSize(), target,
4648 stream);
4649 break;
4650 }
4651 default:
4652 break;
4653 }
4654 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
4655 target =
4656 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
4657 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
4658 }
4659 // @@protoc_insertion_point(serialize_to_array_end:operations_research.AcceptanceStrategy)
4660 return target;
4661}
4662
4663#if defined(PROTOBUF_CUSTOM_VTABLE)
4664::size_t AcceptanceStrategy::ByteSizeLong(const MessageLite& base) {
4665 const AcceptanceStrategy& this_ = static_cast<const AcceptanceStrategy&>(base);
4666#else // PROTOBUF_CUSTOM_VTABLE
4667::size_t AcceptanceStrategy::ByteSizeLong() const {
4668 const AcceptanceStrategy& this_ = *this;
4669#endif // PROTOBUF_CUSTOM_VTABLE
4670 // @@protoc_insertion_point(message_byte_size_start:operations_research.AcceptanceStrategy)
4671 ::size_t total_size = 0;
4672
4673 ::uint32_t cached_has_bits = 0;
4674 // Prevent compiler warnings about cached_has_bits being unused
4675 (void)cached_has_bits;
4676
4677 switch (this_.strategy_case()) {
4678 // .operations_research.GreedyDescentAcceptanceStrategy greedy_descent = 1;
4679 case kGreedyDescent: {
4680 total_size += 1 +
4681 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.greedy_descent_);
4682 break;
4684 // .operations_research.SimulatedAnnealingAcceptanceStrategy simulated_annealing = 2;
4685 case kSimulatedAnnealing: {
4686 total_size += 1 +
4687 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.simulated_annealing_);
4688 break;
4689 }
4690 // .operations_research.AllNodesPerformedAcceptanceStrategy all_nodes_performed = 3;
4691 case kAllNodesPerformed: {
4692 total_size += 1 +
4693 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.all_nodes_performed_);
4694 break;
4695 }
4696 // .operations_research.MoreNodesPerformedAcceptanceStrategy more_nodes_performed = 4;
4697 case kMoreNodesPerformed: {
4698 total_size += 1 +
4699 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.more_nodes_performed_);
4700 break;
4701 }
4702 // .operations_research.AbsencesBasedAcceptanceStrategy absences_based = 5;
4703 case kAbsencesBased: {
4704 total_size += 1 +
4705 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.strategy_.absences_based_);
4706 break;
4707 }
4708 case STRATEGY_NOT_SET: {
4709 break;
4710 }
4711 }
4712 return this_.MaybeComputeUnknownFieldsSize(total_size,
4713 &this_._impl_._cached_size_);
4714}
4715
4716void AcceptanceStrategy::MergeImpl(::google::protobuf::MessageLite& to_msg,
4717 const ::google::protobuf::MessageLite& from_msg) {
4718 auto* const _this =
4719 static_cast<AcceptanceStrategy*>(&to_msg);
4720 auto& from = static_cast<const AcceptanceStrategy&>(from_msg);
4721 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4722 from.CheckHasBitConsistency();
4723 }
4724 ::google::protobuf::Arena* arena = _this->GetArena();
4725 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.AcceptanceStrategy)
4726 ABSL_DCHECK_NE(&from, _this);
4727 ::uint32_t cached_has_bits = 0;
4728 (void)cached_has_bits;
4729
4730 if (const uint32_t oneof_from_case =
4731 from._impl_._oneof_case_[0]) {
4732 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
4733 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
4734 if (oneof_needs_init) {
4735 if (oneof_to_case != 0) {
4736 _this->clear_strategy();
4737 }
4738 _this->_impl_._oneof_case_[0] = oneof_from_case;
4739 }
4740
4741 switch (oneof_from_case) {
4742 case kGreedyDescent: {
4743 if (oneof_needs_init) {
4744 _this->_impl_.strategy_.greedy_descent_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.greedy_descent_);
4745 } else {
4746 _this->_impl_.strategy_.greedy_descent_->MergeFrom(*from._impl_.strategy_.greedy_descent_);
4747 }
4748 break;
4749 }
4750 case kSimulatedAnnealing: {
4751 if (oneof_needs_init) {
4752 _this->_impl_.strategy_.simulated_annealing_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.simulated_annealing_);
4753 } else {
4754 _this->_impl_.strategy_.simulated_annealing_->MergeFrom(*from._impl_.strategy_.simulated_annealing_);
4755 }
4756 break;
4757 }
4758 case kAllNodesPerformed: {
4759 if (oneof_needs_init) {
4760 _this->_impl_.strategy_.all_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.all_nodes_performed_);
4761 } else {
4762 _this->_impl_.strategy_.all_nodes_performed_->MergeFrom(*from._impl_.strategy_.all_nodes_performed_);
4763 }
4764 break;
4765 }
4766 case kMoreNodesPerformed: {
4767 if (oneof_needs_init) {
4768 _this->_impl_.strategy_.more_nodes_performed_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.more_nodes_performed_);
4769 } else {
4770 _this->_impl_.strategy_.more_nodes_performed_->MergeFrom(*from._impl_.strategy_.more_nodes_performed_);
4771 }
4772 break;
4773 }
4774 case kAbsencesBased: {
4775 if (oneof_needs_init) {
4776 _this->_impl_.strategy_.absences_based_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.strategy_.absences_based_);
4777 } else {
4778 _this->_impl_.strategy_.absences_based_->MergeFrom(*from._impl_.strategy_.absences_based_);
4779 }
4780 break;
4781 }
4782 case STRATEGY_NOT_SET:
4783 break;
4784 }
4785 }
4786 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4787 from._internal_metadata_);
4788}
4789
4791 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.AcceptanceStrategy)
4792 if (&from == this) return;
4793 Clear();
4794 MergeFrom(from);
4795}
4796
4797
4798void AcceptanceStrategy::InternalSwap(AcceptanceStrategy* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
4799 using ::std::swap;
4800 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4801 swap(_impl_.strategy_, other->_impl_.strategy_);
4802 swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
4803}
4804
4805::google::protobuf::Metadata AcceptanceStrategy::GetMetadata() const {
4806 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
4807}
4808// ===================================================================
4809
4811 public:
4812 using HasBits =
4813 decltype(::std::declval<IteratedLocalSearchParameters>()._impl_._has_bits_);
4814 static constexpr ::int32_t kHasBitsOffset =
4815 8 * PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_._has_bits_);
4816};
4817
4818IteratedLocalSearchParameters::IteratedLocalSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4819#if defined(PROTOBUF_CUSTOM_VTABLE)
4820 : ::google::protobuf::Message(arena, IteratedLocalSearchParameters_class_data_.base()) {
4821#else // PROTOBUF_CUSTOM_VTABLE
4822 : ::google::protobuf::Message(arena) {
4823#endif // PROTOBUF_CUSTOM_VTABLE
4824 SharedCtor(arena);
4825 // @@protoc_insertion_point(arena_constructor:operations_research.IteratedLocalSearchParameters)
4826}
4827PROTOBUF_NDEBUG_INLINE IteratedLocalSearchParameters::Impl_::Impl_(
4828 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4829 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4830 [[maybe_unused]] const ::operations_research::IteratedLocalSearchParameters& from_msg)
4831 : _has_bits_{from._has_bits_},
4832 _cached_size_{0} {}
4833
4835 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4837#if defined(PROTOBUF_CUSTOM_VTABLE)
4838 : ::google::protobuf::Message(arena, IteratedLocalSearchParameters_class_data_.base()) {
4839#else // PROTOBUF_CUSTOM_VTABLE
4840 : ::google::protobuf::Message(arena) {
4841#endif // PROTOBUF_CUSTOM_VTABLE
4842 IteratedLocalSearchParameters* const _this = this;
4843 (void)_this;
4844 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4845 from._internal_metadata_);
4846 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
4847 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
4848 _impl_.ruin_recreate_parameters_ = (CheckHasBit(cached_has_bits, 0x00000001U))
4849 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.ruin_recreate_parameters_)
4850 : nullptr;
4851 _impl_.reference_solution_acceptance_strategy_ = (CheckHasBit(cached_has_bits, 0x00000002U))
4852 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.reference_solution_acceptance_strategy_)
4853 : nullptr;
4854 _impl_.best_solution_acceptance_strategy_ = (CheckHasBit(cached_has_bits, 0x00000004U))
4855 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.best_solution_acceptance_strategy_)
4856 : nullptr;
4857 ::memcpy(reinterpret_cast<char*>(&_impl_) +
4858 offsetof(Impl_, perturbation_strategy_),
4859 reinterpret_cast<const char*>(&from._impl_) +
4860 offsetof(Impl_, perturbation_strategy_),
4861 offsetof(Impl_, improve_perturbed_solution_) -
4862 offsetof(Impl_, perturbation_strategy_) +
4863 sizeof(Impl_::improve_perturbed_solution_));
4864
4865 // @@protoc_insertion_point(copy_constructor:operations_research.IteratedLocalSearchParameters)
4866}
4867PROTOBUF_NDEBUG_INLINE IteratedLocalSearchParameters::Impl_::Impl_(
4868 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4869 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4870 : _cached_size_{0} {}
4871
4872inline void IteratedLocalSearchParameters::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4873 new (&_impl_) Impl_(internal_visibility(), arena);
4874 ::memset(reinterpret_cast<char*>(&_impl_) +
4875 offsetof(Impl_, ruin_recreate_parameters_),
4876 0,
4877 offsetof(Impl_, improve_perturbed_solution_) -
4878 offsetof(Impl_, ruin_recreate_parameters_) +
4879 sizeof(Impl_::improve_perturbed_solution_));
4880}
4882 // @@protoc_insertion_point(destructor:operations_research.IteratedLocalSearchParameters)
4883 SharedDtor(*this);
4884}
4885inline void IteratedLocalSearchParameters::SharedDtor(MessageLite& self) {
4887 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4888 this_.CheckHasBitConsistency();
4889 }
4890 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4891 ABSL_DCHECK(this_.GetArena() == nullptr);
4892 delete this_._impl_.ruin_recreate_parameters_;
4893 delete this_._impl_.reference_solution_acceptance_strategy_;
4894 delete this_._impl_.best_solution_acceptance_strategy_;
4895 this_._impl_.~Impl_();
4896}
4897
4898inline void* PROTOBUF_NONNULL IteratedLocalSearchParameters::PlacementNew_(
4899 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4900 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4901 return ::new (mem) IteratedLocalSearchParameters(arena);
4902}
4903constexpr auto IteratedLocalSearchParameters::InternalNewImpl_() {
4904 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(IteratedLocalSearchParameters),
4906}
4908 return ::google::protobuf::internal::ClassDataFull{
4909 ::google::protobuf::internal::ClassData{
4911 &_table_.header,
4912 nullptr, // OnDemandRegisterArenaDtor
4913 nullptr, // IsInitialized
4914 &IteratedLocalSearchParameters::MergeImpl,
4915 ::google::protobuf::Message::GetNewImpl<IteratedLocalSearchParameters>(),
4916#if defined(PROTOBUF_CUSTOM_VTABLE)
4917 &IteratedLocalSearchParameters::SharedDtor,
4918 ::google::protobuf::Message::GetClearImpl<IteratedLocalSearchParameters>(), &IteratedLocalSearchParameters::ByteSizeLong,
4920#endif // PROTOBUF_CUSTOM_VTABLE
4921 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_._cached_size_),
4922 false,
4923 },
4924 &IteratedLocalSearchParameters::kDescriptorMethods,
4926 nullptr, // tracker
4927 };
4928}
4929
4930PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4931 ::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_ =
4933
4934PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4935IteratedLocalSearchParameters::GetClassData() const {
4936 ::google::protobuf::internal::PrefetchToLocalCache(&IteratedLocalSearchParameters_class_data_);
4937 ::google::protobuf::internal::PrefetchToLocalCache(IteratedLocalSearchParameters_class_data_.tc_table);
4939}
4940PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4941const ::_pbi::TcParseTable<3, 5, 3, 0, 2>
4942IteratedLocalSearchParameters::_table_ = {
4943 {
4944 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_._has_bits_),
4945 0, // no _extensions_
4946 5, 56, // max_field_number, fast_idx_mask
4947 offsetof(decltype(_table_), field_lookup_table),
4948 4294967264, // skipmap
4949 offsetof(decltype(_table_), field_entries),
4950 5, // num_field_entries
4951 3, // num_aux_entries
4952 offsetof(decltype(_table_), aux_entries),
4954 nullptr, // post_loop_handler
4955 ::_pbi::TcParser::GenericFallback, // fallback
4956 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4957 ::_pbi::TcParser::GetTable<::operations_research::IteratedLocalSearchParameters>(), // to_prefetch
4958 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
4959 }, {{
4960 {::_pbi::TcParser::MiniParse, {}},
4961 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
4962 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IteratedLocalSearchParameters, _impl_.perturbation_strategy_), 3>(),
4963 {8, 3, 0,
4964 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.perturbation_strategy_)}},
4965 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
4966 {::_pbi::TcParser::FastMtS1,
4967 {18, 0, 0,
4968 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_)}},
4969 // optional bool improve_perturbed_solution = 3;
4970 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_), 4>(),
4971 {24, 4, 0,
4972 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_)}},
4973 // .operations_research.AcceptanceStrategy reference_solution_acceptance_strategy = 4;
4974 {::_pbi::TcParser::FastMtS1,
4975 {34, 1, 1,
4976 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.reference_solution_acceptance_strategy_)}},
4977 // .operations_research.AcceptanceStrategy best_solution_acceptance_strategy = 5;
4978 {::_pbi::TcParser::FastMtS1,
4979 {42, 2, 2,
4980 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.best_solution_acceptance_strategy_)}},
4981 {::_pbi::TcParser::MiniParse, {}},
4982 {::_pbi::TcParser::MiniParse, {}},
4983 }}, {{
4984 65535, 65535
4985 }}, {{
4986 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
4987 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.perturbation_strategy_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
4988 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
4989 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
4990 // optional bool improve_perturbed_solution = 3;
4991 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
4992 // .operations_research.AcceptanceStrategy reference_solution_acceptance_strategy = 4;
4993 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.reference_solution_acceptance_strategy_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
4994 // .operations_research.AcceptanceStrategy best_solution_acceptance_strategy = 5;
4995 {PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.best_solution_acceptance_strategy_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
4996 }},
4997 {{
4998 {::_pbi::TcParser::GetTable<::operations_research::RuinRecreateParameters>()},
4999 {::_pbi::TcParser::GetTable<::operations_research::AcceptanceStrategy>()},
5000 {::_pbi::TcParser::GetTable<::operations_research::AcceptanceStrategy>()},
5001 }},
5002 {{
5003 }},
5004};
5005PROTOBUF_NOINLINE void IteratedLocalSearchParameters::Clear() {
5006// @@protoc_insertion_point(message_clear_start:operations_research.IteratedLocalSearchParameters)
5007 ::google::protobuf::internal::TSanWrite(&_impl_);
5008 ::uint32_t cached_has_bits = 0;
5009 // Prevent compiler warnings about cached_has_bits being unused
5010 (void) cached_has_bits;
5011
5012 cached_has_bits = _impl_._has_bits_[0];
5013 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
5014 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5015 ABSL_DCHECK(_impl_.ruin_recreate_parameters_ != nullptr);
5016 _impl_.ruin_recreate_parameters_->Clear();
5017 }
5018 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5019 ABSL_DCHECK(_impl_.reference_solution_acceptance_strategy_ != nullptr);
5020 _impl_.reference_solution_acceptance_strategy_->Clear();
5021 }
5022 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5023 ABSL_DCHECK(_impl_.best_solution_acceptance_strategy_ != nullptr);
5024 _impl_.best_solution_acceptance_strategy_->Clear();
5025 }
5026 }
5027 if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
5028 ::memset(&_impl_.perturbation_strategy_, 0, static_cast<::size_t>(
5029 reinterpret_cast<char*>(&_impl_.improve_perturbed_solution_) -
5030 reinterpret_cast<char*>(&_impl_.perturbation_strategy_)) + sizeof(_impl_.improve_perturbed_solution_));
5031 }
5032 _impl_._has_bits_.Clear();
5033 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
5034}
5035
5036#if defined(PROTOBUF_CUSTOM_VTABLE)
5037::uint8_t* PROTOBUF_NONNULL IteratedLocalSearchParameters::_InternalSerialize(
5038 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
5039 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
5040 const IteratedLocalSearchParameters& this_ = static_cast<const IteratedLocalSearchParameters&>(base);
5041#else // PROTOBUF_CUSTOM_VTABLE
5042::uint8_t* PROTOBUF_NONNULL IteratedLocalSearchParameters::_InternalSerialize(
5043 ::uint8_t* PROTOBUF_NONNULL target,
5044 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5045 const IteratedLocalSearchParameters& this_ = *this;
5046#endif // PROTOBUF_CUSTOM_VTABLE
5047 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5048 this_.CheckHasBitConsistency();
5049 }
5050 // @@protoc_insertion_point(serialize_to_array_start:operations_research.IteratedLocalSearchParameters)
5051 ::uint32_t cached_has_bits = 0;
5052 (void)cached_has_bits;
5053
5054 cached_has_bits = this_._impl_._has_bits_[0];
5055 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
5056 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5057 if (this_._internal_perturbation_strategy() != 0) {
5058 target = stream->EnsureSpace(target);
5059 target = ::_pbi::WireFormatLite::WriteEnumToArray(
5060 1, this_._internal_perturbation_strategy(), target);
5061 }
5062 }
5063
5064 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
5065 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5066 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5067 2, *this_._impl_.ruin_recreate_parameters_, this_._impl_.ruin_recreate_parameters_->GetCachedSize(), target,
5068 stream);
5069 }
5070
5071 // optional bool improve_perturbed_solution = 3;
5072 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
5073 target = stream->EnsureSpace(target);
5074 target = ::_pbi::WireFormatLite::WriteBoolToArray(
5075 3, this_._internal_improve_perturbed_solution(), target);
5076 }
5077
5078 // .operations_research.AcceptanceStrategy reference_solution_acceptance_strategy = 4;
5079 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5080 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5081 4, *this_._impl_.reference_solution_acceptance_strategy_, this_._impl_.reference_solution_acceptance_strategy_->GetCachedSize(), target,
5082 stream);
5083 }
5084
5085 // .operations_research.AcceptanceStrategy best_solution_acceptance_strategy = 5;
5086 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5087 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5088 5, *this_._impl_.best_solution_acceptance_strategy_, this_._impl_.best_solution_acceptance_strategy_->GetCachedSize(), target,
5089 stream);
5090 }
5091
5092 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
5093 target =
5094 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
5095 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
5096 }
5097 // @@protoc_insertion_point(serialize_to_array_end:operations_research.IteratedLocalSearchParameters)
5098 return target;
5099}
5100
5101#if defined(PROTOBUF_CUSTOM_VTABLE)
5103 const IteratedLocalSearchParameters& this_ = static_cast<const IteratedLocalSearchParameters&>(base);
5104#else // PROTOBUF_CUSTOM_VTABLE
5106 const IteratedLocalSearchParameters& this_ = *this;
5107#endif // PROTOBUF_CUSTOM_VTABLE
5108 // @@protoc_insertion_point(message_byte_size_start:operations_research.IteratedLocalSearchParameters)
5109 ::size_t total_size = 0;
5110
5111 ::uint32_t cached_has_bits = 0;
5112 // Prevent compiler warnings about cached_has_bits being unused
5113 (void)cached_has_bits;
5114
5115 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
5116 cached_has_bits = this_._impl_._has_bits_[0];
5117 total_size += static_cast<bool>(0x00000010U & cached_has_bits) * 2;
5118 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
5119 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
5120 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5121 total_size += 1 +
5122 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.ruin_recreate_parameters_);
5123 }
5124 // .operations_research.AcceptanceStrategy reference_solution_acceptance_strategy = 4;
5125 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5126 total_size += 1 +
5127 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.reference_solution_acceptance_strategy_);
5128 }
5129 // .operations_research.AcceptanceStrategy best_solution_acceptance_strategy = 5;
5130 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5131 total_size += 1 +
5132 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.best_solution_acceptance_strategy_);
5133 }
5134 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
5135 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5136 if (this_._internal_perturbation_strategy() != 0) {
5137 total_size += 1 +
5138 ::_pbi::WireFormatLite::EnumSize(this_._internal_perturbation_strategy());
5139 }
5140 }
5141 }
5142 return this_.MaybeComputeUnknownFieldsSize(total_size,
5143 &this_._impl_._cached_size_);
5144}
5145
5146void IteratedLocalSearchParameters::MergeImpl(::google::protobuf::MessageLite& to_msg,
5147 const ::google::protobuf::MessageLite& from_msg) {
5148 auto* const _this =
5149 static_cast<IteratedLocalSearchParameters*>(&to_msg);
5150 auto& from = static_cast<const IteratedLocalSearchParameters&>(from_msg);
5151 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5152 from.CheckHasBitConsistency();
5153 }
5154 ::google::protobuf::Arena* arena = _this->GetArena();
5155 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.IteratedLocalSearchParameters)
5156 ABSL_DCHECK_NE(&from, _this);
5157 ::uint32_t cached_has_bits = 0;
5158 (void)cached_has_bits;
5159
5160 cached_has_bits = from._impl_._has_bits_[0];
5161 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
5162 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
5163 ABSL_DCHECK(from._impl_.ruin_recreate_parameters_ != nullptr);
5164 if (_this->_impl_.ruin_recreate_parameters_ == nullptr) {
5165 _this->_impl_.ruin_recreate_parameters_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.ruin_recreate_parameters_);
5166 } else {
5167 _this->_impl_.ruin_recreate_parameters_->MergeFrom(*from._impl_.ruin_recreate_parameters_);
5168 }
5169 }
5170 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
5171 ABSL_DCHECK(from._impl_.reference_solution_acceptance_strategy_ != nullptr);
5172 if (_this->_impl_.reference_solution_acceptance_strategy_ == nullptr) {
5173 _this->_impl_.reference_solution_acceptance_strategy_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.reference_solution_acceptance_strategy_);
5174 } else {
5175 _this->_impl_.reference_solution_acceptance_strategy_->MergeFrom(*from._impl_.reference_solution_acceptance_strategy_);
5176 }
5177 }
5178 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5179 ABSL_DCHECK(from._impl_.best_solution_acceptance_strategy_ != nullptr);
5180 if (_this->_impl_.best_solution_acceptance_strategy_ == nullptr) {
5181 _this->_impl_.best_solution_acceptance_strategy_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.best_solution_acceptance_strategy_);
5182 } else {
5183 _this->_impl_.best_solution_acceptance_strategy_->MergeFrom(*from._impl_.best_solution_acceptance_strategy_);
5184 }
5185 }
5186 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5187 if (from._internal_perturbation_strategy() != 0) {
5188 _this->_impl_.perturbation_strategy_ = from._impl_.perturbation_strategy_;
5189 }
5190 }
5191 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
5192 _this->_impl_.improve_perturbed_solution_ = from._impl_.improve_perturbed_solution_;
5193 }
5194 }
5195 _this->_impl_._has_bits_[0] |= cached_has_bits;
5196 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
5197 from._internal_metadata_);
5198}
5199
5201 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.IteratedLocalSearchParameters)
5202 if (&from == this) return;
5203 Clear();
5204 MergeFrom(from);
5205}
5206
5207
5208void IteratedLocalSearchParameters::InternalSwap(IteratedLocalSearchParameters* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
5209 using ::std::swap;
5210 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5211 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
5212 ::google::protobuf::internal::memswap<
5213 PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.improve_perturbed_solution_)
5214 + sizeof(IteratedLocalSearchParameters::_impl_.improve_perturbed_solution_)
5215 - PROTOBUF_FIELD_OFFSET(IteratedLocalSearchParameters, _impl_.ruin_recreate_parameters_)>(
5216 reinterpret_cast<char*>(&_impl_.ruin_recreate_parameters_),
5217 reinterpret_cast<char*>(&other->_impl_.ruin_recreate_parameters_));
5218}
5219
5220::google::protobuf::Metadata IteratedLocalSearchParameters::GetMetadata() const {
5221 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
5222}
5223// @@protoc_insertion_point(namespace_scope)
5224} // namespace operations_research
5225namespace google {
5226namespace protobuf {
5227} // namespace protobuf
5228} // namespace google
5229// @@protoc_insertion_point(global_scope)
5230PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
5231 _static_init2_ [[maybe_unused]] =
5233 ::std::false_type{});
5234#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
friend void swap(AbsencesBasedAcceptanceStrategy &a, AbsencesBasedAcceptanceStrategy &b)
void MergeFrom(const AbsencesBasedAcceptanceStrategy &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const AbsencesBasedAcceptanceStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::MessageLite
void set_allocated_more_nodes_performed(::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
const ::operations_research::AbsencesBasedAcceptanceStrategy & absences_based() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::MoreNodesPerformedAcceptanceStrategy & more_nodes_performed() const
void CopyFrom(const AcceptanceStrategy &from)
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::operations_research::AllNodesPerformedAcceptanceStrategy & all_nodes_performed() const
void set_allocated_absences_based(::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE value)
void set_allocated_all_nodes_performed(::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
void MergeFrom(const AcceptanceStrategy &from)
const ::operations_research::SimulatedAnnealingAcceptanceStrategy & simulated_annealing() const
void set_allocated_greedy_descent(::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE value)
friend void swap(AcceptanceStrategy &a, AcceptanceStrategy &b)
friend class ::google::protobuf::Arena
void set_allocated_simulated_annealing(::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE value)
void MergeFrom(const AllNodesPerformedAcceptanceStrategy &from)
void MergeFrom(const CoolingScheduleStrategy &from)
::google::protobuf::Metadata GetMetadata() const
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const GreedyDescentAcceptanceStrategy &from)
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
void MergeFrom(const IteratedLocalSearchParameters &from)
void MergeFrom(const MoreNodesPerformedAcceptanceStrategy &from)
void MergeFrom(const PerturbationStrategy &from)
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
decltype(::std::declval< RandomWalkRuinStrategy >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
friend void swap(RandomWalkRuinStrategy &a, RandomWalkRuinStrategy &b)
void MergeFrom(const RandomWalkRuinStrategy &from)
void CopyFrom(const RandomWalkRuinStrategy &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend class ::google::protobuf::Arena
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
friend void swap(RecreateParameters &a, RecreateParameters &b)
void set_allocated_savings(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void set_allocated_global_cheapest_insertion(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::SavingsParameters & savings() const
const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion() const
void set_allocated_local_cheapest_insertion(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
static constexpr auto InternalGenerateClassData_()
void MergeFrom(const RecreateParameters &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const RecreateParameters &from)
const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_insertion() const
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
void MergeFrom(const RecreateStrategy &from)
friend class ::google::protobuf::MessageLite
static constexpr auto InternalGenerateClassData_()
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const RecreateStrategy &from)
::google::protobuf::Metadata GetMetadata() const
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
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const RuinRecreateParameters &from)
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
void CopyFrom(const RuinStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE value)
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const RuinStrategy &from)
::size_t ByteSizeLong() const final
void set_allocated_sisr(::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE value)
const ::operations_research::SISRRuinStrategy & sisr() const
const ::operations_research::RandomWalkRuinStrategy & random_walk() const
void set_allocated_spatially_close_routes(::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE value)
static constexpr auto InternalGenerateClassData_()
const ::operations_research::SpatiallyCloseRoutesRuinStrategy & spatially_close_routes() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend class ::google::protobuf::Arena
friend void swap(RuinStrategy &a, RuinStrategy &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
static constexpr auto InternalGenerateClassData_()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const SISRRuinStrategy &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const SimulatedAnnealingAcceptanceStrategy &from)
void MergeFrom(const SimulatedAnnealingAcceptanceStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend void swap(SimulatedAnnealingAcceptanceStrategy &a, SimulatedAnnealingAcceptanceStrategy &b)
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 constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
OR-Tools root namespace.
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecreateParametersDefaultTypeInternal _RecreateParameters_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinCompositionStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CoolingScheduleStrategy_class_data_
PROTOBUF_CONSTINIT const uint32_t PerturbationStrategy_Value_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinStrategyDefaultTypeInternal _RuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AllNodesPerformedAcceptanceStrategyDefaultTypeInternal _AllNodesPerformedAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinCompositionStrategyDefaultTypeInternal _RuinCompositionStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SISRRuinStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SISRRuinStrategyDefaultTypeInternal _SISRRuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IteratedLocalSearchParametersDefaultTypeInternal _IteratedLocalSearchParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SimulatedAnnealingAcceptanceStrategyDefaultTypeInternal _SimulatedAnnealingAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AbsencesBasedAcceptanceStrategyDefaultTypeInternal _AbsencesBasedAcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinRecreateParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AllNodesPerformedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinRecreateParametersDefaultTypeInternal _RuinRecreateParameters_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RuinCompositionStrategy_Value_descriptor()
PROTOBUF_CONSTINIT const uint32_t CoolingScheduleStrategy_Value_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RecreateParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RandomWalkRuinStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AcceptanceStrategyDefaultTypeInternal _AcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull GreedyDescentAcceptanceStrategy_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PerturbationStrategy_Value_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MoreNodesPerformedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GreedyDescentAcceptanceStrategyDefaultTypeInternal _GreedyDescentAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MoreNodesPerformedAcceptanceStrategyDefaultTypeInternal _MoreNodesPerformedAcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AbsencesBasedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RandomWalkRuinStrategyDefaultTypeInternal _RandomWalkRuinStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PerturbationStrategyDefaultTypeInternal _PerturbationStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SimulatedAnnealingAcceptanceStrategy_class_data_
PROTOBUF_CONSTINIT const uint32_t RuinCompositionStrategy_Value_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpatiallyCloseRoutesRuinStrategyDefaultTypeInternal _SpatiallyCloseRoutesRuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecreateStrategyDefaultTypeInternal _RecreateStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RecreateStrategy_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CoolingScheduleStrategy_Value_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoolingScheduleStrategyDefaultTypeInternal _CoolingScheduleStrategy_default_instance_
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fenums_2eproto
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fheuristic_5fparameters_2eproto
static const ::_pbi::DescriptorTable *PROTOBUF_NONNULL const descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_deps[2]
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto
const ::uint32_t TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto
::absl::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_once
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto[3]
::google::protobuf::Message *PROTOBUF_NULLABLE more_nodes_performed_
::google::protobuf::Message *PROTOBUF_NULLABLE all_nodes_performed_
::google::protobuf::Message *PROTOBUF_NULLABLE absences_based_
::google::protobuf::Message *PROTOBUF_NULLABLE greedy_descent_
::google::protobuf::Message *PROTOBUF_NULLABLE simulated_annealing_
::google::protobuf::Message *PROTOBUF_NULLABLE global_cheapest_insertion_
::google::protobuf::Message *PROTOBUF_NULLABLE savings_
::google::protobuf::Message *PROTOBUF_NULLABLE local_cheapest_insertion_
::google::protobuf::Message *PROTOBUF_NULLABLE spatially_close_routes_
::google::protobuf::Message *PROTOBUF_NULLABLE random_walk_
::google::protobuf::Message *PROTOBUF_NULLABLE sisr_