Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
jobshop_scheduling.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/scheduling/jobshop_scheduling.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 {
28namespace scheduling {
29namespace jssp {
30
31inline constexpr TransitionTimeMatrix::Impl_::Impl_(
32 ::_pbi::ConstantInitialized) noexcept
33 : _cached_size_{0},
34 transition_time_{},
35 _transition_time_cached_byte_size_{0} {}
36
37template <typename>
38PROTOBUF_CONSTEXPR TransitionTimeMatrix::TransitionTimeMatrix(::_pbi::ConstantInitialized)
39#if defined(PROTOBUF_CUSTOM_VTABLE)
40 : ::google::protobuf::Message(TransitionTimeMatrix_class_data_.base()),
41#else // PROTOBUF_CUSTOM_VTABLE
42 : ::google::protobuf::Message(),
43#endif // PROTOBUF_CUSTOM_VTABLE
44 _impl_(::_pbi::ConstantInitialized()) {
45}
53
54PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
56
57inline constexpr Task::Impl_::Impl_(
58 ::_pbi::ConstantInitialized) noexcept
59 : _cached_size_{0},
60 machine_{},
61 _machine_cached_byte_size_{0},
62 duration_{},
63 _duration_cached_byte_size_{0},
64 cost_{},
65 _cost_cached_byte_size_{0} {}
66
67template <typename>
68PROTOBUF_CONSTEXPR Task::Task(::_pbi::ConstantInitialized)
69#if defined(PROTOBUF_CUSTOM_VTABLE)
70 : ::google::protobuf::Message(Task_class_data_.base()),
71#else // PROTOBUF_CUSTOM_VTABLE
72 : ::google::protobuf::Message(),
73#endif // PROTOBUF_CUSTOM_VTABLE
74 _impl_(::_pbi::ConstantInitialized()) {
75}
77 PROTOBUF_CONSTEXPR TaskDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
79 union {
81 };
82};
83
84PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
85 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TaskDefaultTypeInternal _Task_default_instance_;
86
87inline constexpr JobPrecedence::Impl_::Impl_(
88 ::_pbi::ConstantInitialized) noexcept
89 : _cached_size_{0},
90 first_job_index_{0},
91 second_job_index_{0},
92 min_delay_{::int64_t{0}} {}
93
94template <typename>
95PROTOBUF_CONSTEXPR JobPrecedence::JobPrecedence(::_pbi::ConstantInitialized)
96#if defined(PROTOBUF_CUSTOM_VTABLE)
97 : ::google::protobuf::Message(JobPrecedence_class_data_.base()),
98#else // PROTOBUF_CUSTOM_VTABLE
99 : ::google::protobuf::Message(),
100#endif // PROTOBUF_CUSTOM_VTABLE
101 _impl_(::_pbi::ConstantInitialized()) {
102}
104 PROTOBUF_CONSTEXPR JobPrecedenceDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
106 union {
108 };
109};
110
111PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
113
114inline constexpr AssignedTask::Impl_::Impl_(
115 ::_pbi::ConstantInitialized) noexcept
116 : _cached_size_{0},
117 start_time_{::int64_t{0}},
118 alternative_index_{0} {}
119
120template <typename>
121PROTOBUF_CONSTEXPR AssignedTask::AssignedTask(::_pbi::ConstantInitialized)
122#if defined(PROTOBUF_CUSTOM_VTABLE)
123 : ::google::protobuf::Message(AssignedTask_class_data_.base()),
124#else // PROTOBUF_CUSTOM_VTABLE
125 : ::google::protobuf::Message(),
126#endif // PROTOBUF_CUSTOM_VTABLE
127 _impl_(::_pbi::ConstantInitialized()) {
128}
130 PROTOBUF_CONSTEXPR AssignedTaskDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
132 union {
134 };
135};
136
137PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
139
140inline constexpr Machine::Impl_::Impl_(
141 ::_pbi::ConstantInitialized) noexcept
142 : _cached_size_{0},
143 name_(
144 &::google::protobuf::internal::fixed_address_empty_string,
145 ::_pbi::ConstantInitialized()),
146 transition_time_matrix_{nullptr} {}
147
148template <typename>
149PROTOBUF_CONSTEXPR Machine::Machine(::_pbi::ConstantInitialized)
150#if defined(PROTOBUF_CUSTOM_VTABLE)
151 : ::google::protobuf::Message(Machine_class_data_.base()),
152#else // PROTOBUF_CUSTOM_VTABLE
153 : ::google::protobuf::Message(),
154#endif // PROTOBUF_CUSTOM_VTABLE
155 _impl_(::_pbi::ConstantInitialized()) {
156}
158 PROTOBUF_CONSTEXPR MachineDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
160 union {
162 };
163};
164
165PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
167
168inline constexpr Job::Impl_::Impl_(
169 ::_pbi::ConstantInitialized) noexcept
170 : _cached_size_{0},
171 tasks_{},
172 name_(
173 &::google::protobuf::internal::fixed_address_empty_string,
174 ::_pbi::ConstantInitialized()),
175 earliest_start_{nullptr},
176 latest_end_{nullptr},
177 early_due_date_{::int64_t{0}},
178 late_due_date_{::int64_t{0}},
179 earliness_cost_per_time_unit_{::int64_t{0}},
180 lateness_cost_per_time_unit_{::int64_t{0}} {}
181
182template <typename>
183PROTOBUF_CONSTEXPR Job::Job(::_pbi::ConstantInitialized)
184#if defined(PROTOBUF_CUSTOM_VTABLE)
185 : ::google::protobuf::Message(Job_class_data_.base()),
186#else // PROTOBUF_CUSTOM_VTABLE
187 : ::google::protobuf::Message(),
188#endif // PROTOBUF_CUSTOM_VTABLE
189 _impl_(::_pbi::ConstantInitialized()) {
190}
192 PROTOBUF_CONSTEXPR JobDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
194 union {
196 };
197};
198
199PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
200 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JobDefaultTypeInternal _Job_default_instance_;
201
202inline constexpr AssignedJob::Impl_::Impl_(
203 ::_pbi::ConstantInitialized) noexcept
204 : _cached_size_{0},
205 tasks_{},
206 due_date_cost_{::int64_t{0}},
207 sum_of_task_costs_{::int64_t{0}} {}
208
209template <typename>
210PROTOBUF_CONSTEXPR AssignedJob::AssignedJob(::_pbi::ConstantInitialized)
211#if defined(PROTOBUF_CUSTOM_VTABLE)
212 : ::google::protobuf::Message(AssignedJob_class_data_.base()),
213#else // PROTOBUF_CUSTOM_VTABLE
214 : ::google::protobuf::Message(),
215#endif // PROTOBUF_CUSTOM_VTABLE
216 _impl_(::_pbi::ConstantInitialized()) {
217}
219 PROTOBUF_CONSTEXPR AssignedJobDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
221 union {
223 };
224};
225
226PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
228
229inline constexpr JsspOutputSolution::Impl_::Impl_(
230 ::_pbi::ConstantInitialized) noexcept
231 : _cached_size_{0},
232 jobs_{},
233 makespan_cost_{::int64_t{0}},
234 total_cost_{::int64_t{0}} {}
235
236template <typename>
237PROTOBUF_CONSTEXPR JsspOutputSolution::JsspOutputSolution(::_pbi::ConstantInitialized)
238#if defined(PROTOBUF_CUSTOM_VTABLE)
239 : ::google::protobuf::Message(JsspOutputSolution_class_data_.base()),
240#else // PROTOBUF_CUSTOM_VTABLE
241 : ::google::protobuf::Message(),
242#endif // PROTOBUF_CUSTOM_VTABLE
243 _impl_(::_pbi::ConstantInitialized()) {
244}
252
253PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
255
256inline constexpr JsspInputProblem::Impl_::Impl_(
257 ::_pbi::ConstantInitialized) noexcept
258 : _cached_size_{0},
259 jobs_{},
260 machines_{},
261 precedences_{},
262 name_(
263 &::google::protobuf::internal::fixed_address_empty_string,
264 ::_pbi::ConstantInitialized()),
265 scaling_factor_{nullptr},
266 makespan_cost_per_time_unit_{::int64_t{0}},
267 seed_{0} {}
268
269template <typename>
270PROTOBUF_CONSTEXPR JsspInputProblem::JsspInputProblem(::_pbi::ConstantInitialized)
271#if defined(PROTOBUF_CUSTOM_VTABLE)
272 : ::google::protobuf::Message(JsspInputProblem_class_data_.base()),
273#else // PROTOBUF_CUSTOM_VTABLE
274 : ::google::protobuf::Message(),
275#endif // PROTOBUF_CUSTOM_VTABLE
276 _impl_(::_pbi::ConstantInitialized()) {
277}
285
286PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
288} // namespace jssp
289} // namespace scheduling
290} // namespace operations_research
291static constexpr const ::_pb::EnumDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
293static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
295const ::uint32_t
297 protodesc_cold) = {
298 0x081, // bitmap
299 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Task, _impl_._has_bits_),
300 6, // hasbit index offset
301 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Task, _impl_.machine_),
302 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Task, _impl_.duration_),
303 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Task, _impl_.cost_),
304 0,
305 1,
306 2,
307 0x081, // bitmap
308 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_._has_bits_),
309 11, // hasbit index offset
310 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.tasks_),
311 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.earliest_start_),
312 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.early_due_date_),
313 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.late_due_date_),
314 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.earliness_cost_per_time_unit_),
315 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.lateness_cost_per_time_unit_),
316 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.latest_end_),
317 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Job, _impl_.name_),
318 0,
319 2,
320 4,
321 5,
322 6,
323 7,
324 3,
325 1,
326 0x081, // bitmap
327 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::TransitionTimeMatrix, _impl_._has_bits_),
328 4, // hasbit index offset
329 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::TransitionTimeMatrix, _impl_.transition_time_),
330 0,
331 0x081, // bitmap
332 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Machine, _impl_._has_bits_),
333 5, // hasbit index offset
334 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Machine, _impl_.transition_time_matrix_),
335 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::Machine, _impl_.name_),
336 1,
337 0,
338 0x081, // bitmap
339 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JobPrecedence, _impl_._has_bits_),
340 6, // hasbit index offset
341 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JobPrecedence, _impl_.first_job_index_),
342 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JobPrecedence, _impl_.second_job_index_),
343 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JobPrecedence, _impl_.min_delay_),
344 0,
345 1,
346 2,
347 0x081, // bitmap
348 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_._has_bits_),
349 10, // hasbit index offset
350 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_.jobs_),
351 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_.machines_),
352 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_.precedences_),
353 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_.makespan_cost_per_time_unit_),
354 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_.scaling_factor_),
355 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_.seed_),
356 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspInputProblem, _impl_.name_),
357 0,
358 1,
359 2,
360 5,
361 4,
362 6,
363 3,
364 0x081, // bitmap
365 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::AssignedTask, _impl_._has_bits_),
366 5, // hasbit index offset
367 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::AssignedTask, _impl_.alternative_index_),
368 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::AssignedTask, _impl_.start_time_),
369 1,
370 0,
371 0x081, // bitmap
372 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::AssignedJob, _impl_._has_bits_),
373 6, // hasbit index offset
374 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::AssignedJob, _impl_.tasks_),
375 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::AssignedJob, _impl_.due_date_cost_),
376 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::AssignedJob, _impl_.sum_of_task_costs_),
377 0,
378 1,
379 2,
380 0x081, // bitmap
381 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspOutputSolution, _impl_._has_bits_),
382 6, // hasbit index offset
383 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspOutputSolution, _impl_.jobs_),
384 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspOutputSolution, _impl_.makespan_cost_),
385 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::jssp::JsspOutputSolution, _impl_.total_cost_),
386 0,
387 1,
388 2,
389};
390
391static const ::_pbi::MigrationSchema
392 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
402};
414const char descriptor_table_protodef_ortools_2fscheduling_2fjobshop_5fscheduling_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
415 protodesc_cold) = {
416 "\n+ortools/scheduling/jobshop_scheduling."
417 "proto\022#operations_research.scheduling.js"
418 "sp\032\036google/protobuf/wrappers.proto\"7\n\004Ta"
419 "sk\022\017\n\007machine\030\001 \003(\005\022\020\n\010duration\030\002 \003(\003\022\014\n"
420 "\004cost\030\003 \003(\003\"\255\002\n\003Job\0228\n\005tasks\030\001 \003(\0132).ope"
421 "rations_research.scheduling.jssp.Task\0223\n"
422 "\016earliest_start\030\002 \001(\0132\033.google.protobuf."
423 "Int64Value\022\026\n\016early_due_date\030\003 \001(\003\022\025\n\rla"
424 "te_due_date\030\004 \001(\003\022$\n\034earliness_cost_per_"
425 "time_unit\030\005 \001(\003\022#\n\033lateness_cost_per_tim"
426 "e_unit\030\006 \001(\003\022/\n\nlatest_end\030\007 \001(\0132\033.googl"
427 "e.protobuf.Int64Value\022\014\n\004name\030\020 \001(\t\"/\n\024T"
428 "ransitionTimeMatrix\022\027\n\017transition_time\030\001"
429 " \003(\003\"r\n\007Machine\022Y\n\026transition_time_matri"
430 "x\030\001 \001(\01329.operations_research.scheduling"
431 ".jssp.TransitionTimeMatrix\022\014\n\004name\030\020 \001(\t"
432 "\"U\n\rJobPrecedence\022\027\n\017first_job_index\030\001 \001"
433 "(\005\022\030\n\020second_job_index\030\002 \001(\005\022\021\n\tmin_dela"
434 "y\030\003 \001(\003\"\312\002\n\020JsspInputProblem\0226\n\004jobs\030\001 \003"
435 "(\0132(.operations_research.scheduling.jssp"
436 ".Job\022>\n\010machines\030\002 \003(\0132,.operations_rese"
437 "arch.scheduling.jssp.Machine\022G\n\013preceden"
438 "ces\030\003 \003(\01322.operations_research.scheduli"
439 "ng.jssp.JobPrecedence\022#\n\033makespan_cost_p"
440 "er_time_unit\030\004 \001(\003\0224\n\016scaling_factor\030\005 \001"
441 "(\0132\034.google.protobuf.DoubleValue\022\014\n\004seed"
442 "\030\030 \001(\005\022\014\n\004name\030\020 \001(\t\"=\n\014AssignedTask\022\031\n\021"
443 "alternative_index\030\001 \001(\005\022\022\n\nstart_time\030\002 "
444 "\001(\003\"\201\001\n\013AssignedJob\022@\n\005tasks\030\001 \003(\01321.ope"
445 "rations_research.scheduling.jssp.Assigne"
446 "dTask\022\025\n\rdue_date_cost\030\002 \001(\003\022\031\n\021sum_of_t"
447 "ask_costs\030\003 \001(\003\"\177\n\022JsspOutputSolution\022>\n"
448 "\004jobs\030\001 \003(\01320.operations_research.schedu"
449 "ling.jssp.AssignedJob\022\025\n\rmakespan_cost\030\002"
450 " \001(\003\022\022\n\ntotal_cost\030\003 \001(\003BG\n\"com.google.o"
451 "rtools.scheduling.jsspP\001\252\002\036Google.OrTool"
452 "s.scheduling.Jsspb\006proto3"
453};
454static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const
456 &::descriptor_table_google_2fprotobuf_2fwrappers_2eproto,
457};
475namespace operations_research {
476namespace scheduling {
477namespace jssp {
478// ===================================================================
479
480class Task::_Internal {
481 public:
482 using HasBits =
483 decltype(::std::declval<Task>()._impl_._has_bits_);
484 static constexpr ::int32_t kHasBitsOffset =
485 8 * PROTOBUF_FIELD_OFFSET(Task, _impl_._has_bits_);
486};
487
488Task::Task(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
489#if defined(PROTOBUF_CUSTOM_VTABLE)
490 : ::google::protobuf::Message(arena, Task_class_data_.base()) {
491#else // PROTOBUF_CUSTOM_VTABLE
492 : ::google::protobuf::Message(arena) {
493#endif // PROTOBUF_CUSTOM_VTABLE
494 SharedCtor(arena);
495 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.Task)
496}
497PROTOBUF_NDEBUG_INLINE Task::Impl_::Impl_(
498 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
499 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
500 [[maybe_unused]] const ::operations_research::scheduling::jssp::Task& from_msg)
501 : _has_bits_{from._has_bits_},
502 _cached_size_{0},
503 machine_{visibility, arena, from.machine_},
504 _machine_cached_byte_size_{0},
505 duration_{visibility, arena, from.duration_},
506 _duration_cached_byte_size_{0},
507 cost_{visibility, arena, from.cost_},
508 _cost_cached_byte_size_{0} {}
509
511 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
512 const Task& from)
513#if defined(PROTOBUF_CUSTOM_VTABLE)
514 : ::google::protobuf::Message(arena, Task_class_data_.base()) {
515#else // PROTOBUF_CUSTOM_VTABLE
516 : ::google::protobuf::Message(arena) {
517#endif // PROTOBUF_CUSTOM_VTABLE
518 Task* const _this = this;
519 (void)_this;
520 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
521 from._internal_metadata_);
522 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
523
524 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.jssp.Task)
525}
526PROTOBUF_NDEBUG_INLINE Task::Impl_::Impl_(
527 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
528 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
529 : _cached_size_{0},
530 machine_{visibility, arena},
531 _machine_cached_byte_size_{0},
532 duration_{visibility, arena},
533 _duration_cached_byte_size_{0},
534 cost_{visibility, arena},
535 _cost_cached_byte_size_{0} {}
536
537inline void Task::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
538 new (&_impl_) Impl_(internal_visibility(), arena);
539}
540Task::~Task() {
541 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.Task)
542 SharedDtor(*this);
543}
544inline void Task::SharedDtor(MessageLite& self) {
545 Task& this_ = static_cast<Task&>(self);
546 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
547 this_.CheckHasBitConsistency();
548 }
549 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
550 ABSL_DCHECK(this_.GetArena() == nullptr);
551 this_._impl_.~Impl_();
552}
553
554inline void* PROTOBUF_NONNULL Task::PlacementNew_(
555 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
556 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
557 return ::new (mem) Task(arena);
558}
559constexpr auto Task::InternalNewImpl_() {
560 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
561 PROTOBUF_FIELD_OFFSET(Task, _impl_.machine_) +
562 decltype(Task::_impl_.machine_)::
563 InternalGetArenaOffset(
564 ::google::protobuf::Message::internal_visibility()),
565 PROTOBUF_FIELD_OFFSET(Task, _impl_.duration_) +
566 decltype(Task::_impl_.duration_)::
567 InternalGetArenaOffset(
568 ::google::protobuf::Message::internal_visibility()),
569 PROTOBUF_FIELD_OFFSET(Task, _impl_.cost_) +
570 decltype(Task::_impl_.cost_)::
571 InternalGetArenaOffset(
572 ::google::protobuf::Message::internal_visibility()),
573 });
574 if (arena_bits.has_value()) {
575 return ::google::protobuf::internal::MessageCreator::ZeroInit(
576 sizeof(Task), alignof(Task), *arena_bits);
577 } else {
578 return ::google::protobuf::internal::MessageCreator(&Task::PlacementNew_,
579 sizeof(Task),
580 alignof(Task));
581 }
582}
583constexpr auto Task::InternalGenerateClassData_() {
584 return ::google::protobuf::internal::ClassDataFull{
585 ::google::protobuf::internal::ClassData{
586 &_Task_default_instance_._instance,
587 &_table_.header,
588 nullptr, // OnDemandRegisterArenaDtor
589 nullptr, // IsInitialized
590 &Task::MergeImpl,
591 ::google::protobuf::Message::GetNewImpl<Task>(),
592#if defined(PROTOBUF_CUSTOM_VTABLE)
593 &Task::SharedDtor,
594 ::google::protobuf::Message::GetClearImpl<Task>(), &Task::ByteSizeLong,
596#endif // PROTOBUF_CUSTOM_VTABLE
597 PROTOBUF_FIELD_OFFSET(Task, _impl_._cached_size_),
598 false,
599 },
600 &Task::kDescriptorMethods,
602 nullptr, // tracker
603 };
604}
605
606PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
607 ::google::protobuf::internal::ClassDataFull Task_class_data_ =
609
610PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
611Task::GetClassData() const {
612 ::google::protobuf::internal::PrefetchToLocalCache(&Task_class_data_);
613 ::google::protobuf::internal::PrefetchToLocalCache(Task_class_data_.tc_table);
614 return Task_class_data_.base();
615}
616PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
617const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
618Task::_table_ = {
619 {
620 PROTOBUF_FIELD_OFFSET(Task, _impl_._has_bits_),
621 0, // no _extensions_
622 3, 24, // max_field_number, fast_idx_mask
623 offsetof(decltype(_table_), field_lookup_table),
624 4294967288, // skipmap
625 offsetof(decltype(_table_), field_entries),
626 3, // num_field_entries
627 0, // num_aux_entries
628 offsetof(decltype(_table_), field_names), // no aux_entries
629 Task_class_data_.base(),
630 nullptr, // post_loop_handler
631 ::_pbi::TcParser::GenericFallback, // fallback
632 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
633 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::Task>(), // to_prefetch
634 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
635 }, {{
636 {::_pbi::TcParser::MiniParse, {}},
637 // repeated int32 machine = 1;
638 {::_pbi::TcParser::FastV32P1,
639 {10, 0, 0,
640 PROTOBUF_FIELD_OFFSET(Task, _impl_.machine_)}},
641 // repeated int64 duration = 2;
642 {::_pbi::TcParser::FastV64P1,
643 {18, 1, 0,
644 PROTOBUF_FIELD_OFFSET(Task, _impl_.duration_)}},
645 // repeated int64 cost = 3;
646 {::_pbi::TcParser::FastV64P1,
647 {26, 2, 0,
648 PROTOBUF_FIELD_OFFSET(Task, _impl_.cost_)}},
649 }}, {{
650 65535, 65535
651 }}, {{
652 // repeated int32 machine = 1;
653 {PROTOBUF_FIELD_OFFSET(Task, _impl_.machine_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
654 // repeated int64 duration = 2;
655 {PROTOBUF_FIELD_OFFSET(Task, _impl_.duration_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
656 // repeated int64 cost = 3;
657 {PROTOBUF_FIELD_OFFSET(Task, _impl_.cost_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
658 }},
659 // no aux_entries
660 {{
661 }},
662};
663PROTOBUF_NOINLINE void Task::Clear() {
664// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.Task)
665 ::google::protobuf::internal::TSanWrite(&_impl_);
666 ::uint32_t cached_has_bits = 0;
667 // Prevent compiler warnings about cached_has_bits being unused
668 (void) cached_has_bits;
669
670 cached_has_bits = _impl_._has_bits_[0];
671 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
672 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
673 _impl_.machine_.Clear();
674 }
675 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
676 _impl_.duration_.Clear();
677 }
678 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
679 _impl_.cost_.Clear();
680 }
681 }
682 _impl_._has_bits_.Clear();
683 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
684}
685
686#if defined(PROTOBUF_CUSTOM_VTABLE)
687::uint8_t* PROTOBUF_NONNULL Task::_InternalSerialize(
688 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
689 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
690 const Task& this_ = static_cast<const Task&>(base);
691#else // PROTOBUF_CUSTOM_VTABLE
692::uint8_t* PROTOBUF_NONNULL Task::_InternalSerialize(
693 ::uint8_t* PROTOBUF_NONNULL target,
694 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
695 const Task& this_ = *this;
696#endif // PROTOBUF_CUSTOM_VTABLE
697 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
698 this_.CheckHasBitConsistency();
699 }
700 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.Task)
701 ::uint32_t cached_has_bits = 0;
702 (void)cached_has_bits;
703
704 cached_has_bits = this_._impl_._has_bits_[0];
705 // repeated int32 machine = 1;
706 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
707 {
708 int byte_size = this_._impl_._machine_cached_byte_size_.Get();
709 if (byte_size > 0) {
710 target = stream->WriteInt32Packed(
711 1, this_._internal_machine(), byte_size, target);
712 }
713 }
714 }
715
716 // repeated int64 duration = 2;
717 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
718 {
719 int byte_size = this_._impl_._duration_cached_byte_size_.Get();
720 if (byte_size > 0) {
721 target = stream->WriteInt64Packed(
722 2, this_._internal_duration(), byte_size, target);
723 }
724 }
725 }
726
727 // repeated int64 cost = 3;
728 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
729 {
730 int byte_size = this_._impl_._cost_cached_byte_size_.Get();
731 if (byte_size > 0) {
732 target = stream->WriteInt64Packed(
733 3, this_._internal_cost(), byte_size, target);
734 }
735 }
736 }
737
738 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
739 target =
740 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
741 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
742 }
743 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.Task)
744 return target;
745}
746
747#if defined(PROTOBUF_CUSTOM_VTABLE)
748::size_t Task::ByteSizeLong(const MessageLite& base) {
749 const Task& this_ = static_cast<const Task&>(base);
750#else // PROTOBUF_CUSTOM_VTABLE
751::size_t Task::ByteSizeLong() const {
752 const Task& this_ = *this;
753#endif // PROTOBUF_CUSTOM_VTABLE
754 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.Task)
755 ::size_t total_size = 0;
756
757 ::uint32_t cached_has_bits = 0;
758 // Prevent compiler warnings about cached_has_bits being unused
759 (void)cached_has_bits;
760
761 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
762 cached_has_bits = this_._impl_._has_bits_[0];
763 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
764 // repeated int32 machine = 1;
765 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
766 total_size +=
767 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
768 this_._internal_machine(), 1,
769 this_._impl_._machine_cached_byte_size_);
770 }
771 // repeated int64 duration = 2;
772 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
773 total_size +=
774 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
775 this_._internal_duration(), 1,
776 this_._impl_._duration_cached_byte_size_);
777 }
778 // repeated int64 cost = 3;
779 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
780 total_size +=
781 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
782 this_._internal_cost(), 1,
783 this_._impl_._cost_cached_byte_size_);
784 }
785 }
786 return this_.MaybeComputeUnknownFieldsSize(total_size,
787 &this_._impl_._cached_size_);
788}
789
790void Task::MergeImpl(::google::protobuf::MessageLite& to_msg,
791 const ::google::protobuf::MessageLite& from_msg) {
792 auto* const _this =
793 static_cast<Task*>(&to_msg);
794 auto& from = static_cast<const Task&>(from_msg);
795 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
796 from.CheckHasBitConsistency();
797 }
798 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.Task)
799 ABSL_DCHECK_NE(&from, _this);
800 ::uint32_t cached_has_bits = 0;
801 (void)cached_has_bits;
802
803 cached_has_bits = from._impl_._has_bits_[0];
804 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
805 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
806 _this->_internal_mutable_machine()->MergeFrom(from._internal_machine());
807 }
808 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
809 _this->_internal_mutable_duration()->MergeFrom(from._internal_duration());
810 }
811 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
812 _this->_internal_mutable_cost()->MergeFrom(from._internal_cost());
813 }
814 }
815 _this->_impl_._has_bits_[0] |= cached_has_bits;
816 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
817 from._internal_metadata_);
818}
819
820void Task::CopyFrom(const Task& from) {
821 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.Task)
822 if (&from == this) return;
823 Clear();
824 MergeFrom(from);
825}
826
827
828void Task::InternalSwap(Task* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
829 using ::std::swap;
830 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
831 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
832 _impl_.machine_.InternalSwap(&other->_impl_.machine_);
833 _impl_.duration_.InternalSwap(&other->_impl_.duration_);
834 _impl_.cost_.InternalSwap(&other->_impl_.cost_);
835}
836
837::google::protobuf::Metadata Task::GetMetadata() const {
838 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
839}
840// ===================================================================
841
842class Job::_Internal {
843 public:
844 using HasBits =
845 decltype(::std::declval<Job>()._impl_._has_bits_);
846 static constexpr ::int32_t kHasBitsOffset =
847 8 * PROTOBUF_FIELD_OFFSET(Job, _impl_._has_bits_);
849
851 ::google::protobuf::internal::TSanWrite(&_impl_);
852 if (_impl_.earliest_start_ != nullptr) _impl_.earliest_start_->Clear();
853 ClearHasBit(_impl_._has_bits_[0],
854 0x00000004U);
855}
857 ::google::protobuf::internal::TSanWrite(&_impl_);
858 if (_impl_.latest_end_ != nullptr) _impl_.latest_end_->Clear();
859 ClearHasBit(_impl_._has_bits_[0],
860 0x00000008U);
861}
862Job::Job(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
863#if defined(PROTOBUF_CUSTOM_VTABLE)
864 : ::google::protobuf::Message(arena, Job_class_data_.base()) {
865#else // PROTOBUF_CUSTOM_VTABLE
866 : ::google::protobuf::Message(arena) {
867#endif // PROTOBUF_CUSTOM_VTABLE
868 SharedCtor(arena);
869 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.Job)
870}
871PROTOBUF_NDEBUG_INLINE Job::Impl_::Impl_(
872 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
873 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
874 [[maybe_unused]] const ::operations_research::scheduling::jssp::Job& from_msg)
875 : _has_bits_{from._has_bits_},
876 _cached_size_{0},
877 tasks_{visibility, arena, from.tasks_},
878 name_(arena, from.name_) {}
879
881 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
882 const Job& from)
883#if defined(PROTOBUF_CUSTOM_VTABLE)
884 : ::google::protobuf::Message(arena, Job_class_data_.base()) {
885#else // PROTOBUF_CUSTOM_VTABLE
886 : ::google::protobuf::Message(arena) {
887#endif // PROTOBUF_CUSTOM_VTABLE
888 Job* const _this = this;
889 (void)_this;
890 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
891 from._internal_metadata_);
892 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
893 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
894 _impl_.earliest_start_ = (CheckHasBit(cached_has_bits, 0x00000004U))
895 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.earliest_start_)
896 : nullptr;
897 _impl_.latest_end_ = (CheckHasBit(cached_has_bits, 0x00000008U))
898 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.latest_end_)
899 : nullptr;
900 ::memcpy(reinterpret_cast<char*>(&_impl_) +
901 offsetof(Impl_, early_due_date_),
902 reinterpret_cast<const char*>(&from._impl_) +
903 offsetof(Impl_, early_due_date_),
904 offsetof(Impl_, lateness_cost_per_time_unit_) -
905 offsetof(Impl_, early_due_date_) +
906 sizeof(Impl_::lateness_cost_per_time_unit_));
907
908 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.jssp.Job)
909}
910PROTOBUF_NDEBUG_INLINE Job::Impl_::Impl_(
911 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
912 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
913 : _cached_size_{0},
914 tasks_{visibility, arena},
915 name_(arena) {}
916
917inline void Job::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
918 new (&_impl_) Impl_(internal_visibility(), arena);
919 ::memset(reinterpret_cast<char*>(&_impl_) +
920 offsetof(Impl_, earliest_start_),
921 0,
922 offsetof(Impl_, lateness_cost_per_time_unit_) -
923 offsetof(Impl_, earliest_start_) +
924 sizeof(Impl_::lateness_cost_per_time_unit_));
925}
926Job::~Job() {
927 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.Job)
928 SharedDtor(*this);
929}
930inline void Job::SharedDtor(MessageLite& self) {
931 Job& this_ = static_cast<Job&>(self);
932 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
933 this_.CheckHasBitConsistency();
934 }
935 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
936 ABSL_DCHECK(this_.GetArena() == nullptr);
937 this_._impl_.name_.Destroy();
938 delete this_._impl_.earliest_start_;
939 delete this_._impl_.latest_end_;
940 this_._impl_.~Impl_();
941}
942
943inline void* PROTOBUF_NONNULL Job::PlacementNew_(
944 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
945 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
946 return ::new (mem) Job(arena);
947}
948constexpr auto Job::InternalNewImpl_() {
949 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
950 PROTOBUF_FIELD_OFFSET(Job, _impl_.tasks_) +
951 decltype(Job::_impl_.tasks_)::
952 InternalGetArenaOffset(
953 ::google::protobuf::Message::internal_visibility()),
954 });
955 if (arena_bits.has_value()) {
956 return ::google::protobuf::internal::MessageCreator::CopyInit(
957 sizeof(Job), alignof(Job), *arena_bits);
958 } else {
959 return ::google::protobuf::internal::MessageCreator(&Job::PlacementNew_,
960 sizeof(Job),
961 alignof(Job));
962 }
963}
964constexpr auto Job::InternalGenerateClassData_() {
965 return ::google::protobuf::internal::ClassDataFull{
966 ::google::protobuf::internal::ClassData{
967 &_Job_default_instance_._instance,
968 &_table_.header,
969 nullptr, // OnDemandRegisterArenaDtor
970 nullptr, // IsInitialized
971 &Job::MergeImpl,
972 ::google::protobuf::Message::GetNewImpl<Job>(),
973#if defined(PROTOBUF_CUSTOM_VTABLE)
974 &Job::SharedDtor,
975 ::google::protobuf::Message::GetClearImpl<Job>(), &Job::ByteSizeLong,
977#endif // PROTOBUF_CUSTOM_VTABLE
978 PROTOBUF_FIELD_OFFSET(Job, _impl_._cached_size_),
979 false,
980 },
981 &Job::kDescriptorMethods,
983 nullptr, // tracker
984 };
985}
986
987PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
988 ::google::protobuf::internal::ClassDataFull Job_class_data_ =
991PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
992Job::GetClassData() const {
993 ::google::protobuf::internal::PrefetchToLocalCache(&Job_class_data_);
994 ::google::protobuf::internal::PrefetchToLocalCache(Job_class_data_.tc_table);
995 return Job_class_data_.base();
996}
997PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
998const ::_pbi::TcParseTable<3, 8, 3, 60, 2>
999Job::_table_ = {
1000 {
1001 PROTOBUF_FIELD_OFFSET(Job, _impl_._has_bits_),
1002 0, // no _extensions_
1003 16, 56, // max_field_number, fast_idx_mask
1004 offsetof(decltype(_table_), field_lookup_table),
1005 4294934400, // skipmap
1006 offsetof(decltype(_table_), field_entries),
1007 8, // num_field_entries
1008 3, // num_aux_entries
1009 offsetof(decltype(_table_), aux_entries),
1010 Job_class_data_.base(),
1011 nullptr, // post_loop_handler
1012 ::_pbi::TcParser::GenericFallback, // fallback
1013 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1014 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::Job>(), // to_prefetch
1015 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1016 }, {{
1017 // string name = 16;
1018 {::_pbi::TcParser::FastUS2,
1019 {386, 1, 0,
1020 PROTOBUF_FIELD_OFFSET(Job, _impl_.name_)}},
1021 // repeated .operations_research.scheduling.jssp.Task tasks = 1;
1022 {::_pbi::TcParser::FastMtR1,
1023 {10, 0, 0,
1024 PROTOBUF_FIELD_OFFSET(Job, _impl_.tasks_)}},
1025 // .google.protobuf.Int64Value earliest_start = 2;
1026 {::_pbi::TcParser::FastMtS1,
1027 {18, 2, 1,
1028 PROTOBUF_FIELD_OFFSET(Job, _impl_.earliest_start_)}},
1029 // int64 early_due_date = 3;
1030 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Job, _impl_.early_due_date_), 4>(),
1031 {24, 4, 0,
1032 PROTOBUF_FIELD_OFFSET(Job, _impl_.early_due_date_)}},
1033 // int64 late_due_date = 4;
1034 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Job, _impl_.late_due_date_), 5>(),
1035 {32, 5, 0,
1036 PROTOBUF_FIELD_OFFSET(Job, _impl_.late_due_date_)}},
1037 // int64 earliness_cost_per_time_unit = 5;
1038 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Job, _impl_.earliness_cost_per_time_unit_), 6>(),
1039 {40, 6, 0,
1040 PROTOBUF_FIELD_OFFSET(Job, _impl_.earliness_cost_per_time_unit_)}},
1041 // int64 lateness_cost_per_time_unit = 6;
1042 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Job, _impl_.lateness_cost_per_time_unit_), 7>(),
1043 {48, 7, 0,
1044 PROTOBUF_FIELD_OFFSET(Job, _impl_.lateness_cost_per_time_unit_)}},
1045 // .google.protobuf.Int64Value latest_end = 7;
1046 {::_pbi::TcParser::FastMtS1,
1047 {58, 3, 2,
1048 PROTOBUF_FIELD_OFFSET(Job, _impl_.latest_end_)}},
1049 }}, {{
1050 65535, 65535
1051 }}, {{
1052 // repeated .operations_research.scheduling.jssp.Task tasks = 1;
1053 {PROTOBUF_FIELD_OFFSET(Job, _impl_.tasks_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1054 // .google.protobuf.Int64Value earliest_start = 2;
1055 {PROTOBUF_FIELD_OFFSET(Job, _impl_.earliest_start_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1056 // int64 early_due_date = 3;
1057 {PROTOBUF_FIELD_OFFSET(Job, _impl_.early_due_date_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1058 // int64 late_due_date = 4;
1059 {PROTOBUF_FIELD_OFFSET(Job, _impl_.late_due_date_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1060 // int64 earliness_cost_per_time_unit = 5;
1061 {PROTOBUF_FIELD_OFFSET(Job, _impl_.earliness_cost_per_time_unit_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1062 // int64 lateness_cost_per_time_unit = 6;
1063 {PROTOBUF_FIELD_OFFSET(Job, _impl_.lateness_cost_per_time_unit_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
1064 // .google.protobuf.Int64Value latest_end = 7;
1065 {PROTOBUF_FIELD_OFFSET(Job, _impl_.latest_end_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1066 // string name = 16;
1067 {PROTOBUF_FIELD_OFFSET(Job, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
1068 }},
1069 {{
1070 {::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::Task>()},
1071 {::_pbi::TcParser::GetTable<::google::protobuf::Int64Value>()},
1072 {::_pbi::TcParser::GetTable<::google::protobuf::Int64Value>()},
1073 }},
1074 {{
1075 "\47\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0"
1076 "operations_research.scheduling.jssp.Job"
1077 "name"
1078 }},
1079};
1080PROTOBUF_NOINLINE void Job::Clear() {
1081// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.Job)
1082 ::google::protobuf::internal::TSanWrite(&_impl_);
1083 ::uint32_t cached_has_bits = 0;
1084 // Prevent compiler warnings about cached_has_bits being unused
1085 (void) cached_has_bits;
1086
1087 cached_has_bits = _impl_._has_bits_[0];
1088 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
1089 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1090 _impl_.tasks_.Clear();
1091 }
1092 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1093 _impl_.name_.ClearNonDefaultToEmpty();
1094 }
1095 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1096 ABSL_DCHECK(_impl_.earliest_start_ != nullptr);
1097 _impl_.earliest_start_->Clear();
1098 }
1099 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1100 ABSL_DCHECK(_impl_.latest_end_ != nullptr);
1101 _impl_.latest_end_->Clear();
1102 }
1103 }
1104 if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
1105 ::memset(&_impl_.early_due_date_, 0, static_cast<::size_t>(
1106 reinterpret_cast<char*>(&_impl_.lateness_cost_per_time_unit_) -
1107 reinterpret_cast<char*>(&_impl_.early_due_date_)) + sizeof(_impl_.lateness_cost_per_time_unit_));
1108 }
1109 _impl_._has_bits_.Clear();
1110 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1111}
1112
1113#if defined(PROTOBUF_CUSTOM_VTABLE)
1114::uint8_t* PROTOBUF_NONNULL Job::_InternalSerialize(
1115 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1116 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1117 const Job& this_ = static_cast<const Job&>(base);
1118#else // PROTOBUF_CUSTOM_VTABLE
1119::uint8_t* PROTOBUF_NONNULL Job::_InternalSerialize(
1120 ::uint8_t* PROTOBUF_NONNULL target,
1121 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1122 const Job& this_ = *this;
1123#endif // PROTOBUF_CUSTOM_VTABLE
1124 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1125 this_.CheckHasBitConsistency();
1126 }
1127 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.Job)
1128 ::uint32_t cached_has_bits = 0;
1129 (void)cached_has_bits;
1130
1131 cached_has_bits = this_._impl_._has_bits_[0];
1132 // repeated .operations_research.scheduling.jssp.Task tasks = 1;
1133 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1134 for (unsigned i = 0, n = static_cast<unsigned>(
1135 this_._internal_tasks_size());
1136 i < n; i++) {
1137 const auto& repfield = this_._internal_tasks().Get(i);
1138 target =
1139 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1140 1, repfield, repfield.GetCachedSize(),
1141 target, stream);
1142 }
1143 }
1144
1145 // .google.protobuf.Int64Value earliest_start = 2;
1146 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1147 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1148 2, *this_._impl_.earliest_start_, this_._impl_.earliest_start_->GetCachedSize(), target,
1149 stream);
1150 }
1151
1152 // int64 early_due_date = 3;
1153 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1154 if (this_._internal_early_due_date() != 0) {
1155 target =
1156 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
1157 stream, this_._internal_early_due_date(), target);
1158 }
1159 }
1160
1161 // int64 late_due_date = 4;
1162 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
1163 if (this_._internal_late_due_date() != 0) {
1164 target =
1165 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
1166 stream, this_._internal_late_due_date(), target);
1167 }
1168 }
1169
1170 // int64 earliness_cost_per_time_unit = 5;
1171 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
1172 if (this_._internal_earliness_cost_per_time_unit() != 0) {
1173 target =
1174 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
1175 stream, this_._internal_earliness_cost_per_time_unit(), target);
1176 }
1177 }
1178
1179 // int64 lateness_cost_per_time_unit = 6;
1180 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
1181 if (this_._internal_lateness_cost_per_time_unit() != 0) {
1182 target =
1183 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<6>(
1184 stream, this_._internal_lateness_cost_per_time_unit(), target);
1185 }
1186 }
1187
1188 // .google.protobuf.Int64Value latest_end = 7;
1189 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1190 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1191 7, *this_._impl_.latest_end_, this_._impl_.latest_end_->GetCachedSize(), target,
1192 stream);
1193 }
1194
1195 // string name = 16;
1196 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1197 if (!this_._internal_name().empty()) {
1198 const ::std::string& _s = this_._internal_name();
1199 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
1200 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.scheduling.jssp.Job.name");
1201 target = stream->WriteStringMaybeAliased(16, _s, target);
1202 }
1203 }
1204
1205 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1206 target =
1207 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1208 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1209 }
1210 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.Job)
1211 return target;
1212}
1213
1214#if defined(PROTOBUF_CUSTOM_VTABLE)
1215::size_t Job::ByteSizeLong(const MessageLite& base) {
1216 const Job& this_ = static_cast<const Job&>(base);
1217#else // PROTOBUF_CUSTOM_VTABLE
1218::size_t Job::ByteSizeLong() const {
1219 const Job& this_ = *this;
1220#endif // PROTOBUF_CUSTOM_VTABLE
1221 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.Job)
1222 ::size_t total_size = 0;
1223
1224 ::uint32_t cached_has_bits = 0;
1225 // Prevent compiler warnings about cached_has_bits being unused
1226 (void)cached_has_bits;
1227
1228 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1229 cached_has_bits = this_._impl_._has_bits_[0];
1230 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
1231 // repeated .operations_research.scheduling.jssp.Task tasks = 1;
1232 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1233 total_size += 1UL * this_._internal_tasks_size();
1234 for (const auto& msg : this_._internal_tasks()) {
1235 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1236 }
1237 }
1238 // string name = 16;
1239 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1240 if (!this_._internal_name().empty()) {
1241 total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
1242 this_._internal_name());
1243 }
1244 }
1245 // .google.protobuf.Int64Value earliest_start = 2;
1246 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1247 total_size += 1 +
1248 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.earliest_start_);
1249 }
1250 // .google.protobuf.Int64Value latest_end = 7;
1251 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1252 total_size += 1 +
1253 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.latest_end_);
1254 }
1255 // int64 early_due_date = 3;
1256 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1257 if (this_._internal_early_due_date() != 0) {
1258 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
1259 this_._internal_early_due_date());
1260 }
1261 }
1262 // int64 late_due_date = 4;
1263 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
1264 if (this_._internal_late_due_date() != 0) {
1265 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
1266 this_._internal_late_due_date());
1267 }
1268 }
1269 // int64 earliness_cost_per_time_unit = 5;
1270 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
1271 if (this_._internal_earliness_cost_per_time_unit() != 0) {
1272 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
1273 this_._internal_earliness_cost_per_time_unit());
1274 }
1275 }
1276 // int64 lateness_cost_per_time_unit = 6;
1277 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
1278 if (this_._internal_lateness_cost_per_time_unit() != 0) {
1279 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
1280 this_._internal_lateness_cost_per_time_unit());
1281 }
1282 }
1283 }
1284 return this_.MaybeComputeUnknownFieldsSize(total_size,
1285 &this_._impl_._cached_size_);
1286}
1287
1288void Job::MergeImpl(::google::protobuf::MessageLite& to_msg,
1289 const ::google::protobuf::MessageLite& from_msg) {
1290 auto* const _this =
1291 static_cast<Job*>(&to_msg);
1292 auto& from = static_cast<const Job&>(from_msg);
1293 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1294 from.CheckHasBitConsistency();
1295 }
1296 ::google::protobuf::Arena* arena = _this->GetArena();
1297 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.Job)
1298 ABSL_DCHECK_NE(&from, _this);
1299 ::uint32_t cached_has_bits = 0;
1300 (void)cached_has_bits;
1301
1302 cached_has_bits = from._impl_._has_bits_[0];
1303 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
1304 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1305 _this->_internal_mutable_tasks()->InternalMergeFromWithArena(
1306 ::google::protobuf::MessageLite::internal_visibility(), arena,
1307 from._internal_tasks());
1308 }
1309 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1310 if (!from._internal_name().empty()) {
1311 _this->_internal_set_name(from._internal_name());
1312 } else {
1313 if (_this->_impl_.name_.IsDefault()) {
1314 _this->_internal_set_name("");
1315 }
1316 }
1317 }
1318 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1319 ABSL_DCHECK(from._impl_.earliest_start_ != nullptr);
1320 if (_this->_impl_.earliest_start_ == nullptr) {
1321 _this->_impl_.earliest_start_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.earliest_start_);
1322 } else {
1323 _this->_impl_.earliest_start_->MergeFrom(*from._impl_.earliest_start_);
1324 }
1325 }
1326 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
1327 ABSL_DCHECK(from._impl_.latest_end_ != nullptr);
1328 if (_this->_impl_.latest_end_ == nullptr) {
1329 _this->_impl_.latest_end_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.latest_end_);
1330 } else {
1331 _this->_impl_.latest_end_->MergeFrom(*from._impl_.latest_end_);
1332 }
1333 }
1334 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
1335 if (from._internal_early_due_date() != 0) {
1336 _this->_impl_.early_due_date_ = from._impl_.early_due_date_;
1337 }
1338 }
1339 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
1340 if (from._internal_late_due_date() != 0) {
1341 _this->_impl_.late_due_date_ = from._impl_.late_due_date_;
1342 }
1343 }
1344 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
1345 if (from._internal_earliness_cost_per_time_unit() != 0) {
1346 _this->_impl_.earliness_cost_per_time_unit_ = from._impl_.earliness_cost_per_time_unit_;
1347 }
1348 }
1349 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
1350 if (from._internal_lateness_cost_per_time_unit() != 0) {
1351 _this->_impl_.lateness_cost_per_time_unit_ = from._impl_.lateness_cost_per_time_unit_;
1352 }
1353 }
1354 }
1355 _this->_impl_._has_bits_[0] |= cached_has_bits;
1356 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1357 from._internal_metadata_);
1358}
1359
1360void Job::CopyFrom(const Job& from) {
1361 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.Job)
1362 if (&from == this) return;
1363 Clear();
1364 MergeFrom(from);
1365}
1366
1367
1368void Job::InternalSwap(Job* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1369 using ::std::swap;
1370 auto* arena = GetArena();
1371 ABSL_DCHECK_EQ(arena, other->GetArena());
1372 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1373 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1374 _impl_.tasks_.InternalSwap(&other->_impl_.tasks_);
1375 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
1376 ::google::protobuf::internal::memswap<
1377 PROTOBUF_FIELD_OFFSET(Job, _impl_.lateness_cost_per_time_unit_)
1378 + sizeof(Job::_impl_.lateness_cost_per_time_unit_)
1379 - PROTOBUF_FIELD_OFFSET(Job, _impl_.earliest_start_)>(
1380 reinterpret_cast<char*>(&_impl_.earliest_start_),
1381 reinterpret_cast<char*>(&other->_impl_.earliest_start_));
1382}
1383
1384::google::protobuf::Metadata Job::GetMetadata() const {
1385 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1387// ===================================================================
1388
1390 public:
1391 using HasBits =
1392 decltype(::std::declval<TransitionTimeMatrix>()._impl_._has_bits_);
1393 static constexpr ::int32_t kHasBitsOffset =
1394 8 * PROTOBUF_FIELD_OFFSET(TransitionTimeMatrix, _impl_._has_bits_);
1395};
1397TransitionTimeMatrix::TransitionTimeMatrix(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1398#if defined(PROTOBUF_CUSTOM_VTABLE)
1399 : ::google::protobuf::Message(arena, TransitionTimeMatrix_class_data_.base()) {
1400#else // PROTOBUF_CUSTOM_VTABLE
1401 : ::google::protobuf::Message(arena) {
1402#endif // PROTOBUF_CUSTOM_VTABLE
1403 SharedCtor(arena);
1404 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.TransitionTimeMatrix)
1405}
1406PROTOBUF_NDEBUG_INLINE TransitionTimeMatrix::Impl_::Impl_(
1407 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1408 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1409 [[maybe_unused]] const ::operations_research::scheduling::jssp::TransitionTimeMatrix& from_msg)
1410 : _has_bits_{from._has_bits_},
1411 _cached_size_{0},
1412 transition_time_{visibility, arena, from.transition_time_},
1413 _transition_time_cached_byte_size_{0} {}
1414
1416 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1417 const TransitionTimeMatrix& from)
1418#if defined(PROTOBUF_CUSTOM_VTABLE)
1419 : ::google::protobuf::Message(arena, TransitionTimeMatrix_class_data_.base()) {
1420#else // PROTOBUF_CUSTOM_VTABLE
1421 : ::google::protobuf::Message(arena) {
1422#endif // PROTOBUF_CUSTOM_VTABLE
1423 TransitionTimeMatrix* const _this = this;
1424 (void)_this;
1425 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1426 from._internal_metadata_);
1427 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1428
1429 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.jssp.TransitionTimeMatrix)
1430}
1431PROTOBUF_NDEBUG_INLINE TransitionTimeMatrix::Impl_::Impl_(
1432 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1433 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1434 : _cached_size_{0},
1435 transition_time_{visibility, arena},
1436 _transition_time_cached_byte_size_{0} {}
1437
1438inline void TransitionTimeMatrix::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1439 new (&_impl_) Impl_(internal_visibility(), arena);
1440}
1442 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.TransitionTimeMatrix)
1443 SharedDtor(*this);
1445inline void TransitionTimeMatrix::SharedDtor(MessageLite& self) {
1446 TransitionTimeMatrix& this_ = static_cast<TransitionTimeMatrix&>(self);
1447 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1448 this_.CheckHasBitConsistency();
1449 }
1450 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1451 ABSL_DCHECK(this_.GetArena() == nullptr);
1452 this_._impl_.~Impl_();
1453}
1454
1455inline void* PROTOBUF_NONNULL TransitionTimeMatrix::PlacementNew_(
1456 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1457 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1458 return ::new (mem) TransitionTimeMatrix(arena);
1459}
1460constexpr auto TransitionTimeMatrix::InternalNewImpl_() {
1461 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1462 PROTOBUF_FIELD_OFFSET(TransitionTimeMatrix, _impl_.transition_time_) +
1463 decltype(TransitionTimeMatrix::_impl_.transition_time_)::
1464 InternalGetArenaOffset(
1465 ::google::protobuf::Message::internal_visibility()),
1466 });
1467 if (arena_bits.has_value()) {
1468 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1469 sizeof(TransitionTimeMatrix), alignof(TransitionTimeMatrix), *arena_bits);
1470 } else {
1471 return ::google::protobuf::internal::MessageCreator(&TransitionTimeMatrix::PlacementNew_,
1472 sizeof(TransitionTimeMatrix),
1473 alignof(TransitionTimeMatrix));
1474 }
1475}
1477 return ::google::protobuf::internal::ClassDataFull{
1478 ::google::protobuf::internal::ClassData{
1480 &_table_.header,
1481 nullptr, // OnDemandRegisterArenaDtor
1482 nullptr, // IsInitialized
1483 &TransitionTimeMatrix::MergeImpl,
1484 ::google::protobuf::Message::GetNewImpl<TransitionTimeMatrix>(),
1485#if defined(PROTOBUF_CUSTOM_VTABLE)
1486 &TransitionTimeMatrix::SharedDtor,
1487 ::google::protobuf::Message::GetClearImpl<TransitionTimeMatrix>(), &TransitionTimeMatrix::ByteSizeLong,
1489#endif // PROTOBUF_CUSTOM_VTABLE
1490 PROTOBUF_FIELD_OFFSET(TransitionTimeMatrix, _impl_._cached_size_),
1491 false,
1492 },
1493 &TransitionTimeMatrix::kDescriptorMethods,
1495 nullptr, // tracker
1496 };
1497}
1498
1499PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1500 ::google::protobuf::internal::ClassDataFull TransitionTimeMatrix_class_data_ =
1502
1503PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1504TransitionTimeMatrix::GetClassData() const {
1505 ::google::protobuf::internal::PrefetchToLocalCache(&TransitionTimeMatrix_class_data_);
1506 ::google::protobuf::internal::PrefetchToLocalCache(TransitionTimeMatrix_class_data_.tc_table);
1508}
1509PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1510const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
1511TransitionTimeMatrix::_table_ = {
1512 {
1513 PROTOBUF_FIELD_OFFSET(TransitionTimeMatrix, _impl_._has_bits_),
1514 0, // no _extensions_
1515 1, 0, // max_field_number, fast_idx_mask
1516 offsetof(decltype(_table_), field_lookup_table),
1517 4294967294, // skipmap
1518 offsetof(decltype(_table_), field_entries),
1519 1, // num_field_entries
1520 0, // num_aux_entries
1521 offsetof(decltype(_table_), field_names), // no aux_entries
1523 nullptr, // post_loop_handler
1524 ::_pbi::TcParser::GenericFallback, // fallback
1525 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1526 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::TransitionTimeMatrix>(), // to_prefetch
1527 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1528 }, {{
1529 // repeated int64 transition_time = 1;
1530 {::_pbi::TcParser::FastV64P1,
1531 {10, 0, 0,
1532 PROTOBUF_FIELD_OFFSET(TransitionTimeMatrix, _impl_.transition_time_)}},
1533 }}, {{
1534 65535, 65535
1535 }}, {{
1536 // repeated int64 transition_time = 1;
1537 {PROTOBUF_FIELD_OFFSET(TransitionTimeMatrix, _impl_.transition_time_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
1538 }},
1539 // no aux_entries
1540 {{
1541 }},
1542};
1543PROTOBUF_NOINLINE void TransitionTimeMatrix::Clear() {
1544// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.TransitionTimeMatrix)
1545 ::google::protobuf::internal::TSanWrite(&_impl_);
1546 ::uint32_t cached_has_bits = 0;
1547 // Prevent compiler warnings about cached_has_bits being unused
1548 (void) cached_has_bits;
1549
1550 cached_has_bits = _impl_._has_bits_[0];
1551 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1552 _impl_.transition_time_.Clear();
1553 }
1554 _impl_._has_bits_.Clear();
1555 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1556}
1557
1558#if defined(PROTOBUF_CUSTOM_VTABLE)
1559::uint8_t* PROTOBUF_NONNULL TransitionTimeMatrix::_InternalSerialize(
1560 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1561 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1562 const TransitionTimeMatrix& this_ = static_cast<const TransitionTimeMatrix&>(base);
1563#else // PROTOBUF_CUSTOM_VTABLE
1564::uint8_t* PROTOBUF_NONNULL TransitionTimeMatrix::_InternalSerialize(
1565 ::uint8_t* PROTOBUF_NONNULL target,
1566 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1567 const TransitionTimeMatrix& this_ = *this;
1568#endif // PROTOBUF_CUSTOM_VTABLE
1569 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1570 this_.CheckHasBitConsistency();
1571 }
1572 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.TransitionTimeMatrix)
1573 ::uint32_t cached_has_bits = 0;
1574 (void)cached_has_bits;
1575
1576 cached_has_bits = this_._impl_._has_bits_[0];
1577 // repeated int64 transition_time = 1;
1578 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1579 {
1580 int byte_size = this_._impl_._transition_time_cached_byte_size_.Get();
1581 if (byte_size > 0) {
1582 target = stream->WriteInt64Packed(
1583 1, this_._internal_transition_time(), byte_size, target);
1584 }
1585 }
1586 }
1587
1588 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1589 target =
1590 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1591 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1592 }
1593 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.TransitionTimeMatrix)
1594 return target;
1595}
1596
1597#if defined(PROTOBUF_CUSTOM_VTABLE)
1598::size_t TransitionTimeMatrix::ByteSizeLong(const MessageLite& base) {
1599 const TransitionTimeMatrix& this_ = static_cast<const TransitionTimeMatrix&>(base);
1600#else // PROTOBUF_CUSTOM_VTABLE
1601::size_t TransitionTimeMatrix::ByteSizeLong() const {
1602 const TransitionTimeMatrix& this_ = *this;
1603#endif // PROTOBUF_CUSTOM_VTABLE
1604 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.TransitionTimeMatrix)
1605 ::size_t total_size = 0;
1606
1607 ::uint32_t cached_has_bits = 0;
1608 // Prevent compiler warnings about cached_has_bits being unused
1609 (void)cached_has_bits;
1610
1611 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1612 {
1613 // repeated int64 transition_time = 1;
1614 cached_has_bits = this_._impl_._has_bits_[0];
1615 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1616 total_size +=
1617 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
1618 this_._internal_transition_time(), 1,
1619 this_._impl_._transition_time_cached_byte_size_);
1620 }
1621 }
1622 return this_.MaybeComputeUnknownFieldsSize(total_size,
1623 &this_._impl_._cached_size_);
1624}
1625
1626void TransitionTimeMatrix::MergeImpl(::google::protobuf::MessageLite& to_msg,
1627 const ::google::protobuf::MessageLite& from_msg) {
1628 auto* const _this =
1629 static_cast<TransitionTimeMatrix*>(&to_msg);
1630 auto& from = static_cast<const TransitionTimeMatrix&>(from_msg);
1631 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1632 from.CheckHasBitConsistency();
1633 }
1634 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.TransitionTimeMatrix)
1635 ABSL_DCHECK_NE(&from, _this);
1636 ::uint32_t cached_has_bits = 0;
1637 (void)cached_has_bits;
1638
1639 cached_has_bits = from._impl_._has_bits_[0];
1640 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1641 _this->_internal_mutable_transition_time()->MergeFrom(from._internal_transition_time());
1642 }
1643 _this->_impl_._has_bits_[0] |= cached_has_bits;
1644 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1645 from._internal_metadata_);
1646}
1647
1648void TransitionTimeMatrix::CopyFrom(const TransitionTimeMatrix& from) {
1649 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.TransitionTimeMatrix)
1650 if (&from == this) return;
1652 MergeFrom(from);
1653}
1654
1655
1656void TransitionTimeMatrix::InternalSwap(TransitionTimeMatrix* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1657 using ::std::swap;
1658 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1659 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1660 _impl_.transition_time_.InternalSwap(&other->_impl_.transition_time_);
1661}
1662
1663::google::protobuf::Metadata TransitionTimeMatrix::GetMetadata() const {
1664 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1665}
1666// ===================================================================
1667
1668class Machine::_Internal {
1669 public:
1670 using HasBits =
1671 decltype(::std::declval<Machine>()._impl_._has_bits_);
1672 static constexpr ::int32_t kHasBitsOffset =
1673 8 * PROTOBUF_FIELD_OFFSET(Machine, _impl_._has_bits_);
1675
1676Machine::Machine(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1677#if defined(PROTOBUF_CUSTOM_VTABLE)
1678 : ::google::protobuf::Message(arena, Machine_class_data_.base()) {
1679#else // PROTOBUF_CUSTOM_VTABLE
1680 : ::google::protobuf::Message(arena) {
1681#endif // PROTOBUF_CUSTOM_VTABLE
1682 SharedCtor(arena);
1683 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.Machine)
1684}
1685PROTOBUF_NDEBUG_INLINE Machine::Impl_::Impl_(
1686 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1687 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1688 [[maybe_unused]] const ::operations_research::scheduling::jssp::Machine& from_msg)
1689 : _has_bits_{from._has_bits_},
1690 _cached_size_{0},
1691 name_(arena, from.name_) {}
1692
1694 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1695 const Machine& from)
1696#if defined(PROTOBUF_CUSTOM_VTABLE)
1697 : ::google::protobuf::Message(arena, Machine_class_data_.base()) {
1698#else // PROTOBUF_CUSTOM_VTABLE
1699 : ::google::protobuf::Message(arena) {
1700#endif // PROTOBUF_CUSTOM_VTABLE
1701 Machine* const _this = this;
1702 (void)_this;
1703 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1704 from._internal_metadata_);
1705 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1706 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
1707 _impl_.transition_time_matrix_ = (CheckHasBit(cached_has_bits, 0x00000002U))
1708 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.transition_time_matrix_)
1709 : nullptr;
1710
1711 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.jssp.Machine)
1712}
1713PROTOBUF_NDEBUG_INLINE Machine::Impl_::Impl_(
1714 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1715 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1716 : _cached_size_{0},
1717 name_(arena) {}
1718
1719inline void Machine::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1720 new (&_impl_) Impl_(internal_visibility(), arena);
1721 _impl_.transition_time_matrix_ = {};
1722}
1724 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.Machine)
1725 SharedDtor(*this);
1726}
1727inline void Machine::SharedDtor(MessageLite& self) {
1728 Machine& this_ = static_cast<Machine&>(self);
1729 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1730 this_.CheckHasBitConsistency();
1731 }
1732 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1733 ABSL_DCHECK(this_.GetArena() == nullptr);
1734 this_._impl_.name_.Destroy();
1735 delete this_._impl_.transition_time_matrix_;
1736 this_._impl_.~Impl_();
1737}
1738
1739inline void* PROTOBUF_NONNULL Machine::PlacementNew_(
1740 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1741 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1742 return ::new (mem) Machine(arena);
1743}
1744constexpr auto Machine::InternalNewImpl_() {
1745 return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Machine),
1746 alignof(Machine));
1747}
1748constexpr auto Machine::InternalGenerateClassData_() {
1749 return ::google::protobuf::internal::ClassDataFull{
1750 ::google::protobuf::internal::ClassData{
1752 &_table_.header,
1753 nullptr, // OnDemandRegisterArenaDtor
1754 nullptr, // IsInitialized
1755 &Machine::MergeImpl,
1756 ::google::protobuf::Message::GetNewImpl<Machine>(),
1757#if defined(PROTOBUF_CUSTOM_VTABLE)
1758 &Machine::SharedDtor,
1759 ::google::protobuf::Message::GetClearImpl<Machine>(), &Machine::ByteSizeLong,
1761#endif // PROTOBUF_CUSTOM_VTABLE
1762 PROTOBUF_FIELD_OFFSET(Machine, _impl_._cached_size_),
1763 false,
1764 },
1765 &Machine::kDescriptorMethods,
1767 nullptr, // tracker
1768 };
1769}
1770
1771PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1772 ::google::protobuf::internal::ClassDataFull Machine_class_data_ =
1774
1775PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1776Machine::GetClassData() const {
1777 ::google::protobuf::internal::PrefetchToLocalCache(&Machine_class_data_);
1778 ::google::protobuf::internal::PrefetchToLocalCache(Machine_class_data_.tc_table);
1779 return Machine_class_data_.base();
1780}
1781PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1782const ::_pbi::TcParseTable<1, 2, 1, 56, 2>
1783Machine::_table_ = {
1784 {
1785 PROTOBUF_FIELD_OFFSET(Machine, _impl_._has_bits_),
1786 0, // no _extensions_
1787 16, 8, // max_field_number, fast_idx_mask
1788 offsetof(decltype(_table_), field_lookup_table),
1789 4294934526, // skipmap
1790 offsetof(decltype(_table_), field_entries),
1791 2, // num_field_entries
1792 1, // num_aux_entries
1793 offsetof(decltype(_table_), aux_entries),
1794 Machine_class_data_.base(),
1795 nullptr, // post_loop_handler
1796 ::_pbi::TcParser::GenericFallback, // fallback
1797 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1798 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::Machine>(), // to_prefetch
1799 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1800 }, {{
1801 // string name = 16;
1802 {::_pbi::TcParser::FastUS2,
1803 {386, 0, 0,
1804 PROTOBUF_FIELD_OFFSET(Machine, _impl_.name_)}},
1805 // .operations_research.scheduling.jssp.TransitionTimeMatrix transition_time_matrix = 1;
1806 {::_pbi::TcParser::FastMtS1,
1807 {10, 1, 0,
1808 PROTOBUF_FIELD_OFFSET(Machine, _impl_.transition_time_matrix_)}},
1809 }}, {{
1810 65535, 65535
1811 }}, {{
1812 // .operations_research.scheduling.jssp.TransitionTimeMatrix transition_time_matrix = 1;
1813 {PROTOBUF_FIELD_OFFSET(Machine, _impl_.transition_time_matrix_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
1814 // string name = 16;
1815 {PROTOBUF_FIELD_OFFSET(Machine, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
1816 }},
1817 {{
1818 {::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::TransitionTimeMatrix>()},
1819 }},
1820 {{
1821 "\53\0\4\0\0\0\0\0"
1822 "operations_research.scheduling.jssp.Machine"
1823 "name"
1824 }},
1825};
1826PROTOBUF_NOINLINE void Machine::Clear() {
1827// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.Machine)
1828 ::google::protobuf::internal::TSanWrite(&_impl_);
1829 ::uint32_t cached_has_bits = 0;
1830 // Prevent compiler warnings about cached_has_bits being unused
1831 (void) cached_has_bits;
1832
1833 cached_has_bits = _impl_._has_bits_[0];
1834 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1835 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1836 _impl_.name_.ClearNonDefaultToEmpty();
1837 }
1838 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1839 ABSL_DCHECK(_impl_.transition_time_matrix_ != nullptr);
1840 _impl_.transition_time_matrix_->Clear();
1841 }
1842 }
1843 _impl_._has_bits_.Clear();
1844 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1845}
1846
1847#if defined(PROTOBUF_CUSTOM_VTABLE)
1848::uint8_t* PROTOBUF_NONNULL Machine::_InternalSerialize(
1849 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1850 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1851 const Machine& this_ = static_cast<const Machine&>(base);
1852#else // PROTOBUF_CUSTOM_VTABLE
1853::uint8_t* PROTOBUF_NONNULL Machine::_InternalSerialize(
1854 ::uint8_t* PROTOBUF_NONNULL target,
1855 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1856 const Machine& this_ = *this;
1857#endif // PROTOBUF_CUSTOM_VTABLE
1858 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1859 this_.CheckHasBitConsistency();
1860 }
1861 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.Machine)
1862 ::uint32_t cached_has_bits = 0;
1863 (void)cached_has_bits;
1864
1865 cached_has_bits = this_._impl_._has_bits_[0];
1866 // .operations_research.scheduling.jssp.TransitionTimeMatrix transition_time_matrix = 1;
1867 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1868 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1869 1, *this_._impl_.transition_time_matrix_, this_._impl_.transition_time_matrix_->GetCachedSize(), target,
1870 stream);
1871 }
1872
1873 // string name = 16;
1874 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1875 if (!this_._internal_name().empty()) {
1876 const ::std::string& _s = this_._internal_name();
1877 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
1878 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.scheduling.jssp.Machine.name");
1879 target = stream->WriteStringMaybeAliased(16, _s, target);
1880 }
1881 }
1882
1883 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1884 target =
1885 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1886 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1887 }
1888 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.Machine)
1889 return target;
1890}
1891
1892#if defined(PROTOBUF_CUSTOM_VTABLE)
1893::size_t Machine::ByteSizeLong(const MessageLite& base) {
1894 const Machine& this_ = static_cast<const Machine&>(base);
1895#else // PROTOBUF_CUSTOM_VTABLE
1896::size_t Machine::ByteSizeLong() const {
1897 const Machine& this_ = *this;
1898#endif // PROTOBUF_CUSTOM_VTABLE
1899 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.Machine)
1900 ::size_t total_size = 0;
1901
1902 ::uint32_t cached_has_bits = 0;
1903 // Prevent compiler warnings about cached_has_bits being unused
1904 (void)cached_has_bits;
1905
1906 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1907 cached_has_bits = this_._impl_._has_bits_[0];
1908 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1909 // string name = 16;
1910 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1911 if (!this_._internal_name().empty()) {
1912 total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
1913 this_._internal_name());
1914 }
1915 }
1916 // .operations_research.scheduling.jssp.TransitionTimeMatrix transition_time_matrix = 1;
1917 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1918 total_size += 1 +
1919 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.transition_time_matrix_);
1920 }
1921 }
1922 return this_.MaybeComputeUnknownFieldsSize(total_size,
1923 &this_._impl_._cached_size_);
1924}
1925
1926void Machine::MergeImpl(::google::protobuf::MessageLite& to_msg,
1927 const ::google::protobuf::MessageLite& from_msg) {
1928 auto* const _this =
1929 static_cast<Machine*>(&to_msg);
1930 auto& from = static_cast<const Machine&>(from_msg);
1931 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1932 from.CheckHasBitConsistency();
1933 }
1934 ::google::protobuf::Arena* arena = _this->GetArena();
1935 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.Machine)
1936 ABSL_DCHECK_NE(&from, _this);
1937 ::uint32_t cached_has_bits = 0;
1938 (void)cached_has_bits;
1939
1940 cached_has_bits = from._impl_._has_bits_[0];
1941 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1942 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
1943 if (!from._internal_name().empty()) {
1944 _this->_internal_set_name(from._internal_name());
1945 } else {
1946 if (_this->_impl_.name_.IsDefault()) {
1947 _this->_internal_set_name("");
1948 }
1949 }
1950 }
1951 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1952 ABSL_DCHECK(from._impl_.transition_time_matrix_ != nullptr);
1953 if (_this->_impl_.transition_time_matrix_ == nullptr) {
1954 _this->_impl_.transition_time_matrix_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.transition_time_matrix_);
1955 } else {
1956 _this->_impl_.transition_time_matrix_->MergeFrom(*from._impl_.transition_time_matrix_);
1957 }
1958 }
1959 }
1960 _this->_impl_._has_bits_[0] |= cached_has_bits;
1961 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1962 from._internal_metadata_);
1963}
1964
1965void Machine::CopyFrom(const Machine& from) {
1966 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.Machine)
1967 if (&from == this) return;
1968 Clear();
1970}
1971
1972
1973void Machine::InternalSwap(Machine* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1974 using ::std::swap;
1975 auto* arena = GetArena();
1976 ABSL_DCHECK_EQ(arena, other->GetArena());
1977 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1978 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1979 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
1980 swap(_impl_.transition_time_matrix_, other->_impl_.transition_time_matrix_);
1981}
1982
1983::google::protobuf::Metadata Machine::GetMetadata() const {
1984 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1985}
1986// ===================================================================
1989 public:
1990 using HasBits =
1991 decltype(::std::declval<JobPrecedence>()._impl_._has_bits_);
1992 static constexpr ::int32_t kHasBitsOffset =
1993 8 * PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_._has_bits_);
1994};
1996JobPrecedence::JobPrecedence(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1997#if defined(PROTOBUF_CUSTOM_VTABLE)
1998 : ::google::protobuf::Message(arena, JobPrecedence_class_data_.base()) {
1999#else // PROTOBUF_CUSTOM_VTABLE
2000 : ::google::protobuf::Message(arena) {
2001#endif // PROTOBUF_CUSTOM_VTABLE
2002 SharedCtor(arena);
2003 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.JobPrecedence)
2004}
2006 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const JobPrecedence& from)
2007#if defined(PROTOBUF_CUSTOM_VTABLE)
2008 : ::google::protobuf::Message(arena, JobPrecedence_class_data_.base()),
2009#else // PROTOBUF_CUSTOM_VTABLE
2010 : ::google::protobuf::Message(arena),
2011#endif // PROTOBUF_CUSTOM_VTABLE
2012 _impl_(from._impl_) {
2013 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2014 from._internal_metadata_);
2015}
2016PROTOBUF_NDEBUG_INLINE JobPrecedence::Impl_::Impl_(
2017 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2018 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2019 : _cached_size_{0} {}
2020
2021inline void JobPrecedence::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2022 new (&_impl_) Impl_(internal_visibility(), arena);
2023 ::memset(reinterpret_cast<char*>(&_impl_) +
2024 offsetof(Impl_, first_job_index_),
2025 0,
2026 offsetof(Impl_, min_delay_) -
2027 offsetof(Impl_, first_job_index_) +
2028 sizeof(Impl_::min_delay_));
2029}
2031 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.JobPrecedence)
2032 SharedDtor(*this);
2033}
2034inline void JobPrecedence::SharedDtor(MessageLite& self) {
2035 JobPrecedence& this_ = static_cast<JobPrecedence&>(self);
2036 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2037 this_.CheckHasBitConsistency();
2038 }
2039 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2040 ABSL_DCHECK(this_.GetArena() == nullptr);
2041 this_._impl_.~Impl_();
2042}
2043
2044inline void* PROTOBUF_NONNULL JobPrecedence::PlacementNew_(
2045 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2046 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2047 return ::new (mem) JobPrecedence(arena);
2048}
2049constexpr auto JobPrecedence::InternalNewImpl_() {
2050 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(JobPrecedence),
2051 alignof(JobPrecedence));
2052}
2054 return ::google::protobuf::internal::ClassDataFull{
2055 ::google::protobuf::internal::ClassData{
2057 &_table_.header,
2058 nullptr, // OnDemandRegisterArenaDtor
2059 nullptr, // IsInitialized
2060 &JobPrecedence::MergeImpl,
2061 ::google::protobuf::Message::GetNewImpl<JobPrecedence>(),
2062#if defined(PROTOBUF_CUSTOM_VTABLE)
2063 &JobPrecedence::SharedDtor,
2064 ::google::protobuf::Message::GetClearImpl<JobPrecedence>(), &JobPrecedence::ByteSizeLong,
2066#endif // PROTOBUF_CUSTOM_VTABLE
2067 PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_._cached_size_),
2068 false,
2069 },
2070 &JobPrecedence::kDescriptorMethods,
2072 nullptr, // tracker
2073 };
2074}
2075
2076PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2077 ::google::protobuf::internal::ClassDataFull JobPrecedence_class_data_ =
2079
2080PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2081JobPrecedence::GetClassData() const {
2082 ::google::protobuf::internal::PrefetchToLocalCache(&JobPrecedence_class_data_);
2083 ::google::protobuf::internal::PrefetchToLocalCache(JobPrecedence_class_data_.tc_table);
2084 return JobPrecedence_class_data_.base();
2085}
2086PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2087const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
2088JobPrecedence::_table_ = {
2089 {
2090 PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_._has_bits_),
2091 0, // no _extensions_
2092 3, 24, // max_field_number, fast_idx_mask
2093 offsetof(decltype(_table_), field_lookup_table),
2094 4294967288, // skipmap
2095 offsetof(decltype(_table_), field_entries),
2096 3, // num_field_entries
2097 0, // num_aux_entries
2098 offsetof(decltype(_table_), field_names), // no aux_entries
2100 nullptr, // post_loop_handler
2101 ::_pbi::TcParser::GenericFallback, // fallback
2102 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2103 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::JobPrecedence>(), // to_prefetch
2104 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2105 }, {{
2106 {::_pbi::TcParser::MiniParse, {}},
2107 // int32 first_job_index = 1;
2108 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JobPrecedence, _impl_.first_job_index_), 0>(),
2109 {8, 0, 0,
2110 PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.first_job_index_)}},
2111 // int32 second_job_index = 2;
2112 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JobPrecedence, _impl_.second_job_index_), 1>(),
2113 {16, 1, 0,
2114 PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.second_job_index_)}},
2115 // int64 min_delay = 3;
2116 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(JobPrecedence, _impl_.min_delay_), 2>(),
2117 {24, 2, 0,
2118 PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.min_delay_)}},
2119 }}, {{
2120 65535, 65535
2121 }}, {{
2122 // int32 first_job_index = 1;
2123 {PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.first_job_index_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2124 // int32 second_job_index = 2;
2125 {PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.second_job_index_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2126 // int64 min_delay = 3;
2127 {PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.min_delay_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
2128 }},
2129 // no aux_entries
2130 {{
2131 }},
2132};
2133PROTOBUF_NOINLINE void JobPrecedence::Clear() {
2134// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.JobPrecedence)
2135 ::google::protobuf::internal::TSanWrite(&_impl_);
2136 ::uint32_t cached_has_bits = 0;
2137 // Prevent compiler warnings about cached_has_bits being unused
2138 (void) cached_has_bits;
2139
2140 cached_has_bits = _impl_._has_bits_[0];
2141 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
2142 ::memset(&_impl_.first_job_index_, 0, static_cast<::size_t>(
2143 reinterpret_cast<char*>(&_impl_.min_delay_) -
2144 reinterpret_cast<char*>(&_impl_.first_job_index_)) + sizeof(_impl_.min_delay_));
2145 }
2146 _impl_._has_bits_.Clear();
2147 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2148}
2149
2150#if defined(PROTOBUF_CUSTOM_VTABLE)
2151::uint8_t* PROTOBUF_NONNULL JobPrecedence::_InternalSerialize(
2152 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2153 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2154 const JobPrecedence& this_ = static_cast<const JobPrecedence&>(base);
2155#else // PROTOBUF_CUSTOM_VTABLE
2156::uint8_t* PROTOBUF_NONNULL JobPrecedence::_InternalSerialize(
2157 ::uint8_t* PROTOBUF_NONNULL target,
2158 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2159 const JobPrecedence& this_ = *this;
2160#endif // PROTOBUF_CUSTOM_VTABLE
2161 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2162 this_.CheckHasBitConsistency();
2163 }
2164 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.JobPrecedence)
2165 ::uint32_t cached_has_bits = 0;
2166 (void)cached_has_bits;
2167
2168 cached_has_bits = this_._impl_._has_bits_[0];
2169 // int32 first_job_index = 1;
2170 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2171 if (this_._internal_first_job_index() != 0) {
2172 target =
2173 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
2174 stream, this_._internal_first_job_index(), target);
2175 }
2176 }
2177
2178 // int32 second_job_index = 2;
2179 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2180 if (this_._internal_second_job_index() != 0) {
2181 target =
2182 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
2183 stream, this_._internal_second_job_index(), target);
2184 }
2185 }
2186
2187 // int64 min_delay = 3;
2188 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2189 if (this_._internal_min_delay() != 0) {
2190 target =
2191 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
2192 stream, this_._internal_min_delay(), target);
2193 }
2194 }
2195
2196 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2197 target =
2198 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2199 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2200 }
2201 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.JobPrecedence)
2202 return target;
2203}
2204
2205#if defined(PROTOBUF_CUSTOM_VTABLE)
2206::size_t JobPrecedence::ByteSizeLong(const MessageLite& base) {
2207 const JobPrecedence& this_ = static_cast<const JobPrecedence&>(base);
2208#else // PROTOBUF_CUSTOM_VTABLE
2209::size_t JobPrecedence::ByteSizeLong() const {
2210 const JobPrecedence& this_ = *this;
2211#endif // PROTOBUF_CUSTOM_VTABLE
2212 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.JobPrecedence)
2213 ::size_t total_size = 0;
2215 ::uint32_t cached_has_bits = 0;
2216 // Prevent compiler warnings about cached_has_bits being unused
2217 (void)cached_has_bits;
2218
2219 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2220 cached_has_bits = this_._impl_._has_bits_[0];
2221 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
2222 // int32 first_job_index = 1;
2223 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2224 if (this_._internal_first_job_index() != 0) {
2225 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2226 this_._internal_first_job_index());
2227 }
2228 }
2229 // int32 second_job_index = 2;
2230 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2231 if (this_._internal_second_job_index() != 0) {
2232 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2233 this_._internal_second_job_index());
2234 }
2235 }
2236 // int64 min_delay = 3;
2237 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2238 if (this_._internal_min_delay() != 0) {
2239 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
2240 this_._internal_min_delay());
2241 }
2242 }
2243 }
2244 return this_.MaybeComputeUnknownFieldsSize(total_size,
2245 &this_._impl_._cached_size_);
2246}
2247
2248void JobPrecedence::MergeImpl(::google::protobuf::MessageLite& to_msg,
2249 const ::google::protobuf::MessageLite& from_msg) {
2250 auto* const _this =
2251 static_cast<JobPrecedence*>(&to_msg);
2252 auto& from = static_cast<const JobPrecedence&>(from_msg);
2253 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2254 from.CheckHasBitConsistency();
2255 }
2256 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.JobPrecedence)
2257 ABSL_DCHECK_NE(&from, _this);
2258 ::uint32_t cached_has_bits = 0;
2259 (void)cached_has_bits;
2260
2261 cached_has_bits = from._impl_._has_bits_[0];
2262 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
2263 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
2264 if (from._internal_first_job_index() != 0) {
2265 _this->_impl_.first_job_index_ = from._impl_.first_job_index_;
2266 }
2267 }
2268 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2269 if (from._internal_second_job_index() != 0) {
2270 _this->_impl_.second_job_index_ = from._impl_.second_job_index_;
2271 }
2272 }
2273 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2274 if (from._internal_min_delay() != 0) {
2275 _this->_impl_.min_delay_ = from._impl_.min_delay_;
2276 }
2277 }
2278 }
2279 _this->_impl_._has_bits_[0] |= cached_has_bits;
2280 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2281 from._internal_metadata_);
2282}
2283
2284void JobPrecedence::CopyFrom(const JobPrecedence& from) {
2285 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.JobPrecedence)
2286 if (&from == this) return;
2287 Clear();
2288 MergeFrom(from);
2290
2291
2292void JobPrecedence::InternalSwap(JobPrecedence* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2293 using ::std::swap;
2294 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2295 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2296 ::google::protobuf::internal::memswap<
2297 PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.min_delay_)
2298 + sizeof(JobPrecedence::_impl_.min_delay_)
2299 - PROTOBUF_FIELD_OFFSET(JobPrecedence, _impl_.first_job_index_)>(
2300 reinterpret_cast<char*>(&_impl_.first_job_index_),
2301 reinterpret_cast<char*>(&other->_impl_.first_job_index_));
2302}
2303
2304::google::protobuf::Metadata JobPrecedence::GetMetadata() const {
2305 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2306}
2307// ===================================================================
2308
2310 public:
2311 using HasBits =
2312 decltype(::std::declval<JsspInputProblem>()._impl_._has_bits_);
2313 static constexpr ::int32_t kHasBitsOffset =
2314 8 * PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_._has_bits_);
2316
2318 ::google::protobuf::internal::TSanWrite(&_impl_);
2319 if (_impl_.scaling_factor_ != nullptr) _impl_.scaling_factor_->Clear();
2320 ClearHasBit(_impl_._has_bits_[0],
2321 0x00000010U);
2322}
2323JsspInputProblem::JsspInputProblem(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2324#if defined(PROTOBUF_CUSTOM_VTABLE)
2325 : ::google::protobuf::Message(arena, JsspInputProblem_class_data_.base()) {
2326#else // PROTOBUF_CUSTOM_VTABLE
2327 : ::google::protobuf::Message(arena) {
2328#endif // PROTOBUF_CUSTOM_VTABLE
2329 SharedCtor(arena);
2330 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.JsspInputProblem)
2331}
2332PROTOBUF_NDEBUG_INLINE JsspInputProblem::Impl_::Impl_(
2333 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2334 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2335 [[maybe_unused]] const ::operations_research::scheduling::jssp::JsspInputProblem& from_msg)
2336 : _has_bits_{from._has_bits_},
2337 _cached_size_{0},
2338 jobs_{visibility, arena, from.jobs_},
2339 machines_{visibility, arena, from.machines_},
2340 precedences_{visibility, arena, from.precedences_},
2341 name_(arena, from.name_) {}
2342
2344 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2345 const JsspInputProblem& from)
2346#if defined(PROTOBUF_CUSTOM_VTABLE)
2347 : ::google::protobuf::Message(arena, JsspInputProblem_class_data_.base()) {
2348#else // PROTOBUF_CUSTOM_VTABLE
2349 : ::google::protobuf::Message(arena) {
2350#endif // PROTOBUF_CUSTOM_VTABLE
2351 JsspInputProblem* const _this = this;
2352 (void)_this;
2353 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2354 from._internal_metadata_);
2355 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2356 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
2357 _impl_.scaling_factor_ = (CheckHasBit(cached_has_bits, 0x00000010U))
2358 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.scaling_factor_)
2359 : nullptr;
2360 ::memcpy(reinterpret_cast<char*>(&_impl_) +
2361 offsetof(Impl_, makespan_cost_per_time_unit_),
2362 reinterpret_cast<const char*>(&from._impl_) +
2363 offsetof(Impl_, makespan_cost_per_time_unit_),
2364 offsetof(Impl_, seed_) -
2365 offsetof(Impl_, makespan_cost_per_time_unit_) +
2366 sizeof(Impl_::seed_));
2367
2368 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.jssp.JsspInputProblem)
2369}
2370PROTOBUF_NDEBUG_INLINE JsspInputProblem::Impl_::Impl_(
2371 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2372 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2373 : _cached_size_{0},
2374 jobs_{visibility, arena},
2375 machines_{visibility, arena},
2376 precedences_{visibility, arena},
2377 name_(arena) {}
2378
2379inline void JsspInputProblem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2380 new (&_impl_) Impl_(internal_visibility(), arena);
2381 ::memset(reinterpret_cast<char*>(&_impl_) +
2382 offsetof(Impl_, scaling_factor_),
2383 0,
2384 offsetof(Impl_, seed_) -
2385 offsetof(Impl_, scaling_factor_) +
2386 sizeof(Impl_::seed_));
2387}
2389 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.JsspInputProblem)
2390 SharedDtor(*this);
2391}
2392inline void JsspInputProblem::SharedDtor(MessageLite& self) {
2393 JsspInputProblem& this_ = static_cast<JsspInputProblem&>(self);
2394 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2395 this_.CheckHasBitConsistency();
2396 }
2397 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2398 ABSL_DCHECK(this_.GetArena() == nullptr);
2399 this_._impl_.name_.Destroy();
2400 delete this_._impl_.scaling_factor_;
2401 this_._impl_.~Impl_();
2402}
2403
2404inline void* PROTOBUF_NONNULL JsspInputProblem::PlacementNew_(
2405 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2406 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2407 return ::new (mem) JsspInputProblem(arena);
2408}
2409constexpr auto JsspInputProblem::InternalNewImpl_() {
2410 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2411 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.jobs_) +
2412 decltype(JsspInputProblem::_impl_.jobs_)::
2413 InternalGetArenaOffset(
2414 ::google::protobuf::Message::internal_visibility()),
2415 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.machines_) +
2416 decltype(JsspInputProblem::_impl_.machines_)::
2417 InternalGetArenaOffset(
2418 ::google::protobuf::Message::internal_visibility()),
2419 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.precedences_) +
2420 decltype(JsspInputProblem::_impl_.precedences_)::
2421 InternalGetArenaOffset(
2422 ::google::protobuf::Message::internal_visibility()),
2423 });
2424 if (arena_bits.has_value()) {
2425 return ::google::protobuf::internal::MessageCreator::CopyInit(
2426 sizeof(JsspInputProblem), alignof(JsspInputProblem), *arena_bits);
2427 } else {
2428 return ::google::protobuf::internal::MessageCreator(&JsspInputProblem::PlacementNew_,
2429 sizeof(JsspInputProblem),
2430 alignof(JsspInputProblem));
2431 }
2432}
2434 return ::google::protobuf::internal::ClassDataFull{
2435 ::google::protobuf::internal::ClassData{
2437 &_table_.header,
2438 nullptr, // OnDemandRegisterArenaDtor
2439 nullptr, // IsInitialized
2440 &JsspInputProblem::MergeImpl,
2441 ::google::protobuf::Message::GetNewImpl<JsspInputProblem>(),
2442#if defined(PROTOBUF_CUSTOM_VTABLE)
2443 &JsspInputProblem::SharedDtor,
2444 ::google::protobuf::Message::GetClearImpl<JsspInputProblem>(), &JsspInputProblem::ByteSizeLong,
2446#endif // PROTOBUF_CUSTOM_VTABLE
2447 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_._cached_size_),
2448 false,
2449 },
2450 &JsspInputProblem::kDescriptorMethods,
2452 nullptr, // tracker
2453 };
2454}
2455
2456PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2457 ::google::protobuf::internal::ClassDataFull JsspInputProblem_class_data_ =
2459
2460PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2461JsspInputProblem::GetClassData() const {
2462 ::google::protobuf::internal::PrefetchToLocalCache(&JsspInputProblem_class_data_);
2463 ::google::protobuf::internal::PrefetchToLocalCache(JsspInputProblem_class_data_.tc_table);
2464 return JsspInputProblem_class_data_.base();
2465}
2466PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2467const ::_pbi::TcParseTable<3, 7, 4, 65, 2>
2468JsspInputProblem::_table_ = {
2469 {
2470 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_._has_bits_),
2471 0, // no _extensions_
2472 24, 56, // max_field_number, fast_idx_mask
2473 offsetof(decltype(_table_), field_lookup_table),
2474 4286545888, // skipmap
2475 offsetof(decltype(_table_), field_entries),
2476 7, // num_field_entries
2477 4, // num_aux_entries
2478 offsetof(decltype(_table_), aux_entries),
2480 nullptr, // post_loop_handler
2481 ::_pbi::TcParser::GenericFallback, // fallback
2482 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2483 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::JsspInputProblem>(), // to_prefetch
2484 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2485 }, {{
2486 // string name = 16;
2487 {::_pbi::TcParser::FastUS2,
2488 {386, 3, 0,
2489 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.name_)}},
2490 // repeated .operations_research.scheduling.jssp.Job jobs = 1;
2491 {::_pbi::TcParser::FastMtR1,
2492 {10, 0, 0,
2493 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.jobs_)}},
2494 // repeated .operations_research.scheduling.jssp.Machine machines = 2;
2495 {::_pbi::TcParser::FastMtR1,
2496 {18, 1, 1,
2497 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.machines_)}},
2498 // repeated .operations_research.scheduling.jssp.JobPrecedence precedences = 3;
2499 {::_pbi::TcParser::FastMtR1,
2500 {26, 2, 2,
2501 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.precedences_)}},
2502 // int64 makespan_cost_per_time_unit = 4;
2503 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(JsspInputProblem, _impl_.makespan_cost_per_time_unit_), 5>(),
2504 {32, 5, 0,
2505 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.makespan_cost_per_time_unit_)}},
2506 // .google.protobuf.DoubleValue scaling_factor = 5;
2507 {::_pbi::TcParser::FastMtS1,
2508 {42, 4, 3,
2509 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.scaling_factor_)}},
2510 {::_pbi::TcParser::MiniParse, {}},
2511 {::_pbi::TcParser::MiniParse, {}},
2512 }}, {{
2513 65535, 65535
2514 }}, {{
2515 // repeated .operations_research.scheduling.jssp.Job jobs = 1;
2516 {PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.jobs_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
2517 // repeated .operations_research.scheduling.jssp.Machine machines = 2;
2518 {PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.machines_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
2519 // repeated .operations_research.scheduling.jssp.JobPrecedence precedences = 3;
2520 {PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.precedences_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
2521 // int64 makespan_cost_per_time_unit = 4;
2522 {PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.makespan_cost_per_time_unit_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
2523 // .google.protobuf.DoubleValue scaling_factor = 5;
2524 {PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.scaling_factor_), _Internal::kHasBitsOffset + 4, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2525 // string name = 16;
2526 {PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2527 // int32 seed = 24;
2528 {PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.seed_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2529 }},
2530 {{
2531 {::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::Job>()},
2532 {::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::Machine>()},
2533 {::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::JobPrecedence>()},
2534 {::_pbi::TcParser::GetTable<::google::protobuf::DoubleValue>()},
2535 }},
2536 {{
2537 "\64\0\0\0\0\0\4\0"
2538 "operations_research.scheduling.jssp.JsspInputProblem"
2539 "name"
2540 }},
2541};
2542PROTOBUF_NOINLINE void JsspInputProblem::Clear() {
2543// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.JsspInputProblem)
2544 ::google::protobuf::internal::TSanWrite(&_impl_);
2545 ::uint32_t cached_has_bits = 0;
2546 // Prevent compiler warnings about cached_has_bits being unused
2547 (void) cached_has_bits;
2549 cached_has_bits = _impl_._has_bits_[0];
2550 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
2551 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2552 _impl_.jobs_.Clear();
2553 }
2554 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2555 _impl_.machines_.Clear();
2556 }
2557 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2558 _impl_.precedences_.Clear();
2559 }
2560 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2561 _impl_.name_.ClearNonDefaultToEmpty();
2562 }
2563 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2564 ABSL_DCHECK(_impl_.scaling_factor_ != nullptr);
2565 _impl_.scaling_factor_->Clear();
2566 }
2567 }
2568 if (BatchCheckHasBit(cached_has_bits, 0x00000060U)) {
2569 ::memset(&_impl_.makespan_cost_per_time_unit_, 0, static_cast<::size_t>(
2570 reinterpret_cast<char*>(&_impl_.seed_) -
2571 reinterpret_cast<char*>(&_impl_.makespan_cost_per_time_unit_)) + sizeof(_impl_.seed_));
2572 }
2573 _impl_._has_bits_.Clear();
2574 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2575}
2576
2577#if defined(PROTOBUF_CUSTOM_VTABLE)
2578::uint8_t* PROTOBUF_NONNULL JsspInputProblem::_InternalSerialize(
2579 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2580 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2581 const JsspInputProblem& this_ = static_cast<const JsspInputProblem&>(base);
2582#else // PROTOBUF_CUSTOM_VTABLE
2583::uint8_t* PROTOBUF_NONNULL JsspInputProblem::_InternalSerialize(
2584 ::uint8_t* PROTOBUF_NONNULL target,
2585 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2586 const JsspInputProblem& this_ = *this;
2587#endif // PROTOBUF_CUSTOM_VTABLE
2588 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2589 this_.CheckHasBitConsistency();
2590 }
2591 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.JsspInputProblem)
2592 ::uint32_t cached_has_bits = 0;
2593 (void)cached_has_bits;
2594
2595 cached_has_bits = this_._impl_._has_bits_[0];
2596 // repeated .operations_research.scheduling.jssp.Job jobs = 1;
2597 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2598 for (unsigned i = 0, n = static_cast<unsigned>(
2599 this_._internal_jobs_size());
2600 i < n; i++) {
2601 const auto& repfield = this_._internal_jobs().Get(i);
2602 target =
2603 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2604 1, repfield, repfield.GetCachedSize(),
2605 target, stream);
2606 }
2607 }
2608
2609 // repeated .operations_research.scheduling.jssp.Machine machines = 2;
2610 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2611 for (unsigned i = 0, n = static_cast<unsigned>(
2612 this_._internal_machines_size());
2613 i < n; i++) {
2614 const auto& repfield = this_._internal_machines().Get(i);
2615 target =
2616 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2617 2, repfield, repfield.GetCachedSize(),
2618 target, stream);
2619 }
2620 }
2621
2622 // repeated .operations_research.scheduling.jssp.JobPrecedence precedences = 3;
2623 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2624 for (unsigned i = 0, n = static_cast<unsigned>(
2625 this_._internal_precedences_size());
2626 i < n; i++) {
2627 const auto& repfield = this_._internal_precedences().Get(i);
2628 target =
2629 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2630 3, repfield, repfield.GetCachedSize(),
2631 target, stream);
2632 }
2633 }
2634
2635 // int64 makespan_cost_per_time_unit = 4;
2636 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2637 if (this_._internal_makespan_cost_per_time_unit() != 0) {
2638 target =
2639 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
2640 stream, this_._internal_makespan_cost_per_time_unit(), target);
2641 }
2642 }
2643
2644 // .google.protobuf.DoubleValue scaling_factor = 5;
2645 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2646 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2647 5, *this_._impl_.scaling_factor_, this_._impl_.scaling_factor_->GetCachedSize(), target,
2648 stream);
2649 }
2650
2651 // string name = 16;
2652 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2653 if (!this_._internal_name().empty()) {
2654 const ::std::string& _s = this_._internal_name();
2655 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
2656 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.scheduling.jssp.JsspInputProblem.name");
2657 target = stream->WriteStringMaybeAliased(16, _s, target);
2658 }
2659 }
2660
2661 // int32 seed = 24;
2662 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2663 if (this_._internal_seed() != 0) {
2664 target = stream->EnsureSpace(target);
2665 target = ::_pbi::WireFormatLite::WriteInt32ToArray(
2666 24, this_._internal_seed(), target);
2667 }
2668 }
2669
2670 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2671 target =
2672 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2673 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2674 }
2675 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.JsspInputProblem)
2676 return target;
2677}
2678
2679#if defined(PROTOBUF_CUSTOM_VTABLE)
2680::size_t JsspInputProblem::ByteSizeLong(const MessageLite& base) {
2681 const JsspInputProblem& this_ = static_cast<const JsspInputProblem&>(base);
2682#else // PROTOBUF_CUSTOM_VTABLE
2683::size_t JsspInputProblem::ByteSizeLong() const {
2684 const JsspInputProblem& this_ = *this;
2685#endif // PROTOBUF_CUSTOM_VTABLE
2686 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.JsspInputProblem)
2687 ::size_t total_size = 0;
2688
2689 ::uint32_t cached_has_bits = 0;
2690 // Prevent compiler warnings about cached_has_bits being unused
2691 (void)cached_has_bits;
2692
2693 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2694 cached_has_bits = this_._impl_._has_bits_[0];
2695 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
2696 // repeated .operations_research.scheduling.jssp.Job jobs = 1;
2697 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2698 total_size += 1UL * this_._internal_jobs_size();
2699 for (const auto& msg : this_._internal_jobs()) {
2700 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
2701 }
2702 }
2703 // repeated .operations_research.scheduling.jssp.Machine machines = 2;
2704 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2705 total_size += 1UL * this_._internal_machines_size();
2706 for (const auto& msg : this_._internal_machines()) {
2707 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
2708 }
2709 }
2710 // repeated .operations_research.scheduling.jssp.JobPrecedence precedences = 3;
2711 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2712 total_size += 1UL * this_._internal_precedences_size();
2713 for (const auto& msg : this_._internal_precedences()) {
2714 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
2715 }
2716 }
2717 // string name = 16;
2718 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2719 if (!this_._internal_name().empty()) {
2720 total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
2721 this_._internal_name());
2722 }
2723 }
2724 // .google.protobuf.DoubleValue scaling_factor = 5;
2725 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2726 total_size += 1 +
2727 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.scaling_factor_);
2728 }
2729 // int64 makespan_cost_per_time_unit = 4;
2730 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2731 if (this_._internal_makespan_cost_per_time_unit() != 0) {
2732 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
2733 this_._internal_makespan_cost_per_time_unit());
2734 }
2735 }
2736 // int32 seed = 24;
2737 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2738 if (this_._internal_seed() != 0) {
2739 total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
2740 this_._internal_seed());
2741 }
2742 }
2743 }
2744 return this_.MaybeComputeUnknownFieldsSize(total_size,
2745 &this_._impl_._cached_size_);
2746}
2747
2748void JsspInputProblem::MergeImpl(::google::protobuf::MessageLite& to_msg,
2749 const ::google::protobuf::MessageLite& from_msg) {
2750 auto* const _this =
2751 static_cast<JsspInputProblem*>(&to_msg);
2752 auto& from = static_cast<const JsspInputProblem&>(from_msg);
2753 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2754 from.CheckHasBitConsistency();
2755 }
2756 ::google::protobuf::Arena* arena = _this->GetArena();
2757 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.JsspInputProblem)
2758 ABSL_DCHECK_NE(&from, _this);
2759 ::uint32_t cached_has_bits = 0;
2760 (void)cached_has_bits;
2761
2762 cached_has_bits = from._impl_._has_bits_[0];
2763 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
2764 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2765 _this->_internal_mutable_jobs()->InternalMergeFromWithArena(
2766 ::google::protobuf::MessageLite::internal_visibility(), arena,
2767 from._internal_jobs());
2768 }
2769 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2770 _this->_internal_mutable_machines()->InternalMergeFromWithArena(
2771 ::google::protobuf::MessageLite::internal_visibility(), arena,
2772 from._internal_machines());
2773 }
2774 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
2775 _this->_internal_mutable_precedences()->InternalMergeFromWithArena(
2776 ::google::protobuf::MessageLite::internal_visibility(), arena,
2777 from._internal_precedences());
2778 }
2779 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2780 if (!from._internal_name().empty()) {
2781 _this->_internal_set_name(from._internal_name());
2782 } else {
2783 if (_this->_impl_.name_.IsDefault()) {
2784 _this->_internal_set_name("");
2785 }
2786 }
2787 }
2788 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2789 ABSL_DCHECK(from._impl_.scaling_factor_ != nullptr);
2790 if (_this->_impl_.scaling_factor_ == nullptr) {
2791 _this->_impl_.scaling_factor_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.scaling_factor_);
2792 } else {
2793 _this->_impl_.scaling_factor_->MergeFrom(*from._impl_.scaling_factor_);
2794 }
2795 }
2796 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2797 if (from._internal_makespan_cost_per_time_unit() != 0) {
2798 _this->_impl_.makespan_cost_per_time_unit_ = from._impl_.makespan_cost_per_time_unit_;
2799 }
2800 }
2801 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2802 if (from._internal_seed() != 0) {
2803 _this->_impl_.seed_ = from._impl_.seed_;
2804 }
2805 }
2806 }
2807 _this->_impl_._has_bits_[0] |= cached_has_bits;
2808 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2809 from._internal_metadata_);
2810}
2811
2812void JsspInputProblem::CopyFrom(const JsspInputProblem& from) {
2813 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.JsspInputProblem)
2814 if (&from == this) return;
2815 Clear();
2816 MergeFrom(from);
2817}
2819
2820void JsspInputProblem::InternalSwap(JsspInputProblem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2821 using ::std::swap;
2822 auto* arena = GetArena();
2823 ABSL_DCHECK_EQ(arena, other->GetArena());
2824 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2825 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2826 _impl_.jobs_.InternalSwap(&other->_impl_.jobs_);
2827 _impl_.machines_.InternalSwap(&other->_impl_.machines_);
2828 _impl_.precedences_.InternalSwap(&other->_impl_.precedences_);
2829 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
2830 ::google::protobuf::internal::memswap<
2831 PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.seed_)
2832 + sizeof(JsspInputProblem::_impl_.seed_)
2833 - PROTOBUF_FIELD_OFFSET(JsspInputProblem, _impl_.scaling_factor_)>(
2834 reinterpret_cast<char*>(&_impl_.scaling_factor_),
2835 reinterpret_cast<char*>(&other->_impl_.scaling_factor_));
2836}
2837
2838::google::protobuf::Metadata JsspInputProblem::GetMetadata() const {
2839 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2840}
2841// ===================================================================
2842
2843class AssignedTask::_Internal {
2844 public:
2845 using HasBits =
2846 decltype(::std::declval<AssignedTask>()._impl_._has_bits_);
2847 static constexpr ::int32_t kHasBitsOffset =
2848 8 * PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_._has_bits_);
2849};
2851AssignedTask::AssignedTask(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2852#if defined(PROTOBUF_CUSTOM_VTABLE)
2853 : ::google::protobuf::Message(arena, AssignedTask_class_data_.base()) {
2854#else // PROTOBUF_CUSTOM_VTABLE
2855 : ::google::protobuf::Message(arena) {
2856#endif // PROTOBUF_CUSTOM_VTABLE
2857 SharedCtor(arena);
2858 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.AssignedTask)
2859}
2861 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AssignedTask& from)
2862#if defined(PROTOBUF_CUSTOM_VTABLE)
2863 : ::google::protobuf::Message(arena, AssignedTask_class_data_.base()),
2864#else // PROTOBUF_CUSTOM_VTABLE
2865 : ::google::protobuf::Message(arena),
2866#endif // PROTOBUF_CUSTOM_VTABLE
2867 _impl_(from._impl_) {
2868 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2869 from._internal_metadata_);
2870}
2871PROTOBUF_NDEBUG_INLINE AssignedTask::Impl_::Impl_(
2872 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2873 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2874 : _cached_size_{0} {}
2875
2876inline void AssignedTask::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2877 new (&_impl_) Impl_(internal_visibility(), arena);
2878 ::memset(reinterpret_cast<char*>(&_impl_) +
2879 offsetof(Impl_, start_time_),
2880 0,
2881 offsetof(Impl_, alternative_index_) -
2882 offsetof(Impl_, start_time_) +
2883 sizeof(Impl_::alternative_index_));
2884}
2886 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.AssignedTask)
2887 SharedDtor(*this);
2888}
2889inline void AssignedTask::SharedDtor(MessageLite& self) {
2890 AssignedTask& this_ = static_cast<AssignedTask&>(self);
2891 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2892 this_.CheckHasBitConsistency();
2893 }
2894 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2895 ABSL_DCHECK(this_.GetArena() == nullptr);
2896 this_._impl_.~Impl_();
2897}
2898
2899inline void* PROTOBUF_NONNULL AssignedTask::PlacementNew_(
2900 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2901 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2902 return ::new (mem) AssignedTask(arena);
2903}
2904constexpr auto AssignedTask::InternalNewImpl_() {
2905 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AssignedTask),
2906 alignof(AssignedTask));
2907}
2909 return ::google::protobuf::internal::ClassDataFull{
2910 ::google::protobuf::internal::ClassData{
2912 &_table_.header,
2913 nullptr, // OnDemandRegisterArenaDtor
2914 nullptr, // IsInitialized
2915 &AssignedTask::MergeImpl,
2916 ::google::protobuf::Message::GetNewImpl<AssignedTask>(),
2917#if defined(PROTOBUF_CUSTOM_VTABLE)
2918 &AssignedTask::SharedDtor,
2919 ::google::protobuf::Message::GetClearImpl<AssignedTask>(), &AssignedTask::ByteSizeLong,
2921#endif // PROTOBUF_CUSTOM_VTABLE
2922 PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_._cached_size_),
2923 false,
2924 },
2925 &AssignedTask::kDescriptorMethods,
2927 nullptr, // tracker
2928 };
2929}
2930
2931PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2932 ::google::protobuf::internal::ClassDataFull AssignedTask_class_data_ =
2934
2935PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2936AssignedTask::GetClassData() const {
2937 ::google::protobuf::internal::PrefetchToLocalCache(&AssignedTask_class_data_);
2938 ::google::protobuf::internal::PrefetchToLocalCache(AssignedTask_class_data_.tc_table);
2940}
2941PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2942const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
2943AssignedTask::_table_ = {
2944 {
2945 PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_._has_bits_),
2946 0, // no _extensions_
2947 2, 8, // max_field_number, fast_idx_mask
2948 offsetof(decltype(_table_), field_lookup_table),
2949 4294967292, // skipmap
2950 offsetof(decltype(_table_), field_entries),
2951 2, // num_field_entries
2952 0, // num_aux_entries
2953 offsetof(decltype(_table_), field_names), // no aux_entries
2955 nullptr, // post_loop_handler
2956 ::_pbi::TcParser::GenericFallback, // fallback
2957 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2958 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::AssignedTask>(), // to_prefetch
2959 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2960 }, {{
2961 // int64 start_time = 2;
2962 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(AssignedTask, _impl_.start_time_), 0>(),
2963 {16, 0, 0,
2964 PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_.start_time_)}},
2965 // int32 alternative_index = 1;
2966 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AssignedTask, _impl_.alternative_index_), 1>(),
2967 {8, 1, 0,
2968 PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_.alternative_index_)}},
2969 }}, {{
2970 65535, 65535
2971 }}, {{
2972 // int32 alternative_index = 1;
2973 {PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_.alternative_index_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2974 // int64 start_time = 2;
2975 {PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_.start_time_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
2976 }},
2977 // no aux_entries
2978 {{
2979 }},
2980};
2981PROTOBUF_NOINLINE void AssignedTask::Clear() {
2982// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.AssignedTask)
2983 ::google::protobuf::internal::TSanWrite(&_impl_);
2984 ::uint32_t cached_has_bits = 0;
2985 // Prevent compiler warnings about cached_has_bits being unused
2986 (void) cached_has_bits;
2987
2988 cached_has_bits = _impl_._has_bits_[0];
2989 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2990 ::memset(&_impl_.start_time_, 0, static_cast<::size_t>(
2991 reinterpret_cast<char*>(&_impl_.alternative_index_) -
2992 reinterpret_cast<char*>(&_impl_.start_time_)) + sizeof(_impl_.alternative_index_));
2993 }
2994 _impl_._has_bits_.Clear();
2995 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2996}
2997
2998#if defined(PROTOBUF_CUSTOM_VTABLE)
2999::uint8_t* PROTOBUF_NONNULL AssignedTask::_InternalSerialize(
3000 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3001 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3002 const AssignedTask& this_ = static_cast<const AssignedTask&>(base);
3003#else // PROTOBUF_CUSTOM_VTABLE
3004::uint8_t* PROTOBUF_NONNULL AssignedTask::_InternalSerialize(
3005 ::uint8_t* PROTOBUF_NONNULL target,
3006 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3007 const AssignedTask& this_ = *this;
3008#endif // PROTOBUF_CUSTOM_VTABLE
3009 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3010 this_.CheckHasBitConsistency();
3012 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.AssignedTask)
3013 ::uint32_t cached_has_bits = 0;
3014 (void)cached_has_bits;
3015
3016 cached_has_bits = this_._impl_._has_bits_[0];
3017 // int32 alternative_index = 1;
3018 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3019 if (this_._internal_alternative_index() != 0) {
3020 target =
3021 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
3022 stream, this_._internal_alternative_index(), target);
3023 }
3024 }
3025
3026 // int64 start_time = 2;
3027 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3028 if (this_._internal_start_time() != 0) {
3029 target =
3030 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
3031 stream, this_._internal_start_time(), target);
3032 }
3033 }
3034
3035 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3036 target =
3037 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3038 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3039 }
3040 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.AssignedTask)
3041 return target;
3042}
3043
3044#if defined(PROTOBUF_CUSTOM_VTABLE)
3045::size_t AssignedTask::ByteSizeLong(const MessageLite& base) {
3046 const AssignedTask& this_ = static_cast<const AssignedTask&>(base);
3047#else // PROTOBUF_CUSTOM_VTABLE
3048::size_t AssignedTask::ByteSizeLong() const {
3049 const AssignedTask& this_ = *this;
3050#endif // PROTOBUF_CUSTOM_VTABLE
3051 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.AssignedTask)
3052 ::size_t total_size = 0;
3053
3054 ::uint32_t cached_has_bits = 0;
3055 // Prevent compiler warnings about cached_has_bits being unused
3056 (void)cached_has_bits;
3057
3058 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3059 cached_has_bits = this_._impl_._has_bits_[0];
3060 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3061 // int64 start_time = 2;
3062 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3063 if (this_._internal_start_time() != 0) {
3064 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
3065 this_._internal_start_time());
3066 }
3067 }
3068 // int32 alternative_index = 1;
3069 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3070 if (this_._internal_alternative_index() != 0) {
3071 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3072 this_._internal_alternative_index());
3073 }
3074 }
3075 }
3076 return this_.MaybeComputeUnknownFieldsSize(total_size,
3077 &this_._impl_._cached_size_);
3078}
3079
3080void AssignedTask::MergeImpl(::google::protobuf::MessageLite& to_msg,
3081 const ::google::protobuf::MessageLite& from_msg) {
3082 auto* const _this =
3083 static_cast<AssignedTask*>(&to_msg);
3084 auto& from = static_cast<const AssignedTask&>(from_msg);
3085 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3086 from.CheckHasBitConsistency();
3087 }
3088 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.AssignedTask)
3089 ABSL_DCHECK_NE(&from, _this);
3090 ::uint32_t cached_has_bits = 0;
3091 (void)cached_has_bits;
3092
3093 cached_has_bits = from._impl_._has_bits_[0];
3094 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3095 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
3096 if (from._internal_start_time() != 0) {
3097 _this->_impl_.start_time_ = from._impl_.start_time_;
3098 }
3099 }
3100 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3101 if (from._internal_alternative_index() != 0) {
3102 _this->_impl_.alternative_index_ = from._impl_.alternative_index_;
3103 }
3104 }
3105 }
3106 _this->_impl_._has_bits_[0] |= cached_has_bits;
3107 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3108 from._internal_metadata_);
3109}
3110
3111void AssignedTask::CopyFrom(const AssignedTask& from) {
3112 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.AssignedTask)
3113 if (&from == this) return;
3114 Clear();
3115 MergeFrom(from);
3116}
3117
3119void AssignedTask::InternalSwap(AssignedTask* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3120 using ::std::swap;
3121 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3122 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3123 ::google::protobuf::internal::memswap<
3124 PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_.alternative_index_)
3125 + sizeof(AssignedTask::_impl_.alternative_index_)
3126 - PROTOBUF_FIELD_OFFSET(AssignedTask, _impl_.start_time_)>(
3127 reinterpret_cast<char*>(&_impl_.start_time_),
3128 reinterpret_cast<char*>(&other->_impl_.start_time_));
3129}
3130
3131::google::protobuf::Metadata AssignedTask::GetMetadata() const {
3132 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3133}
3134// ===================================================================
3135
3136class AssignedJob::_Internal {
3137 public:
3138 using HasBits =
3139 decltype(::std::declval<AssignedJob>()._impl_._has_bits_);
3140 static constexpr ::int32_t kHasBitsOffset =
3141 8 * PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_._has_bits_);
3142};
3143
3144AssignedJob::AssignedJob(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3145#if defined(PROTOBUF_CUSTOM_VTABLE)
3146 : ::google::protobuf::Message(arena, AssignedJob_class_data_.base()) {
3147#else // PROTOBUF_CUSTOM_VTABLE
3148 : ::google::protobuf::Message(arena) {
3149#endif // PROTOBUF_CUSTOM_VTABLE
3150 SharedCtor(arena);
3151 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.AssignedJob)
3152}
3153PROTOBUF_NDEBUG_INLINE AssignedJob::Impl_::Impl_(
3154 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3155 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3156 [[maybe_unused]] const ::operations_research::scheduling::jssp::AssignedJob& from_msg)
3157 : _has_bits_{from._has_bits_},
3158 _cached_size_{0},
3159 tasks_{visibility, arena, from.tasks_} {}
3160
3162 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3163 const AssignedJob& from)
3164#if defined(PROTOBUF_CUSTOM_VTABLE)
3165 : ::google::protobuf::Message(arena, AssignedJob_class_data_.base()) {
3166#else // PROTOBUF_CUSTOM_VTABLE
3167 : ::google::protobuf::Message(arena) {
3168#endif // PROTOBUF_CUSTOM_VTABLE
3169 AssignedJob* const _this = this;
3170 (void)_this;
3171 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3172 from._internal_metadata_);
3173 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
3174 ::memcpy(reinterpret_cast<char*>(&_impl_) +
3175 offsetof(Impl_, due_date_cost_),
3176 reinterpret_cast<const char*>(&from._impl_) +
3177 offsetof(Impl_, due_date_cost_),
3178 offsetof(Impl_, sum_of_task_costs_) -
3179 offsetof(Impl_, due_date_cost_) +
3180 sizeof(Impl_::sum_of_task_costs_));
3181
3182 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.jssp.AssignedJob)
3183}
3184PROTOBUF_NDEBUG_INLINE AssignedJob::Impl_::Impl_(
3185 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3186 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3187 : _cached_size_{0},
3188 tasks_{visibility, arena} {}
3189
3190inline void AssignedJob::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3191 new (&_impl_) Impl_(internal_visibility(), arena);
3192 ::memset(reinterpret_cast<char*>(&_impl_) +
3193 offsetof(Impl_, due_date_cost_),
3194 0,
3195 offsetof(Impl_, sum_of_task_costs_) -
3196 offsetof(Impl_, due_date_cost_) +
3197 sizeof(Impl_::sum_of_task_costs_));
3198}
3200 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.AssignedJob)
3201 SharedDtor(*this);
3202}
3203inline void AssignedJob::SharedDtor(MessageLite& self) {
3204 AssignedJob& this_ = static_cast<AssignedJob&>(self);
3205 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3206 this_.CheckHasBitConsistency();
3208 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3209 ABSL_DCHECK(this_.GetArena() == nullptr);
3210 this_._impl_.~Impl_();
3211}
3212
3213inline void* PROTOBUF_NONNULL AssignedJob::PlacementNew_(
3214 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3215 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3216 return ::new (mem) AssignedJob(arena);
3217}
3218constexpr auto AssignedJob::InternalNewImpl_() {
3219 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
3220 PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.tasks_) +
3221 decltype(AssignedJob::_impl_.tasks_)::
3222 InternalGetArenaOffset(
3223 ::google::protobuf::Message::internal_visibility()),
3224 });
3225 if (arena_bits.has_value()) {
3226 return ::google::protobuf::internal::MessageCreator::ZeroInit(
3227 sizeof(AssignedJob), alignof(AssignedJob), *arena_bits);
3228 } else {
3229 return ::google::protobuf::internal::MessageCreator(&AssignedJob::PlacementNew_,
3230 sizeof(AssignedJob),
3231 alignof(AssignedJob));
3232 }
3233}
3235 return ::google::protobuf::internal::ClassDataFull{
3236 ::google::protobuf::internal::ClassData{
3238 &_table_.header,
3239 nullptr, // OnDemandRegisterArenaDtor
3240 nullptr, // IsInitialized
3241 &AssignedJob::MergeImpl,
3242 ::google::protobuf::Message::GetNewImpl<AssignedJob>(),
3243#if defined(PROTOBUF_CUSTOM_VTABLE)
3244 &AssignedJob::SharedDtor,
3245 ::google::protobuf::Message::GetClearImpl<AssignedJob>(), &AssignedJob::ByteSizeLong,
3247#endif // PROTOBUF_CUSTOM_VTABLE
3248 PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_._cached_size_),
3249 false,
3250 },
3251 &AssignedJob::kDescriptorMethods,
3253 nullptr, // tracker
3254 };
3255}
3256
3257PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3258 ::google::protobuf::internal::ClassDataFull AssignedJob_class_data_ =
3260
3261PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3262AssignedJob::GetClassData() const {
3263 ::google::protobuf::internal::PrefetchToLocalCache(&AssignedJob_class_data_);
3264 ::google::protobuf::internal::PrefetchToLocalCache(AssignedJob_class_data_.tc_table);
3265 return AssignedJob_class_data_.base();
3267PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3268const ::_pbi::TcParseTable<2, 3, 1, 0, 2>
3269AssignedJob::_table_ = {
3270 {
3271 PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_._has_bits_),
3272 0, // no _extensions_
3273 3, 24, // max_field_number, fast_idx_mask
3274 offsetof(decltype(_table_), field_lookup_table),
3275 4294967288, // skipmap
3276 offsetof(decltype(_table_), field_entries),
3277 3, // num_field_entries
3278 1, // num_aux_entries
3279 offsetof(decltype(_table_), aux_entries),
3281 nullptr, // post_loop_handler
3282 ::_pbi::TcParser::GenericFallback, // fallback
3283 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3284 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::AssignedJob>(), // to_prefetch
3285 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3286 }, {{
3287 {::_pbi::TcParser::MiniParse, {}},
3288 // repeated .operations_research.scheduling.jssp.AssignedTask tasks = 1;
3289 {::_pbi::TcParser::FastMtR1,
3290 {10, 0, 0,
3291 PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.tasks_)}},
3292 // int64 due_date_cost = 2;
3293 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(AssignedJob, _impl_.due_date_cost_), 1>(),
3294 {16, 1, 0,
3295 PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.due_date_cost_)}},
3296 // int64 sum_of_task_costs = 3;
3297 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(AssignedJob, _impl_.sum_of_task_costs_), 2>(),
3298 {24, 2, 0,
3299 PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.sum_of_task_costs_)}},
3300 }}, {{
3301 65535, 65535
3302 }}, {{
3303 // repeated .operations_research.scheduling.jssp.AssignedTask tasks = 1;
3304 {PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.tasks_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
3305 // int64 due_date_cost = 2;
3306 {PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.due_date_cost_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
3307 // int64 sum_of_task_costs = 3;
3308 {PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.sum_of_task_costs_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
3309 }},
3310 {{
3311 {::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::AssignedTask>()},
3312 }},
3313 {{
3314 }},
3315};
3316PROTOBUF_NOINLINE void AssignedJob::Clear() {
3317// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.AssignedJob)
3318 ::google::protobuf::internal::TSanWrite(&_impl_);
3319 ::uint32_t cached_has_bits = 0;
3320 // Prevent compiler warnings about cached_has_bits being unused
3321 (void) cached_has_bits;
3322
3323 cached_has_bits = _impl_._has_bits_[0];
3324 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3325 _impl_.tasks_.Clear();
3326 }
3327 if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
3328 ::memset(&_impl_.due_date_cost_, 0, static_cast<::size_t>(
3329 reinterpret_cast<char*>(&_impl_.sum_of_task_costs_) -
3330 reinterpret_cast<char*>(&_impl_.due_date_cost_)) + sizeof(_impl_.sum_of_task_costs_));
3331 }
3332 _impl_._has_bits_.Clear();
3333 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3334}
3335
3336#if defined(PROTOBUF_CUSTOM_VTABLE)
3337::uint8_t* PROTOBUF_NONNULL AssignedJob::_InternalSerialize(
3338 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3339 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3340 const AssignedJob& this_ = static_cast<const AssignedJob&>(base);
3341#else // PROTOBUF_CUSTOM_VTABLE
3342::uint8_t* PROTOBUF_NONNULL AssignedJob::_InternalSerialize(
3343 ::uint8_t* PROTOBUF_NONNULL target,
3344 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3345 const AssignedJob& this_ = *this;
3346#endif // PROTOBUF_CUSTOM_VTABLE
3347 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3348 this_.CheckHasBitConsistency();
3349 }
3350 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.AssignedJob)
3351 ::uint32_t cached_has_bits = 0;
3352 (void)cached_has_bits;
3353
3354 cached_has_bits = this_._impl_._has_bits_[0];
3355 // repeated .operations_research.scheduling.jssp.AssignedTask tasks = 1;
3356 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3357 for (unsigned i = 0, n = static_cast<unsigned>(
3358 this_._internal_tasks_size());
3359 i < n; i++) {
3360 const auto& repfield = this_._internal_tasks().Get(i);
3361 target =
3362 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3363 1, repfield, repfield.GetCachedSize(),
3364 target, stream);
3365 }
3366 }
3367
3368 // int64 due_date_cost = 2;
3369 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3370 if (this_._internal_due_date_cost() != 0) {
3371 target =
3372 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
3373 stream, this_._internal_due_date_cost(), target);
3374 }
3375 }
3376
3377 // int64 sum_of_task_costs = 3;
3378 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3379 if (this_._internal_sum_of_task_costs() != 0) {
3380 target =
3381 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
3382 stream, this_._internal_sum_of_task_costs(), target);
3383 }
3384 }
3385
3386 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3387 target =
3388 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3389 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3390 }
3391 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.AssignedJob)
3392 return target;
3393}
3394
3395#if defined(PROTOBUF_CUSTOM_VTABLE)
3396::size_t AssignedJob::ByteSizeLong(const MessageLite& base) {
3397 const AssignedJob& this_ = static_cast<const AssignedJob&>(base);
3398#else // PROTOBUF_CUSTOM_VTABLE
3399::size_t AssignedJob::ByteSizeLong() const {
3400 const AssignedJob& this_ = *this;
3401#endif // PROTOBUF_CUSTOM_VTABLE
3402 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.AssignedJob)
3403 ::size_t total_size = 0;
3404
3405 ::uint32_t cached_has_bits = 0;
3406 // Prevent compiler warnings about cached_has_bits being unused
3407 (void)cached_has_bits;
3408
3409 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3410 cached_has_bits = this_._impl_._has_bits_[0];
3411 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
3412 // repeated .operations_research.scheduling.jssp.AssignedTask tasks = 1;
3413 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3414 total_size += 1UL * this_._internal_tasks_size();
3415 for (const auto& msg : this_._internal_tasks()) {
3416 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
3417 }
3418 }
3419 // int64 due_date_cost = 2;
3420 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3421 if (this_._internal_due_date_cost() != 0) {
3422 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
3423 this_._internal_due_date_cost());
3424 }
3425 }
3426 // int64 sum_of_task_costs = 3;
3427 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3428 if (this_._internal_sum_of_task_costs() != 0) {
3429 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
3430 this_._internal_sum_of_task_costs());
3431 }
3432 }
3433 }
3434 return this_.MaybeComputeUnknownFieldsSize(total_size,
3435 &this_._impl_._cached_size_);
3436}
3437
3438void AssignedJob::MergeImpl(::google::protobuf::MessageLite& to_msg,
3439 const ::google::protobuf::MessageLite& from_msg) {
3440 auto* const _this =
3441 static_cast<AssignedJob*>(&to_msg);
3442 auto& from = static_cast<const AssignedJob&>(from_msg);
3443 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3444 from.CheckHasBitConsistency();
3445 }
3446 ::google::protobuf::Arena* arena = _this->GetArena();
3447 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.AssignedJob)
3448 ABSL_DCHECK_NE(&from, _this);
3449 ::uint32_t cached_has_bits = 0;
3450 (void)cached_has_bits;
3451
3452 cached_has_bits = from._impl_._has_bits_[0];
3453 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
3454 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3455 _this->_internal_mutable_tasks()->InternalMergeFromWithArena(
3456 ::google::protobuf::MessageLite::internal_visibility(), arena,
3457 from._internal_tasks());
3458 }
3459 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3460 if (from._internal_due_date_cost() != 0) {
3461 _this->_impl_.due_date_cost_ = from._impl_.due_date_cost_;
3462 }
3463 }
3464 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3465 if (from._internal_sum_of_task_costs() != 0) {
3466 _this->_impl_.sum_of_task_costs_ = from._impl_.sum_of_task_costs_;
3467 }
3468 }
3469 }
3470 _this->_impl_._has_bits_[0] |= cached_has_bits;
3471 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3472 from._internal_metadata_);
3473}
3474
3475void AssignedJob::CopyFrom(const AssignedJob& from) {
3476 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.AssignedJob)
3477 if (&from == this) return;
3478 Clear();
3479 MergeFrom(from);
3480}
3481
3482
3483void AssignedJob::InternalSwap(AssignedJob* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3484 using ::std::swap;
3485 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3486 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3487 _impl_.tasks_.InternalSwap(&other->_impl_.tasks_);
3488 ::google::protobuf::internal::memswap<
3489 PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.sum_of_task_costs_)
3490 + sizeof(AssignedJob::_impl_.sum_of_task_costs_)
3491 - PROTOBUF_FIELD_OFFSET(AssignedJob, _impl_.due_date_cost_)>(
3492 reinterpret_cast<char*>(&_impl_.due_date_cost_),
3493 reinterpret_cast<char*>(&other->_impl_.due_date_cost_));
3494}
3495
3496::google::protobuf::Metadata AssignedJob::GetMetadata() const {
3497 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3498}
3499// ===================================================================
3500
3501class JsspOutputSolution::_Internal {
3502 public:
3503 using HasBits =
3504 decltype(::std::declval<JsspOutputSolution>()._impl_._has_bits_);
3505 static constexpr ::int32_t kHasBitsOffset =
3506 8 * PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_._has_bits_);
3507};
3508
3509JsspOutputSolution::JsspOutputSolution(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3510#if defined(PROTOBUF_CUSTOM_VTABLE)
3511 : ::google::protobuf::Message(arena, JsspOutputSolution_class_data_.base()) {
3512#else // PROTOBUF_CUSTOM_VTABLE
3513 : ::google::protobuf::Message(arena) {
3514#endif // PROTOBUF_CUSTOM_VTABLE
3515 SharedCtor(arena);
3516 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.jssp.JsspOutputSolution)
3517}
3518PROTOBUF_NDEBUG_INLINE JsspOutputSolution::Impl_::Impl_(
3519 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3520 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3521 [[maybe_unused]] const ::operations_research::scheduling::jssp::JsspOutputSolution& from_msg)
3522 : _has_bits_{from._has_bits_},
3523 _cached_size_{0},
3524 jobs_{visibility, arena, from.jobs_} {}
3525
3527 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3528 const JsspOutputSolution& from)
3529#if defined(PROTOBUF_CUSTOM_VTABLE)
3530 : ::google::protobuf::Message(arena, JsspOutputSolution_class_data_.base()) {
3531#else // PROTOBUF_CUSTOM_VTABLE
3532 : ::google::protobuf::Message(arena) {
3533#endif // PROTOBUF_CUSTOM_VTABLE
3534 JsspOutputSolution* const _this = this;
3535 (void)_this;
3536 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3537 from._internal_metadata_);
3538 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
3539 ::memcpy(reinterpret_cast<char*>(&_impl_) +
3540 offsetof(Impl_, makespan_cost_),
3541 reinterpret_cast<const char*>(&from._impl_) +
3542 offsetof(Impl_, makespan_cost_),
3543 offsetof(Impl_, total_cost_) -
3544 offsetof(Impl_, makespan_cost_) +
3545 sizeof(Impl_::total_cost_));
3546
3547 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.jssp.JsspOutputSolution)
3548}
3549PROTOBUF_NDEBUG_INLINE JsspOutputSolution::Impl_::Impl_(
3550 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3551 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3552 : _cached_size_{0},
3553 jobs_{visibility, arena} {}
3554
3555inline void JsspOutputSolution::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3556 new (&_impl_) Impl_(internal_visibility(), arena);
3557 ::memset(reinterpret_cast<char*>(&_impl_) +
3558 offsetof(Impl_, makespan_cost_),
3559 0,
3560 offsetof(Impl_, total_cost_) -
3561 offsetof(Impl_, makespan_cost_) +
3562 sizeof(Impl_::total_cost_));
3563}
3565 // @@protoc_insertion_point(destructor:operations_research.scheduling.jssp.JsspOutputSolution)
3566 SharedDtor(*this);
3567}
3568inline void JsspOutputSolution::SharedDtor(MessageLite& self) {
3569 JsspOutputSolution& this_ = static_cast<JsspOutputSolution&>(self);
3570 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3571 this_.CheckHasBitConsistency();
3572 }
3573 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3574 ABSL_DCHECK(this_.GetArena() == nullptr);
3575 this_._impl_.~Impl_();
3576}
3577
3578inline void* PROTOBUF_NONNULL JsspOutputSolution::PlacementNew_(
3579 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3580 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3581 return ::new (mem) JsspOutputSolution(arena);
3582}
3583constexpr auto JsspOutputSolution::InternalNewImpl_() {
3584 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
3585 PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.jobs_) +
3586 decltype(JsspOutputSolution::_impl_.jobs_)::
3587 InternalGetArenaOffset(
3588 ::google::protobuf::Message::internal_visibility()),
3589 });
3590 if (arena_bits.has_value()) {
3591 return ::google::protobuf::internal::MessageCreator::ZeroInit(
3592 sizeof(JsspOutputSolution), alignof(JsspOutputSolution), *arena_bits);
3593 } else {
3594 return ::google::protobuf::internal::MessageCreator(&JsspOutputSolution::PlacementNew_,
3595 sizeof(JsspOutputSolution),
3596 alignof(JsspOutputSolution));
3597 }
3598}
3600 return ::google::protobuf::internal::ClassDataFull{
3601 ::google::protobuf::internal::ClassData{
3603 &_table_.header,
3604 nullptr, // OnDemandRegisterArenaDtor
3605 nullptr, // IsInitialized
3606 &JsspOutputSolution::MergeImpl,
3607 ::google::protobuf::Message::GetNewImpl<JsspOutputSolution>(),
3608#if defined(PROTOBUF_CUSTOM_VTABLE)
3609 &JsspOutputSolution::SharedDtor,
3610 ::google::protobuf::Message::GetClearImpl<JsspOutputSolution>(), &JsspOutputSolution::ByteSizeLong,
3612#endif // PROTOBUF_CUSTOM_VTABLE
3613 PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_._cached_size_),
3614 false,
3615 },
3616 &JsspOutputSolution::kDescriptorMethods,
3618 nullptr, // tracker
3619 };
3620}
3621
3622PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3623 ::google::protobuf::internal::ClassDataFull JsspOutputSolution_class_data_ =
3625
3626PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3627JsspOutputSolution::GetClassData() const {
3628 ::google::protobuf::internal::PrefetchToLocalCache(&JsspOutputSolution_class_data_);
3629 ::google::protobuf::internal::PrefetchToLocalCache(JsspOutputSolution_class_data_.tc_table);
3630 return JsspOutputSolution_class_data_.base();
3631}
3632PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3633const ::_pbi::TcParseTable<2, 3, 1, 0, 2>
3634JsspOutputSolution::_table_ = {
3635 {
3636 PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_._has_bits_),
3637 0, // no _extensions_
3638 3, 24, // max_field_number, fast_idx_mask
3639 offsetof(decltype(_table_), field_lookup_table),
3640 4294967288, // skipmap
3641 offsetof(decltype(_table_), field_entries),
3642 3, // num_field_entries
3643 1, // num_aux_entries
3644 offsetof(decltype(_table_), aux_entries),
3646 nullptr, // post_loop_handler
3647 ::_pbi::TcParser::GenericFallback, // fallback
3648 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3649 ::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::JsspOutputSolution>(), // to_prefetch
3650 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3651 }, {{
3652 {::_pbi::TcParser::MiniParse, {}},
3653 // repeated .operations_research.scheduling.jssp.AssignedJob jobs = 1;
3654 {::_pbi::TcParser::FastMtR1,
3655 {10, 0, 0,
3656 PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.jobs_)}},
3657 // int64 makespan_cost = 2;
3658 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(JsspOutputSolution, _impl_.makespan_cost_), 1>(),
3659 {16, 1, 0,
3660 PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.makespan_cost_)}},
3661 // int64 total_cost = 3;
3662 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(JsspOutputSolution, _impl_.total_cost_), 2>(),
3663 {24, 2, 0,
3664 PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.total_cost_)}},
3665 }}, {{
3666 65535, 65535
3667 }}, {{
3668 // repeated .operations_research.scheduling.jssp.AssignedJob jobs = 1;
3669 {PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.jobs_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
3670 // int64 makespan_cost = 2;
3671 {PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.makespan_cost_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
3672 // int64 total_cost = 3;
3673 {PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.total_cost_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
3674 }},
3675 {{
3676 {::_pbi::TcParser::GetTable<::operations_research::scheduling::jssp::AssignedJob>()},
3677 }},
3678 {{
3679 }},
3680};
3681PROTOBUF_NOINLINE void JsspOutputSolution::Clear() {
3682// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.jssp.JsspOutputSolution)
3683 ::google::protobuf::internal::TSanWrite(&_impl_);
3684 ::uint32_t cached_has_bits = 0;
3685 // Prevent compiler warnings about cached_has_bits being unused
3686 (void) cached_has_bits;
3687
3688 cached_has_bits = _impl_._has_bits_[0];
3689 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3690 _impl_.jobs_.Clear();
3691 }
3692 if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
3693 ::memset(&_impl_.makespan_cost_, 0, static_cast<::size_t>(
3694 reinterpret_cast<char*>(&_impl_.total_cost_) -
3695 reinterpret_cast<char*>(&_impl_.makespan_cost_)) + sizeof(_impl_.total_cost_));
3696 }
3697 _impl_._has_bits_.Clear();
3698 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3699}
3700
3701#if defined(PROTOBUF_CUSTOM_VTABLE)
3702::uint8_t* PROTOBUF_NONNULL JsspOutputSolution::_InternalSerialize(
3703 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3704 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3705 const JsspOutputSolution& this_ = static_cast<const JsspOutputSolution&>(base);
3706#else // PROTOBUF_CUSTOM_VTABLE
3707::uint8_t* PROTOBUF_NONNULL JsspOutputSolution::_InternalSerialize(
3708 ::uint8_t* PROTOBUF_NONNULL target,
3709 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3710 const JsspOutputSolution& this_ = *this;
3711#endif // PROTOBUF_CUSTOM_VTABLE
3712 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3713 this_.CheckHasBitConsistency();
3714 }
3715 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.jssp.JsspOutputSolution)
3716 ::uint32_t cached_has_bits = 0;
3717 (void)cached_has_bits;
3718
3719 cached_has_bits = this_._impl_._has_bits_[0];
3720 // repeated .operations_research.scheduling.jssp.AssignedJob jobs = 1;
3721 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3722 for (unsigned i = 0, n = static_cast<unsigned>(
3723 this_._internal_jobs_size());
3724 i < n; i++) {
3725 const auto& repfield = this_._internal_jobs().Get(i);
3726 target =
3727 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3728 1, repfield, repfield.GetCachedSize(),
3729 target, stream);
3730 }
3731 }
3732
3733 // int64 makespan_cost = 2;
3734 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3735 if (this_._internal_makespan_cost() != 0) {
3736 target =
3737 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
3738 stream, this_._internal_makespan_cost(), target);
3739 }
3740 }
3741
3742 // int64 total_cost = 3;
3743 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3744 if (this_._internal_total_cost() != 0) {
3745 target =
3746 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
3747 stream, this_._internal_total_cost(), target);
3748 }
3749 }
3750
3751 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3752 target =
3753 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3754 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3755 }
3756 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.jssp.JsspOutputSolution)
3757 return target;
3758}
3759
3760#if defined(PROTOBUF_CUSTOM_VTABLE)
3761::size_t JsspOutputSolution::ByteSizeLong(const MessageLite& base) {
3762 const JsspOutputSolution& this_ = static_cast<const JsspOutputSolution&>(base);
3763#else // PROTOBUF_CUSTOM_VTABLE
3764::size_t JsspOutputSolution::ByteSizeLong() const {
3765 const JsspOutputSolution& this_ = *this;
3766#endif // PROTOBUF_CUSTOM_VTABLE
3767 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.jssp.JsspOutputSolution)
3768 ::size_t total_size = 0;
3769
3770 ::uint32_t cached_has_bits = 0;
3771 // Prevent compiler warnings about cached_has_bits being unused
3772 (void)cached_has_bits;
3774 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3775 cached_has_bits = this_._impl_._has_bits_[0];
3776 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
3777 // repeated .operations_research.scheduling.jssp.AssignedJob jobs = 1;
3778 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3779 total_size += 1UL * this_._internal_jobs_size();
3780 for (const auto& msg : this_._internal_jobs()) {
3781 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
3782 }
3783 }
3784 // int64 makespan_cost = 2;
3785 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3786 if (this_._internal_makespan_cost() != 0) {
3787 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
3788 this_._internal_makespan_cost());
3789 }
3790 }
3791 // int64 total_cost = 3;
3792 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3793 if (this_._internal_total_cost() != 0) {
3794 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
3795 this_._internal_total_cost());
3796 }
3797 }
3798 }
3799 return this_.MaybeComputeUnknownFieldsSize(total_size,
3800 &this_._impl_._cached_size_);
3801}
3802
3803void JsspOutputSolution::MergeImpl(::google::protobuf::MessageLite& to_msg,
3804 const ::google::protobuf::MessageLite& from_msg) {
3805 auto* const _this =
3806 static_cast<JsspOutputSolution*>(&to_msg);
3807 auto& from = static_cast<const JsspOutputSolution&>(from_msg);
3808 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3809 from.CheckHasBitConsistency();
3810 }
3811 ::google::protobuf::Arena* arena = _this->GetArena();
3812 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.jssp.JsspOutputSolution)
3813 ABSL_DCHECK_NE(&from, _this);
3814 ::uint32_t cached_has_bits = 0;
3815 (void)cached_has_bits;
3816
3817 cached_has_bits = from._impl_._has_bits_[0];
3818 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
3819 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3820 _this->_internal_mutable_jobs()->InternalMergeFromWithArena(
3821 ::google::protobuf::MessageLite::internal_visibility(), arena,
3822 from._internal_jobs());
3823 }
3824 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
3825 if (from._internal_makespan_cost() != 0) {
3826 _this->_impl_.makespan_cost_ = from._impl_.makespan_cost_;
3827 }
3828 }
3829 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3830 if (from._internal_total_cost() != 0) {
3831 _this->_impl_.total_cost_ = from._impl_.total_cost_;
3832 }
3833 }
3834 }
3835 _this->_impl_._has_bits_[0] |= cached_has_bits;
3836 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3837 from._internal_metadata_);
3838}
3839
3841 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.jssp.JsspOutputSolution)
3842 if (&from == this) return;
3843 Clear();
3844 MergeFrom(from);
3845}
3846
3847
3848void JsspOutputSolution::InternalSwap(JsspOutputSolution* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3849 using ::std::swap;
3850 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3851 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3852 _impl_.jobs_.InternalSwap(&other->_impl_.jobs_);
3853 ::google::protobuf::internal::memswap<
3854 PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.total_cost_)
3855 + sizeof(JsspOutputSolution::_impl_.total_cost_)
3856 - PROTOBUF_FIELD_OFFSET(JsspOutputSolution, _impl_.makespan_cost_)>(
3857 reinterpret_cast<char*>(&_impl_.makespan_cost_),
3858 reinterpret_cast<char*>(&other->_impl_.makespan_cost_));
3859}
3860
3861::google::protobuf::Metadata JsspOutputSolution::GetMetadata() const {
3862 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3863}
3864// @@protoc_insertion_point(namespace_scope)
3865} // namespace jssp
3866} // namespace scheduling
3867} // namespace operations_research
3868namespace google {
3869namespace protobuf {
3870} // namespace protobuf
3871} // namespace google
3872// @@protoc_insertion_point(global_scope)
3873PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
3874 _static_init2_ [[maybe_unused]] =
3876 ::std::false_type{});
3877#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[]
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(AssignedJob &a, AssignedJob &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(AssignedTask &a, AssignedTask &b)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
decltype(::std::declval< Job >()._impl_._has_bits_) HasBits
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
::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(JsspOutputSolution &a, JsspOutputSolution &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
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
decltype(::std::declval< Task >()._impl_._has_bits_) HasBits
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
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
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
const ::uint32_t TableStruct_ortools_2fscheduling_2fjobshop_5fscheduling_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fscheduling_2fjobshop_5fscheduling_2eproto
static const ::_pbi::DescriptorTable *PROTOBUF_NONNULL const descriptor_table_ortools_2fscheduling_2fjobshop_5fscheduling_2eproto_deps[1]
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fscheduling_2fjobshop_5fscheduling_2eproto
static constexprconst ::_pb::EnumDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_enum_descriptors_ortools_2fscheduling_2fjobshop_5fscheduling_2eproto
::absl::once_flag descriptor_table_ortools_2fscheduling_2fjobshop_5fscheduling_2eproto_once
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull JsspInputProblem_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull JobPrecedence_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MachineDefaultTypeInternal _Machine_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull TransitionTimeMatrix_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JobPrecedenceDefaultTypeInternal _JobPrecedence_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TransitionTimeMatrixDefaultTypeInternal _TransitionTimeMatrix_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Job_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AssignedJob_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsspInputProblemDefaultTypeInternal _JsspInputProblem_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Machine_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TaskDefaultTypeInternal _Task_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Task_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AssignedJobDefaultTypeInternal _AssignedJob_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JobDefaultTypeInternal _Job_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull JsspOutputSolution_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsspOutputSolutionDefaultTypeInternal _JsspOutputSolution_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AssignedTaskDefaultTypeInternal _AssignedTask_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AssignedTask_class_data_
OR-Tools root namespace.