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