Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
rcpsp.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/rcpsp.proto
4// Protobuf C++ Version: 6.33.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28namespace scheduling {
29namespace rcpsp {
30
31inline constexpr Resource::Impl_::Impl_(
32 ::_pbi::ConstantInitialized) noexcept
33 : _cached_size_{0},
34 max_capacity_{0},
35 min_capacity_{0},
36 renewable_{false},
37 unit_cost_{0} {}
38
39template <typename>
40PROTOBUF_CONSTEXPR Resource::Resource(::_pbi::ConstantInitialized)
41#if defined(PROTOBUF_CUSTOM_VTABLE)
42 : ::google::protobuf::Message(Resource_class_data_.base()),
43#else // PROTOBUF_CUSTOM_VTABLE
44 : ::google::protobuf::Message(),
45#endif // PROTOBUF_CUSTOM_VTABLE
46 _impl_(::_pbi::ConstantInitialized()) {
47}
49 PROTOBUF_CONSTEXPR ResourceDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
51 union {
53 };
54};
55
56PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
58
59inline constexpr Recipe::Impl_::Impl_(
60 ::_pbi::ConstantInitialized) noexcept
61 : _cached_size_{0},
62 demands_{},
63 _demands_cached_byte_size_{0},
64 resources_{},
65 _resources_cached_byte_size_{0},
66 duration_{0} {}
67
68template <typename>
69PROTOBUF_CONSTEXPR Recipe::Recipe(::_pbi::ConstantInitialized)
70#if defined(PROTOBUF_CUSTOM_VTABLE)
71 : ::google::protobuf::Message(Recipe_class_data_.base()),
72#else // PROTOBUF_CUSTOM_VTABLE
73 : ::google::protobuf::Message(),
74#endif // PROTOBUF_CUSTOM_VTABLE
75 _impl_(::_pbi::ConstantInitialized()) {
76}
78 PROTOBUF_CONSTEXPR RecipeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
80 union {
82 };
83};
84
85PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
86 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecipeDefaultTypeInternal _Recipe_default_instance_;
87
88inline constexpr RcpspAssignment::Impl_::Impl_(
89 ::_pbi::ConstantInitialized) noexcept
90 : _cached_size_{0},
91 start_of_task_{},
92 _start_of_task_cached_byte_size_{0},
93 selected_recipe_of_task_{},
94 _selected_recipe_of_task_cached_byte_size_{0} {}
95
96template <typename>
97PROTOBUF_CONSTEXPR RcpspAssignment::RcpspAssignment(::_pbi::ConstantInitialized)
98#if defined(PROTOBUF_CUSTOM_VTABLE)
99 : ::google::protobuf::Message(RcpspAssignment_class_data_.base()),
100#else // PROTOBUF_CUSTOM_VTABLE
101 : ::google::protobuf::Message(),
102#endif // PROTOBUF_CUSTOM_VTABLE
103 _impl_(::_pbi::ConstantInitialized()) {
104}
112
113PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
115
116inline constexpr PerRecipeDelays::Impl_::Impl_(
117 ::_pbi::ConstantInitialized) noexcept
118 : _cached_size_{0},
119 min_delays_{},
120 _min_delays_cached_byte_size_{0} {}
121
122template <typename>
123PROTOBUF_CONSTEXPR PerRecipeDelays::PerRecipeDelays(::_pbi::ConstantInitialized)
124#if defined(PROTOBUF_CUSTOM_VTABLE)
125 : ::google::protobuf::Message(PerRecipeDelays_class_data_.base()),
126#else // PROTOBUF_CUSTOM_VTABLE
127 : ::google::protobuf::Message(),
128#endif // PROTOBUF_CUSTOM_VTABLE
129 _impl_(::_pbi::ConstantInitialized()) {
130}
138
139PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
141
142inline constexpr PerSuccessorDelays::Impl_::Impl_(
143 ::_pbi::ConstantInitialized) noexcept
144 : _cached_size_{0},
145 recipe_delays_{} {}
146
147template <typename>
148PROTOBUF_CONSTEXPR PerSuccessorDelays::PerSuccessorDelays(::_pbi::ConstantInitialized)
149#if defined(PROTOBUF_CUSTOM_VTABLE)
150 : ::google::protobuf::Message(PerSuccessorDelays_class_data_.base()),
151#else // PROTOBUF_CUSTOM_VTABLE
152 : ::google::protobuf::Message(),
153#endif // PROTOBUF_CUSTOM_VTABLE
154 _impl_(::_pbi::ConstantInitialized()) {
155}
163
164PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
166
167inline constexpr Task::Impl_::Impl_(
168 ::_pbi::ConstantInitialized) noexcept
169 : _cached_size_{0},
170 successors_{},
171 _successors_cached_byte_size_{0},
172 recipes_{},
173 successor_delays_{} {}
174
175template <typename>
176PROTOBUF_CONSTEXPR Task::Task(::_pbi::ConstantInitialized)
177#if defined(PROTOBUF_CUSTOM_VTABLE)
178 : ::google::protobuf::Message(Task_class_data_.base()),
179#else // PROTOBUF_CUSTOM_VTABLE
180 : ::google::protobuf::Message(),
181#endif // PROTOBUF_CUSTOM_VTABLE
182 _impl_(::_pbi::ConstantInitialized()) {
183}
185 PROTOBUF_CONSTEXPR TaskDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
187 union {
189 };
190};
191
192PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
193 PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TaskDefaultTypeInternal _Task_default_instance_;
194
195inline constexpr RcpspProblem::Impl_::Impl_(
196 ::_pbi::ConstantInitialized) noexcept
197 : _cached_size_{0},
198 resources_{},
199 tasks_{},
200 basedata_(
201 &::google::protobuf::internal::fixed_address_empty_string,
202 ::_pbi::ConstantInitialized()),
203 name_(
204 &::google::protobuf::internal::fixed_address_empty_string,
205 ::_pbi::ConstantInitialized()),
206 is_consumer_producer_{false},
207 is_resource_investment_{false},
208 is_rcpsp_max_{false},
209 deadline_{0},
210 horizon_{0},
211 release_date_{0},
212 tardiness_cost_{0},
213 mpm_time_{0},
214 seed_{::int64_t{0}},
215 due_date_{0} {}
216
217template <typename>
218PROTOBUF_CONSTEXPR RcpspProblem::RcpspProblem(::_pbi::ConstantInitialized)
219#if defined(PROTOBUF_CUSTOM_VTABLE)
220 : ::google::protobuf::Message(RcpspProblem_class_data_.base()),
221#else // PROTOBUF_CUSTOM_VTABLE
222 : ::google::protobuf::Message(),
223#endif // PROTOBUF_CUSTOM_VTABLE
224 _impl_(::_pbi::ConstantInitialized()) {
225}
227 PROTOBUF_CONSTEXPR RcpspProblemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
229 union {
231 };
232};
233
234PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
236} // namespace rcpsp
237} // namespace scheduling
238} // namespace operations_research
239static constexpr const ::_pb::EnumDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
241static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
243const ::uint32_t
245 protodesc_cold) = {
246 0x081, // bitmap
247 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, _impl_._has_bits_),
248 7, // hasbit index offset
249 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, _impl_.max_capacity_),
250 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, _impl_.min_capacity_),
251 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, _impl_.renewable_),
252 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, _impl_.unit_cost_),
253 0,
254 1,
255 2,
256 3,
257 0x081, // bitmap
258 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, _impl_._has_bits_),
259 6, // hasbit index offset
260 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, _impl_.duration_),
261 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, _impl_.demands_),
262 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, _impl_.resources_),
263 2,
264 0,
265 1,
266 0x081, // bitmap
267 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerRecipeDelays, _impl_._has_bits_),
268 4, // hasbit index offset
269 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerRecipeDelays, _impl_.min_delays_),
270 0,
271 0x081, // bitmap
272 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerSuccessorDelays, _impl_._has_bits_),
273 4, // hasbit index offset
274 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerSuccessorDelays, _impl_.recipe_delays_),
275 0,
276 0x081, // bitmap
277 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, _impl_._has_bits_),
278 6, // hasbit index offset
279 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, _impl_.successors_),
280 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, _impl_.recipes_),
281 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, _impl_.successor_delays_),
282 0,
283 1,
284 2,
285 0x081, // bitmap
286 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_._has_bits_),
287 17, // hasbit index offset
288 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.resources_),
289 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.tasks_),
290 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.is_consumer_producer_),
291 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.is_resource_investment_),
292 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.is_rcpsp_max_),
293 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.deadline_),
294 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.horizon_),
295 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.release_date_),
296 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.tardiness_cost_),
297 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.mpm_time_),
298 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.seed_),
299 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.basedata_),
300 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.due_date_),
301 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _impl_.name_),
302 0,
303 1,
304 4,
305 5,
306 6,
307 7,
308 8,
309 9,
310 10,
311 11,
312 12,
313 2,
314 13,
315 3,
316 0x081, // bitmap
317 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspAssignment, _impl_._has_bits_),
318 5, // hasbit index offset
319 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspAssignment, _impl_.start_of_task_),
320 PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspAssignment, _impl_.selected_recipe_of_task_),
321 0,
322 1,
323};
324
325static const ::_pbi::MigrationSchema
326 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
334};
344const char descriptor_table_protodef_ortools_2fscheduling_2frcpsp_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
345 protodesc_cold) = {
346 "\n\036ortools/scheduling/rcpsp.proto\022$operat"
347 "ions_research.scheduling.rcpsp\"\\\n\010Resour"
348 "ce\022\024\n\014max_capacity\030\001 \001(\005\022\024\n\014min_capacity"
349 "\030\002 \001(\005\022\021\n\trenewable\030\003 \001(\010\022\021\n\tunit_cost\030\004"
350 " \001(\005\">\n\006Recipe\022\020\n\010duration\030\001 \001(\005\022\017\n\007dema"
351 "nds\030\002 \003(\005\022\021\n\tresources\030\003 \003(\005\"%\n\017PerRecip"
352 "eDelays\022\022\n\nmin_delays\030\001 \003(\005\"b\n\022PerSucces"
353 "sorDelays\022L\n\rrecipe_delays\030\001 \003(\01325.opera"
354 "tions_research.scheduling.rcpsp.PerRecip"
355 "eDelays\"\255\001\n\004Task\022\022\n\nsuccessors\030\001 \003(\005\022=\n\007"
356 "recipes\030\002 \003(\0132,.operations_research.sche"
357 "duling.rcpsp.Recipe\022R\n\020successor_delays\030"
358 "\003 \003(\01328.operations_research.scheduling.r"
359 "cpsp.PerSuccessorDelays\"\203\003\n\014RcpspProblem"
360 "\022A\n\tresources\030\001 \003(\0132..operations_researc"
361 "h.scheduling.rcpsp.Resource\0229\n\005tasks\030\002 \003"
362 "(\0132*.operations_research.scheduling.rcps"
363 "p.Task\022\034\n\024is_consumer_producer\030\003 \001(\010\022\036\n\026"
364 "is_resource_investment\030\004 \001(\010\022\024\n\014is_rcpsp"
365 "_max\030\005 \001(\010\022\020\n\010deadline\030\006 \001(\005\022\017\n\007horizon\030"
366 "\007 \001(\005\022\024\n\014release_date\030\010 \001(\005\022\026\n\016tardiness"
367 "_cost\030\t \001(\005\022\020\n\010mpm_time\030\n \001(\005\022\014\n\004seed\030\013 "
368 "\001(\003\022\020\n\010basedata\030\014 \001(\t\022\020\n\010due_date\030\r \001(\005\022"
369 "\014\n\004name\030\016 \001(\t\"I\n\017RcpspAssignment\022\025\n\rstar"
370 "t_of_task\030\001 \003(\003\022\037\n\027selected_recipe_of_ta"
371 "sk\030\002 \003(\005BI\n#com.google.ortools.schedulin"
372 "g.rcpspP\001\252\002\037Google.OrTools.Scheduling.Rc"
373 "pspb\006proto3"
374};
376PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_ortools_2fscheduling_2frcpsp_2eproto = {
377 false,
378 false,
379 1091,
380 descriptor_table_protodef_ortools_2fscheduling_2frcpsp_2eproto,
381 "ortools/scheduling/rcpsp.proto",
383 nullptr,
384 0,
385 7,
386 schemas,
391};
392namespace operations_research {
393namespace scheduling {
394namespace rcpsp {
395// ===================================================================
396
398 public:
399 using HasBits =
400 decltype(::std::declval<Resource>()._impl_._has_bits_);
401 static constexpr ::int32_t kHasBitsOffset =
402 8 * PROTOBUF_FIELD_OFFSET(Resource, _impl_._has_bits_);
403};
404
405Resource::Resource(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
406#if defined(PROTOBUF_CUSTOM_VTABLE)
407 : ::google::protobuf::Message(arena, Resource_class_data_.base()) {
408#else // PROTOBUF_CUSTOM_VTABLE
409 : ::google::protobuf::Message(arena) {
410#endif // PROTOBUF_CUSTOM_VTABLE
411 SharedCtor(arena);
412 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.Resource)
413}
415 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Resource& from)
416#if defined(PROTOBUF_CUSTOM_VTABLE)
417 : ::google::protobuf::Message(arena, Resource_class_data_.base()),
418#else // PROTOBUF_CUSTOM_VTABLE
419 : ::google::protobuf::Message(arena),
420#endif // PROTOBUF_CUSTOM_VTABLE
421 _impl_(from._impl_) {
422 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
423 from._internal_metadata_);
424}
425PROTOBUF_NDEBUG_INLINE Resource::Impl_::Impl_(
426 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
427 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
428 : _cached_size_{0} {}
429
430inline void Resource::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
431 new (&_impl_) Impl_(internal_visibility(), arena);
432 ::memset(reinterpret_cast<char*>(&_impl_) +
433 offsetof(Impl_, max_capacity_),
434 0,
435 offsetof(Impl_, unit_cost_) -
436 offsetof(Impl_, max_capacity_) +
437 sizeof(Impl_::unit_cost_));
438}
440 // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.Resource)
441 SharedDtor(*this);
442}
443inline void Resource::SharedDtor(MessageLite& self) {
444 Resource& this_ = static_cast<Resource&>(self);
445 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
446 this_.CheckHasBitConsistency();
447 }
448 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
449 ABSL_DCHECK(this_.GetArena() == nullptr);
450 this_._impl_.~Impl_();
451}
452
453inline void* PROTOBUF_NONNULL Resource::PlacementNew_(
454 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
455 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
456 return ::new (mem) Resource(arena);
457}
458constexpr auto Resource::InternalNewImpl_() {
459 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Resource),
460 alignof(Resource));
461}
463 return ::google::protobuf::internal::ClassDataFull{
464 ::google::protobuf::internal::ClassData{
466 &_table_.header,
467 nullptr, // OnDemandRegisterArenaDtor
468 nullptr, // IsInitialized
469 &Resource::MergeImpl,
470 ::google::protobuf::Message::GetNewImpl<Resource>(),
471#if defined(PROTOBUF_CUSTOM_VTABLE)
472 &Resource::SharedDtor,
473 ::google::protobuf::Message::GetClearImpl<Resource>(), &Resource::ByteSizeLong,
475#endif // PROTOBUF_CUSTOM_VTABLE
476 PROTOBUF_FIELD_OFFSET(Resource, _impl_._cached_size_),
477 false,
478 },
479 &Resource::kDescriptorMethods,
481 nullptr, // tracker
482 };
483}
484
485PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
486 ::google::protobuf::internal::ClassDataFull Resource_class_data_ =
488
489PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
490Resource::GetClassData() const {
491 ::google::protobuf::internal::PrefetchToLocalCache(&Resource_class_data_);
492 ::google::protobuf::internal::PrefetchToLocalCache(Resource_class_data_.tc_table);
493 return Resource_class_data_.base();
494}
495PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
496const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
497Resource::_table_ = {
498 {
499 PROTOBUF_FIELD_OFFSET(Resource, _impl_._has_bits_),
500 0, // no _extensions_
501 4, 24, // max_field_number, fast_idx_mask
502 offsetof(decltype(_table_), field_lookup_table),
503 4294967280, // skipmap
504 offsetof(decltype(_table_), field_entries),
505 4, // num_field_entries
506 0, // num_aux_entries
507 offsetof(decltype(_table_), field_names), // no aux_entries
509 nullptr, // post_loop_handler
510 ::_pbi::TcParser::GenericFallback, // fallback
511 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
512 ::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::Resource>(), // to_prefetch
513 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
514 }, {{
515 // int32 unit_cost = 4;
516 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Resource, _impl_.unit_cost_), 3>(),
517 {32, 3, 0,
518 PROTOBUF_FIELD_OFFSET(Resource, _impl_.unit_cost_)}},
519 // int32 max_capacity = 1;
520 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Resource, _impl_.max_capacity_), 0>(),
521 {8, 0, 0,
522 PROTOBUF_FIELD_OFFSET(Resource, _impl_.max_capacity_)}},
523 // int32 min_capacity = 2;
524 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Resource, _impl_.min_capacity_), 1>(),
525 {16, 1, 0,
526 PROTOBUF_FIELD_OFFSET(Resource, _impl_.min_capacity_)}},
527 // bool renewable = 3;
528 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Resource, _impl_.renewable_), 2>(),
529 {24, 2, 0,
530 PROTOBUF_FIELD_OFFSET(Resource, _impl_.renewable_)}},
531 }}, {{
532 65535, 65535
533 }}, {{
534 // int32 max_capacity = 1;
535 {PROTOBUF_FIELD_OFFSET(Resource, _impl_.max_capacity_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
536 // int32 min_capacity = 2;
537 {PROTOBUF_FIELD_OFFSET(Resource, _impl_.min_capacity_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
538 // bool renewable = 3;
539 {PROTOBUF_FIELD_OFFSET(Resource, _impl_.renewable_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
540 // int32 unit_cost = 4;
541 {PROTOBUF_FIELD_OFFSET(Resource, _impl_.unit_cost_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
542 }},
543 // no aux_entries
544 {{
545 }},
546};
547PROTOBUF_NOINLINE void Resource::Clear() {
548// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.Resource)
549 ::google::protobuf::internal::TSanWrite(&_impl_);
550 ::uint32_t cached_has_bits = 0;
551 // Prevent compiler warnings about cached_has_bits being unused
552 (void) cached_has_bits;
553
554 cached_has_bits = _impl_._has_bits_[0];
555 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
556 ::memset(&_impl_.max_capacity_, 0, static_cast<::size_t>(
557 reinterpret_cast<char*>(&_impl_.unit_cost_) -
558 reinterpret_cast<char*>(&_impl_.max_capacity_)) + sizeof(_impl_.unit_cost_));
559 }
560 _impl_._has_bits_.Clear();
561 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
562}
563
564#if defined(PROTOBUF_CUSTOM_VTABLE)
565::uint8_t* PROTOBUF_NONNULL Resource::_InternalSerialize(
566 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
567 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
568 const Resource& this_ = static_cast<const Resource&>(base);
569#else // PROTOBUF_CUSTOM_VTABLE
570::uint8_t* PROTOBUF_NONNULL Resource::_InternalSerialize(
571 ::uint8_t* PROTOBUF_NONNULL target,
572 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
573 const Resource& this_ = *this;
574#endif // PROTOBUF_CUSTOM_VTABLE
575 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
576 this_.CheckHasBitConsistency();
577 }
578 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.Resource)
579 ::uint32_t cached_has_bits = 0;
580 (void)cached_has_bits;
581
582 cached_has_bits = this_._impl_._has_bits_[0];
583 // int32 max_capacity = 1;
584 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
585 if (this_._internal_max_capacity() != 0) {
586 target =
587 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
588 stream, this_._internal_max_capacity(), target);
589 }
590 }
591
592 // int32 min_capacity = 2;
593 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
594 if (this_._internal_min_capacity() != 0) {
595 target =
596 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
597 stream, this_._internal_min_capacity(), target);
598 }
599 }
600
601 // bool renewable = 3;
602 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
603 if (this_._internal_renewable() != 0) {
604 target = stream->EnsureSpace(target);
605 target = ::_pbi::WireFormatLite::WriteBoolToArray(
606 3, this_._internal_renewable(), target);
607 }
608 }
609
610 // int32 unit_cost = 4;
611 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
612 if (this_._internal_unit_cost() != 0) {
613 target =
614 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
615 stream, this_._internal_unit_cost(), target);
616 }
617 }
618
619 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
620 target =
621 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
622 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
623 }
624 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.Resource)
625 return target;
626}
627
628#if defined(PROTOBUF_CUSTOM_VTABLE)
629::size_t Resource::ByteSizeLong(const MessageLite& base) {
630 const Resource& this_ = static_cast<const Resource&>(base);
631#else // PROTOBUF_CUSTOM_VTABLE
632::size_t Resource::ByteSizeLong() const {
633 const Resource& this_ = *this;
634#endif // PROTOBUF_CUSTOM_VTABLE
635 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.Resource)
636 ::size_t total_size = 0;
637
638 ::uint32_t cached_has_bits = 0;
639 // Prevent compiler warnings about cached_has_bits being unused
640 (void)cached_has_bits;
641
642 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
643 cached_has_bits = this_._impl_._has_bits_[0];
644 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
645 // int32 max_capacity = 1;
646 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
647 if (this_._internal_max_capacity() != 0) {
648 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
649 this_._internal_max_capacity());
650 }
651 }
652 // int32 min_capacity = 2;
653 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
654 if (this_._internal_min_capacity() != 0) {
655 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
656 this_._internal_min_capacity());
657 }
658 }
659 // bool renewable = 3;
660 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
661 if (this_._internal_renewable() != 0) {
662 total_size += 2;
663 }
664 }
665 // int32 unit_cost = 4;
666 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
667 if (this_._internal_unit_cost() != 0) {
668 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
669 this_._internal_unit_cost());
670 }
671 }
672 }
673 return this_.MaybeComputeUnknownFieldsSize(total_size,
674 &this_._impl_._cached_size_);
675}
676
677void Resource::MergeImpl(::google::protobuf::MessageLite& to_msg,
678 const ::google::protobuf::MessageLite& from_msg) {
679 auto* const _this =
680 static_cast<Resource*>(&to_msg);
681 auto& from = static_cast<const Resource&>(from_msg);
682 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
683 from.CheckHasBitConsistency();
684 }
685 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.Resource)
686 ABSL_DCHECK_NE(&from, _this);
687 ::uint32_t cached_has_bits = 0;
688 (void)cached_has_bits;
689
690 cached_has_bits = from._impl_._has_bits_[0];
691 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
692 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
693 if (from._internal_max_capacity() != 0) {
694 _this->_impl_.max_capacity_ = from._impl_.max_capacity_;
695 }
696 }
697 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
698 if (from._internal_min_capacity() != 0) {
699 _this->_impl_.min_capacity_ = from._impl_.min_capacity_;
700 }
701 }
702 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
703 if (from._internal_renewable() != 0) {
704 _this->_impl_.renewable_ = from._impl_.renewable_;
705 }
706 }
707 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
708 if (from._internal_unit_cost() != 0) {
709 _this->_impl_.unit_cost_ = from._impl_.unit_cost_;
710 }
711 }
712 }
713 _this->_impl_._has_bits_[0] |= cached_has_bits;
714 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
715 from._internal_metadata_);
716}
717
718void Resource::CopyFrom(const Resource& from) {
719 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.Resource)
720 if (&from == this) return;
721 Clear();
722 MergeFrom(from);
723}
724
725
726void Resource::InternalSwap(Resource* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
727 using ::std::swap;
728 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
729 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
730 ::google::protobuf::internal::memswap<
731 PROTOBUF_FIELD_OFFSET(Resource, _impl_.unit_cost_)
732 + sizeof(Resource::_impl_.unit_cost_)
733 - PROTOBUF_FIELD_OFFSET(Resource, _impl_.max_capacity_)>(
734 reinterpret_cast<char*>(&_impl_.max_capacity_),
735 reinterpret_cast<char*>(&other->_impl_.max_capacity_));
736}
737
738::google::protobuf::Metadata Resource::GetMetadata() const {
739 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
740}
741// ===================================================================
742
743class Recipe::_Internal {
744 public:
745 using HasBits =
746 decltype(::std::declval<Recipe>()._impl_._has_bits_);
747 static constexpr ::int32_t kHasBitsOffset =
748 8 * PROTOBUF_FIELD_OFFSET(Recipe, _impl_._has_bits_);
750
751Recipe::Recipe(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
752#if defined(PROTOBUF_CUSTOM_VTABLE)
753 : ::google::protobuf::Message(arena, Recipe_class_data_.base()) {
754#else // PROTOBUF_CUSTOM_VTABLE
755 : ::google::protobuf::Message(arena) {
756#endif // PROTOBUF_CUSTOM_VTABLE
757 SharedCtor(arena);
758 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.Recipe)
759}
760PROTOBUF_NDEBUG_INLINE Recipe::Impl_::Impl_(
761 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
762 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
763 [[maybe_unused]] const ::operations_research::scheduling::rcpsp::Recipe& from_msg)
764 : _has_bits_{from._has_bits_},
765 _cached_size_{0},
766 demands_{visibility, arena, from.demands_},
767 _demands_cached_byte_size_{0},
768 resources_{visibility, arena, from.resources_},
769 _resources_cached_byte_size_{0} {}
770
772 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
773 const Recipe& from)
774#if defined(PROTOBUF_CUSTOM_VTABLE)
775 : ::google::protobuf::Message(arena, Recipe_class_data_.base()) {
776#else // PROTOBUF_CUSTOM_VTABLE
777 : ::google::protobuf::Message(arena) {
778#endif // PROTOBUF_CUSTOM_VTABLE
779 Recipe* const _this = this;
780 (void)_this;
781 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
782 from._internal_metadata_);
783 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
784 _impl_.duration_ = from._impl_.duration_;
785
786 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.Recipe)
787}
788PROTOBUF_NDEBUG_INLINE Recipe::Impl_::Impl_(
789 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
790 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
791 : _cached_size_{0},
792 demands_{visibility, arena},
793 _demands_cached_byte_size_{0},
794 resources_{visibility, arena},
795 _resources_cached_byte_size_{0} {}
796
797inline void Recipe::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
798 new (&_impl_) Impl_(internal_visibility(), arena);
799 _impl_.duration_ = {};
800}
802 // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.Recipe)
803 SharedDtor(*this);
804}
805inline void Recipe::SharedDtor(MessageLite& self) {
806 Recipe& this_ = static_cast<Recipe&>(self);
807 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
808 this_.CheckHasBitConsistency();
809 }
810 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
811 ABSL_DCHECK(this_.GetArena() == nullptr);
812 this_._impl_.~Impl_();
813}
814
815inline void* PROTOBUF_NONNULL Recipe::PlacementNew_(
816 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
817 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
818 return ::new (mem) Recipe(arena);
819}
820constexpr auto Recipe::InternalNewImpl_() {
821 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
822 PROTOBUF_FIELD_OFFSET(Recipe, _impl_.demands_) +
823 decltype(Recipe::_impl_.demands_)::
824 InternalGetArenaOffset(
825 ::google::protobuf::Message::internal_visibility()),
826 PROTOBUF_FIELD_OFFSET(Recipe, _impl_.resources_) +
827 decltype(Recipe::_impl_.resources_)::
828 InternalGetArenaOffset(
829 ::google::protobuf::Message::internal_visibility()),
830 });
831 if (arena_bits.has_value()) {
832 return ::google::protobuf::internal::MessageCreator::ZeroInit(
833 sizeof(Recipe), alignof(Recipe), *arena_bits);
834 } else {
835 return ::google::protobuf::internal::MessageCreator(&Recipe::PlacementNew_,
836 sizeof(Recipe),
837 alignof(Recipe));
838 }
839}
840constexpr auto Recipe::InternalGenerateClassData_() {
841 return ::google::protobuf::internal::ClassDataFull{
842 ::google::protobuf::internal::ClassData{
843 &_Recipe_default_instance_._instance,
844 &_table_.header,
845 nullptr, // OnDemandRegisterArenaDtor
846 nullptr, // IsInitialized
847 &Recipe::MergeImpl,
848 ::google::protobuf::Message::GetNewImpl<Recipe>(),
849#if defined(PROTOBUF_CUSTOM_VTABLE)
850 &Recipe::SharedDtor,
851 ::google::protobuf::Message::GetClearImpl<Recipe>(), &Recipe::ByteSizeLong,
853#endif // PROTOBUF_CUSTOM_VTABLE
854 PROTOBUF_FIELD_OFFSET(Recipe, _impl_._cached_size_),
855 false,
856 },
857 &Recipe::kDescriptorMethods,
859 nullptr, // tracker
860 };
861}
862
863PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
864 ::google::protobuf::internal::ClassDataFull Recipe_class_data_ =
867PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
868Recipe::GetClassData() const {
869 ::google::protobuf::internal::PrefetchToLocalCache(&Recipe_class_data_);
870 ::google::protobuf::internal::PrefetchToLocalCache(Recipe_class_data_.tc_table);
871 return Recipe_class_data_.base();
872}
873PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
874const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
875Recipe::_table_ = {
876 {
877 PROTOBUF_FIELD_OFFSET(Recipe, _impl_._has_bits_),
878 0, // no _extensions_
879 3, 24, // max_field_number, fast_idx_mask
880 offsetof(decltype(_table_), field_lookup_table),
881 4294967288, // skipmap
882 offsetof(decltype(_table_), field_entries),
883 3, // num_field_entries
884 0, // num_aux_entries
885 offsetof(decltype(_table_), field_names), // no aux_entries
886 Recipe_class_data_.base(),
887 nullptr, // post_loop_handler
888 ::_pbi::TcParser::GenericFallback, // fallback
889 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
890 ::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::Recipe>(), // to_prefetch
891 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
892 }, {{
893 {::_pbi::TcParser::MiniParse, {}},
894 // int32 duration = 1;
895 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Recipe, _impl_.duration_), 2>(),
896 {8, 2, 0,
897 PROTOBUF_FIELD_OFFSET(Recipe, _impl_.duration_)}},
898 // repeated int32 demands = 2;
899 {::_pbi::TcParser::FastV32P1,
900 {18, 0, 0,
901 PROTOBUF_FIELD_OFFSET(Recipe, _impl_.demands_)}},
902 // repeated int32 resources = 3;
903 {::_pbi::TcParser::FastV32P1,
904 {26, 1, 0,
905 PROTOBUF_FIELD_OFFSET(Recipe, _impl_.resources_)}},
906 }}, {{
907 65535, 65535
908 }}, {{
909 // int32 duration = 1;
910 {PROTOBUF_FIELD_OFFSET(Recipe, _impl_.duration_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
911 // repeated int32 demands = 2;
912 {PROTOBUF_FIELD_OFFSET(Recipe, _impl_.demands_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
913 // repeated int32 resources = 3;
914 {PROTOBUF_FIELD_OFFSET(Recipe, _impl_.resources_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
915 }},
916 // no aux_entries
917 {{
918 }},
919};
920PROTOBUF_NOINLINE void Recipe::Clear() {
921// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.Recipe)
922 ::google::protobuf::internal::TSanWrite(&_impl_);
923 ::uint32_t cached_has_bits = 0;
924 // Prevent compiler warnings about cached_has_bits being unused
925 (void) cached_has_bits;
926
927 cached_has_bits = _impl_._has_bits_[0];
928 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
929 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
930 _impl_.demands_.Clear();
931 }
932 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
933 _impl_.resources_.Clear();
934 }
935 }
936 _impl_.duration_ = 0;
937 _impl_._has_bits_.Clear();
938 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
939}
940
941#if defined(PROTOBUF_CUSTOM_VTABLE)
942::uint8_t* PROTOBUF_NONNULL Recipe::_InternalSerialize(
943 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
944 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
945 const Recipe& this_ = static_cast<const Recipe&>(base);
946#else // PROTOBUF_CUSTOM_VTABLE
947::uint8_t* PROTOBUF_NONNULL Recipe::_InternalSerialize(
948 ::uint8_t* PROTOBUF_NONNULL target,
949 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
950 const Recipe& this_ = *this;
951#endif // PROTOBUF_CUSTOM_VTABLE
952 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
953 this_.CheckHasBitConsistency();
954 }
955 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.Recipe)
956 ::uint32_t cached_has_bits = 0;
957 (void)cached_has_bits;
958
959 cached_has_bits = this_._impl_._has_bits_[0];
960 // int32 duration = 1;
961 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
962 if (this_._internal_duration() != 0) {
963 target =
964 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
965 stream, this_._internal_duration(), target);
966 }
967 }
968
969 // repeated int32 demands = 2;
970 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
971 {
972 int byte_size = this_._impl_._demands_cached_byte_size_.Get();
973 if (byte_size > 0) {
974 target = stream->WriteInt32Packed(
975 2, this_._internal_demands(), byte_size, target);
976 }
977 }
978 }
979
980 // repeated int32 resources = 3;
981 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
982 {
983 int byte_size = this_._impl_._resources_cached_byte_size_.Get();
984 if (byte_size > 0) {
985 target = stream->WriteInt32Packed(
986 3, this_._internal_resources(), byte_size, target);
987 }
988 }
989 }
990
991 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
992 target =
993 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
994 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
995 }
996 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.Recipe)
997 return target;
998}
999
1000#if defined(PROTOBUF_CUSTOM_VTABLE)
1001::size_t Recipe::ByteSizeLong(const MessageLite& base) {
1002 const Recipe& this_ = static_cast<const Recipe&>(base);
1003#else // PROTOBUF_CUSTOM_VTABLE
1004::size_t Recipe::ByteSizeLong() const {
1005 const Recipe& this_ = *this;
1006#endif // PROTOBUF_CUSTOM_VTABLE
1007 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.Recipe)
1008 ::size_t total_size = 0;
1009
1010 ::uint32_t cached_has_bits = 0;
1011 // Prevent compiler warnings about cached_has_bits being unused
1012 (void)cached_has_bits;
1013
1014 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1015 cached_has_bits = this_._impl_._has_bits_[0];
1016 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1017 // repeated int32 demands = 2;
1018 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1019 total_size +=
1020 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1021 this_._internal_demands(), 1,
1022 this_._impl_._demands_cached_byte_size_);
1023 }
1024 // repeated int32 resources = 3;
1025 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1026 total_size +=
1027 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1028 this_._internal_resources(), 1,
1029 this_._impl_._resources_cached_byte_size_);
1030 }
1031 // int32 duration = 1;
1032 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1033 if (this_._internal_duration() != 0) {
1034 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
1035 this_._internal_duration());
1036 }
1037 }
1038 }
1039 return this_.MaybeComputeUnknownFieldsSize(total_size,
1040 &this_._impl_._cached_size_);
1041}
1042
1043void Recipe::MergeImpl(::google::protobuf::MessageLite& to_msg,
1044 const ::google::protobuf::MessageLite& from_msg) {
1045 auto* const _this =
1046 static_cast<Recipe*>(&to_msg);
1047 auto& from = static_cast<const Recipe&>(from_msg);
1048 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1049 from.CheckHasBitConsistency();
1050 }
1051 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.Recipe)
1052 ABSL_DCHECK_NE(&from, _this);
1053 ::uint32_t cached_has_bits = 0;
1054 (void)cached_has_bits;
1055
1056 cached_has_bits = from._impl_._has_bits_[0];
1057 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1058 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1059 _this->_internal_mutable_demands()->MergeFrom(from._internal_demands());
1060 }
1061 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1062 _this->_internal_mutable_resources()->MergeFrom(from._internal_resources());
1063 }
1064 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
1065 if (from._internal_duration() != 0) {
1066 _this->_impl_.duration_ = from._impl_.duration_;
1067 }
1068 }
1069 }
1070 _this->_impl_._has_bits_[0] |= cached_has_bits;
1071 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1072 from._internal_metadata_);
1073}
1074
1075void Recipe::CopyFrom(const Recipe& from) {
1076 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.Recipe)
1077 if (&from == this) return;
1078 Clear();
1079 MergeFrom(from);
1080}
1081
1082
1083void Recipe::InternalSwap(Recipe* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1084 using ::std::swap;
1085 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1086 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1087 _impl_.demands_.InternalSwap(&other->_impl_.demands_);
1088 _impl_.resources_.InternalSwap(&other->_impl_.resources_);
1089 swap(_impl_.duration_, other->_impl_.duration_);
1090}
1091
1092::google::protobuf::Metadata Recipe::GetMetadata() const {
1093 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1095// ===================================================================
1096
1098 public:
1099 using HasBits =
1100 decltype(::std::declval<PerRecipeDelays>()._impl_._has_bits_);
1101 static constexpr ::int32_t kHasBitsOffset =
1102 8 * PROTOBUF_FIELD_OFFSET(PerRecipeDelays, _impl_._has_bits_);
1103};
1105PerRecipeDelays::PerRecipeDelays(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1106#if defined(PROTOBUF_CUSTOM_VTABLE)
1107 : ::google::protobuf::Message(arena, PerRecipeDelays_class_data_.base()) {
1108#else // PROTOBUF_CUSTOM_VTABLE
1109 : ::google::protobuf::Message(arena) {
1110#endif // PROTOBUF_CUSTOM_VTABLE
1111 SharedCtor(arena);
1112 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.PerRecipeDelays)
1113}
1114PROTOBUF_NDEBUG_INLINE PerRecipeDelays::Impl_::Impl_(
1115 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1116 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1117 [[maybe_unused]] const ::operations_research::scheduling::rcpsp::PerRecipeDelays& from_msg)
1118 : _has_bits_{from._has_bits_},
1119 _cached_size_{0},
1120 min_delays_{visibility, arena, from.min_delays_},
1121 _min_delays_cached_byte_size_{0} {}
1122
1124 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1125 const PerRecipeDelays& from)
1126#if defined(PROTOBUF_CUSTOM_VTABLE)
1127 : ::google::protobuf::Message(arena, PerRecipeDelays_class_data_.base()) {
1128#else // PROTOBUF_CUSTOM_VTABLE
1129 : ::google::protobuf::Message(arena) {
1130#endif // PROTOBUF_CUSTOM_VTABLE
1131 PerRecipeDelays* const _this = this;
1132 (void)_this;
1133 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1134 from._internal_metadata_);
1135 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1136
1137 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.PerRecipeDelays)
1138}
1139PROTOBUF_NDEBUG_INLINE PerRecipeDelays::Impl_::Impl_(
1140 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1141 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1142 : _cached_size_{0},
1143 min_delays_{visibility, arena},
1144 _min_delays_cached_byte_size_{0} {}
1145
1146inline void PerRecipeDelays::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1147 new (&_impl_) Impl_(internal_visibility(), arena);
1148}
1150 // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.PerRecipeDelays)
1151 SharedDtor(*this);
1153inline void PerRecipeDelays::SharedDtor(MessageLite& self) {
1154 PerRecipeDelays& this_ = static_cast<PerRecipeDelays&>(self);
1155 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1156 this_.CheckHasBitConsistency();
1157 }
1158 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1159 ABSL_DCHECK(this_.GetArena() == nullptr);
1160 this_._impl_.~Impl_();
1161}
1162
1163inline void* PROTOBUF_NONNULL PerRecipeDelays::PlacementNew_(
1164 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1165 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1166 return ::new (mem) PerRecipeDelays(arena);
1167}
1168constexpr auto PerRecipeDelays::InternalNewImpl_() {
1169 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1170 PROTOBUF_FIELD_OFFSET(PerRecipeDelays, _impl_.min_delays_) +
1171 decltype(PerRecipeDelays::_impl_.min_delays_)::
1172 InternalGetArenaOffset(
1173 ::google::protobuf::Message::internal_visibility()),
1174 });
1175 if (arena_bits.has_value()) {
1176 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1177 sizeof(PerRecipeDelays), alignof(PerRecipeDelays), *arena_bits);
1178 } else {
1179 return ::google::protobuf::internal::MessageCreator(&PerRecipeDelays::PlacementNew_,
1180 sizeof(PerRecipeDelays),
1181 alignof(PerRecipeDelays));
1182 }
1183}
1185 return ::google::protobuf::internal::ClassDataFull{
1186 ::google::protobuf::internal::ClassData{
1188 &_table_.header,
1189 nullptr, // OnDemandRegisterArenaDtor
1190 nullptr, // IsInitialized
1191 &PerRecipeDelays::MergeImpl,
1192 ::google::protobuf::Message::GetNewImpl<PerRecipeDelays>(),
1193#if defined(PROTOBUF_CUSTOM_VTABLE)
1194 &PerRecipeDelays::SharedDtor,
1195 ::google::protobuf::Message::GetClearImpl<PerRecipeDelays>(), &PerRecipeDelays::ByteSizeLong,
1197#endif // PROTOBUF_CUSTOM_VTABLE
1198 PROTOBUF_FIELD_OFFSET(PerRecipeDelays, _impl_._cached_size_),
1199 false,
1200 },
1201 &PerRecipeDelays::kDescriptorMethods,
1203 nullptr, // tracker
1204 };
1205}
1206
1207PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1208 ::google::protobuf::internal::ClassDataFull PerRecipeDelays_class_data_ =
1210
1211PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1212PerRecipeDelays::GetClassData() const {
1213 ::google::protobuf::internal::PrefetchToLocalCache(&PerRecipeDelays_class_data_);
1214 ::google::protobuf::internal::PrefetchToLocalCache(PerRecipeDelays_class_data_.tc_table);
1215 return PerRecipeDelays_class_data_.base();
1216}
1217PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1218const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
1219PerRecipeDelays::_table_ = {
1220 {
1221 PROTOBUF_FIELD_OFFSET(PerRecipeDelays, _impl_._has_bits_),
1222 0, // no _extensions_
1223 1, 0, // max_field_number, fast_idx_mask
1224 offsetof(decltype(_table_), field_lookup_table),
1225 4294967294, // skipmap
1226 offsetof(decltype(_table_), field_entries),
1227 1, // num_field_entries
1228 0, // num_aux_entries
1229 offsetof(decltype(_table_), field_names), // no aux_entries
1231 nullptr, // post_loop_handler
1232 ::_pbi::TcParser::GenericFallback, // fallback
1233 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1234 ::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::PerRecipeDelays>(), // to_prefetch
1235 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1236 }, {{
1237 // repeated int32 min_delays = 1;
1238 {::_pbi::TcParser::FastV32P1,
1239 {10, 0, 0,
1240 PROTOBUF_FIELD_OFFSET(PerRecipeDelays, _impl_.min_delays_)}},
1241 }}, {{
1242 65535, 65535
1243 }}, {{
1244 // repeated int32 min_delays = 1;
1245 {PROTOBUF_FIELD_OFFSET(PerRecipeDelays, _impl_.min_delays_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1246 }},
1247 // no aux_entries
1248 {{
1249 }},
1250};
1251PROTOBUF_NOINLINE void PerRecipeDelays::Clear() {
1252// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
1253 ::google::protobuf::internal::TSanWrite(&_impl_);
1254 ::uint32_t cached_has_bits = 0;
1255 // Prevent compiler warnings about cached_has_bits being unused
1256 (void) cached_has_bits;
1257
1258 cached_has_bits = _impl_._has_bits_[0];
1259 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1260 _impl_.min_delays_.Clear();
1261 }
1262 _impl_._has_bits_.Clear();
1263 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1264}
1265
1266#if defined(PROTOBUF_CUSTOM_VTABLE)
1267::uint8_t* PROTOBUF_NONNULL PerRecipeDelays::_InternalSerialize(
1268 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1269 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1270 const PerRecipeDelays& this_ = static_cast<const PerRecipeDelays&>(base);
1271#else // PROTOBUF_CUSTOM_VTABLE
1272::uint8_t* PROTOBUF_NONNULL PerRecipeDelays::_InternalSerialize(
1273 ::uint8_t* PROTOBUF_NONNULL target,
1274 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1275 const PerRecipeDelays& this_ = *this;
1276#endif // PROTOBUF_CUSTOM_VTABLE
1277 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1278 this_.CheckHasBitConsistency();
1279 }
1280 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
1281 ::uint32_t cached_has_bits = 0;
1282 (void)cached_has_bits;
1283
1284 cached_has_bits = this_._impl_._has_bits_[0];
1285 // repeated int32 min_delays = 1;
1286 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1287 {
1288 int byte_size = this_._impl_._min_delays_cached_byte_size_.Get();
1289 if (byte_size > 0) {
1290 target = stream->WriteInt32Packed(
1291 1, this_._internal_min_delays(), byte_size, target);
1292 }
1293 }
1294 }
1295
1296 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1297 target =
1298 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1299 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1300 }
1301 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.PerRecipeDelays)
1302 return target;
1303}
1304
1305#if defined(PROTOBUF_CUSTOM_VTABLE)
1306::size_t PerRecipeDelays::ByteSizeLong(const MessageLite& base) {
1307 const PerRecipeDelays& this_ = static_cast<const PerRecipeDelays&>(base);
1308#else // PROTOBUF_CUSTOM_VTABLE
1309::size_t PerRecipeDelays::ByteSizeLong() const {
1310 const PerRecipeDelays& this_ = *this;
1311#endif // PROTOBUF_CUSTOM_VTABLE
1312 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
1313 ::size_t total_size = 0;
1314
1315 ::uint32_t cached_has_bits = 0;
1316 // Prevent compiler warnings about cached_has_bits being unused
1317 (void)cached_has_bits;
1318
1319 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1320 {
1321 // repeated int32 min_delays = 1;
1322 cached_has_bits = this_._impl_._has_bits_[0];
1323 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1324 total_size +=
1325 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1326 this_._internal_min_delays(), 1,
1327 this_._impl_._min_delays_cached_byte_size_);
1328 }
1329 }
1330 return this_.MaybeComputeUnknownFieldsSize(total_size,
1331 &this_._impl_._cached_size_);
1332}
1333
1334void PerRecipeDelays::MergeImpl(::google::protobuf::MessageLite& to_msg,
1335 const ::google::protobuf::MessageLite& from_msg) {
1336 auto* const _this =
1337 static_cast<PerRecipeDelays*>(&to_msg);
1338 auto& from = static_cast<const PerRecipeDelays&>(from_msg);
1339 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1340 from.CheckHasBitConsistency();
1341 }
1342 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
1343 ABSL_DCHECK_NE(&from, _this);
1344 ::uint32_t cached_has_bits = 0;
1345 (void)cached_has_bits;
1346
1347 cached_has_bits = from._impl_._has_bits_[0];
1348 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1349 _this->_internal_mutable_min_delays()->MergeFrom(from._internal_min_delays());
1350 }
1351 _this->_impl_._has_bits_[0] |= cached_has_bits;
1352 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1353 from._internal_metadata_);
1354}
1355
1356void PerRecipeDelays::CopyFrom(const PerRecipeDelays& from) {
1357 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
1358 if (&from == this) return;
1360 MergeFrom(from);
1361}
1362
1363
1364void PerRecipeDelays::InternalSwap(PerRecipeDelays* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1365 using ::std::swap;
1366 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1367 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1368 _impl_.min_delays_.InternalSwap(&other->_impl_.min_delays_);
1369}
1370
1371::google::protobuf::Metadata PerRecipeDelays::GetMetadata() const {
1372 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1373}
1374// ===================================================================
1375
1377 public:
1378 using HasBits =
1379 decltype(::std::declval<PerSuccessorDelays>()._impl_._has_bits_);
1380 static constexpr ::int32_t kHasBitsOffset =
1381 8 * PROTOBUF_FIELD_OFFSET(PerSuccessorDelays, _impl_._has_bits_);
1383
1384PerSuccessorDelays::PerSuccessorDelays(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1385#if defined(PROTOBUF_CUSTOM_VTABLE)
1386 : ::google::protobuf::Message(arena, PerSuccessorDelays_class_data_.base()) {
1387#else // PROTOBUF_CUSTOM_VTABLE
1388 : ::google::protobuf::Message(arena) {
1389#endif // PROTOBUF_CUSTOM_VTABLE
1390 SharedCtor(arena);
1391 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1392}
1393PROTOBUF_NDEBUG_INLINE PerSuccessorDelays::Impl_::Impl_(
1394 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1395 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1396 [[maybe_unused]] const ::operations_research::scheduling::rcpsp::PerSuccessorDelays& from_msg)
1397 : _has_bits_{from._has_bits_},
1398 _cached_size_{0},
1399 recipe_delays_{visibility, arena, from.recipe_delays_} {}
1400
1402 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1403 const PerSuccessorDelays& from)
1404#if defined(PROTOBUF_CUSTOM_VTABLE)
1405 : ::google::protobuf::Message(arena, PerSuccessorDelays_class_data_.base()) {
1406#else // PROTOBUF_CUSTOM_VTABLE
1407 : ::google::protobuf::Message(arena) {
1408#endif // PROTOBUF_CUSTOM_VTABLE
1409 PerSuccessorDelays* const _this = this;
1410 (void)_this;
1411 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1412 from._internal_metadata_);
1413 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1414
1415 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1416}
1417PROTOBUF_NDEBUG_INLINE PerSuccessorDelays::Impl_::Impl_(
1418 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1419 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1420 : _cached_size_{0},
1421 recipe_delays_{visibility, arena} {}
1422
1423inline void PerSuccessorDelays::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1424 new (&_impl_) Impl_(internal_visibility(), arena);
1425}
1427 // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1428 SharedDtor(*this);
1429}
1430inline void PerSuccessorDelays::SharedDtor(MessageLite& self) {
1431 PerSuccessorDelays& this_ = static_cast<PerSuccessorDelays&>(self);
1432 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1433 this_.CheckHasBitConsistency();
1434 }
1435 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1436 ABSL_DCHECK(this_.GetArena() == nullptr);
1437 this_._impl_.~Impl_();
1438}
1439
1440inline void* PROTOBUF_NONNULL PerSuccessorDelays::PlacementNew_(
1441 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1442 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1443 return ::new (mem) PerSuccessorDelays(arena);
1444}
1445constexpr auto PerSuccessorDelays::InternalNewImpl_() {
1446 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1447 PROTOBUF_FIELD_OFFSET(PerSuccessorDelays, _impl_.recipe_delays_) +
1448 decltype(PerSuccessorDelays::_impl_.recipe_delays_)::
1449 InternalGetArenaOffset(
1450 ::google::protobuf::Message::internal_visibility()),
1451 });
1452 if (arena_bits.has_value()) {
1453 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1454 sizeof(PerSuccessorDelays), alignof(PerSuccessorDelays), *arena_bits);
1455 } else {
1456 return ::google::protobuf::internal::MessageCreator(&PerSuccessorDelays::PlacementNew_,
1457 sizeof(PerSuccessorDelays),
1458 alignof(PerSuccessorDelays));
1459 }
1460}
1462 return ::google::protobuf::internal::ClassDataFull{
1463 ::google::protobuf::internal::ClassData{
1465 &_table_.header,
1466 nullptr, // OnDemandRegisterArenaDtor
1467 nullptr, // IsInitialized
1468 &PerSuccessorDelays::MergeImpl,
1469 ::google::protobuf::Message::GetNewImpl<PerSuccessorDelays>(),
1470#if defined(PROTOBUF_CUSTOM_VTABLE)
1471 &PerSuccessorDelays::SharedDtor,
1472 ::google::protobuf::Message::GetClearImpl<PerSuccessorDelays>(), &PerSuccessorDelays::ByteSizeLong,
1474#endif // PROTOBUF_CUSTOM_VTABLE
1475 PROTOBUF_FIELD_OFFSET(PerSuccessorDelays, _impl_._cached_size_),
1476 false,
1477 },
1478 &PerSuccessorDelays::kDescriptorMethods,
1480 nullptr, // tracker
1481 };
1482}
1483
1484PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1485 ::google::protobuf::internal::ClassDataFull PerSuccessorDelays_class_data_ =
1487
1488PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1489PerSuccessorDelays::GetClassData() const {
1490 ::google::protobuf::internal::PrefetchToLocalCache(&PerSuccessorDelays_class_data_);
1491 ::google::protobuf::internal::PrefetchToLocalCache(PerSuccessorDelays_class_data_.tc_table);
1492 return PerSuccessorDelays_class_data_.base();
1493}
1494PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1495const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
1496PerSuccessorDelays::_table_ = {
1497 {
1498 PROTOBUF_FIELD_OFFSET(PerSuccessorDelays, _impl_._has_bits_),
1499 0, // no _extensions_
1500 1, 0, // max_field_number, fast_idx_mask
1501 offsetof(decltype(_table_), field_lookup_table),
1502 4294967294, // skipmap
1503 offsetof(decltype(_table_), field_entries),
1504 1, // num_field_entries
1505 1, // num_aux_entries
1506 offsetof(decltype(_table_), aux_entries),
1508 nullptr, // post_loop_handler
1509 ::_pbi::TcParser::GenericFallback, // fallback
1510 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1511 ::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::PerSuccessorDelays>(), // to_prefetch
1512 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1513 }, {{
1514 // repeated .operations_research.scheduling.rcpsp.PerRecipeDelays recipe_delays = 1;
1515 {::_pbi::TcParser::FastMtR1,
1516 {10, 0, 0,
1517 PROTOBUF_FIELD_OFFSET(PerSuccessorDelays, _impl_.recipe_delays_)}},
1518 }}, {{
1519 65535, 65535
1520 }}, {{
1521 // repeated .operations_research.scheduling.rcpsp.PerRecipeDelays recipe_delays = 1;
1522 {PROTOBUF_FIELD_OFFSET(PerSuccessorDelays, _impl_.recipe_delays_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1523 }},
1524 {{
1525 {::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::PerRecipeDelays>()},
1526 }},
1527 {{
1528 }},
1529};
1530PROTOBUF_NOINLINE void PerSuccessorDelays::Clear() {
1531// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1532 ::google::protobuf::internal::TSanWrite(&_impl_);
1533 ::uint32_t cached_has_bits = 0;
1534 // Prevent compiler warnings about cached_has_bits being unused
1535 (void) cached_has_bits;
1536
1537 cached_has_bits = _impl_._has_bits_[0];
1538 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1539 _impl_.recipe_delays_.Clear();
1540 }
1541 _impl_._has_bits_.Clear();
1542 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1543}
1544
1545#if defined(PROTOBUF_CUSTOM_VTABLE)
1546::uint8_t* PROTOBUF_NONNULL PerSuccessorDelays::_InternalSerialize(
1547 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1548 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1549 const PerSuccessorDelays& this_ = static_cast<const PerSuccessorDelays&>(base);
1550#else // PROTOBUF_CUSTOM_VTABLE
1551::uint8_t* PROTOBUF_NONNULL PerSuccessorDelays::_InternalSerialize(
1552 ::uint8_t* PROTOBUF_NONNULL target,
1553 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1554 const PerSuccessorDelays& this_ = *this;
1555#endif // PROTOBUF_CUSTOM_VTABLE
1556 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1557 this_.CheckHasBitConsistency();
1558 }
1559 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1560 ::uint32_t cached_has_bits = 0;
1561 (void)cached_has_bits;
1562
1563 cached_has_bits = this_._impl_._has_bits_[0];
1564 // repeated .operations_research.scheduling.rcpsp.PerRecipeDelays recipe_delays = 1;
1565 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1566 for (unsigned i = 0, n = static_cast<unsigned>(
1567 this_._internal_recipe_delays_size());
1568 i < n; i++) {
1569 const auto& repfield = this_._internal_recipe_delays().Get(i);
1570 target =
1571 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1572 1, repfield, repfield.GetCachedSize(),
1573 target, stream);
1574 }
1575 }
1576
1577 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1578 target =
1579 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1580 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1581 }
1582 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1583 return target;
1584}
1585
1586#if defined(PROTOBUF_CUSTOM_VTABLE)
1587::size_t PerSuccessorDelays::ByteSizeLong(const MessageLite& base) {
1588 const PerSuccessorDelays& this_ = static_cast<const PerSuccessorDelays&>(base);
1589#else // PROTOBUF_CUSTOM_VTABLE
1590::size_t PerSuccessorDelays::ByteSizeLong() const {
1591 const PerSuccessorDelays& this_ = *this;
1592#endif // PROTOBUF_CUSTOM_VTABLE
1593 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1594 ::size_t total_size = 0;
1595
1596 ::uint32_t cached_has_bits = 0;
1597 // Prevent compiler warnings about cached_has_bits being unused
1598 (void)cached_has_bits;
1599
1600 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1601 {
1602 // repeated .operations_research.scheduling.rcpsp.PerRecipeDelays recipe_delays = 1;
1603 cached_has_bits = this_._impl_._has_bits_[0];
1604 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1605 total_size += 1UL * this_._internal_recipe_delays_size();
1606 for (const auto& msg : this_._internal_recipe_delays()) {
1607 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1608 }
1609 }
1610 }
1611 return this_.MaybeComputeUnknownFieldsSize(total_size,
1612 &this_._impl_._cached_size_);
1613}
1614
1615void PerSuccessorDelays::MergeImpl(::google::protobuf::MessageLite& to_msg,
1616 const ::google::protobuf::MessageLite& from_msg) {
1617 auto* const _this =
1618 static_cast<PerSuccessorDelays*>(&to_msg);
1619 auto& from = static_cast<const PerSuccessorDelays&>(from_msg);
1620 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1621 from.CheckHasBitConsistency();
1622 }
1623 ::google::protobuf::Arena* arena = _this->GetArena();
1624 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1625 ABSL_DCHECK_NE(&from, _this);
1626 ::uint32_t cached_has_bits = 0;
1627 (void)cached_has_bits;
1628
1629 cached_has_bits = from._impl_._has_bits_[0];
1630 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1631 _this->_internal_mutable_recipe_delays()->InternalMergeFromWithArena(
1632 ::google::protobuf::MessageLite::internal_visibility(), arena,
1633 from._internal_recipe_delays());
1634 }
1635 _this->_impl_._has_bits_[0] |= cached_has_bits;
1636 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1637 from._internal_metadata_);
1638}
1639
1640void PerSuccessorDelays::CopyFrom(const PerSuccessorDelays& from) {
1641 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1642 if (&from == this) return;
1643 Clear();
1645}
1646
1647
1648void PerSuccessorDelays::InternalSwap(PerSuccessorDelays* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1649 using ::std::swap;
1650 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1651 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1652 _impl_.recipe_delays_.InternalSwap(&other->_impl_.recipe_delays_);
1653}
1654
1655::google::protobuf::Metadata PerSuccessorDelays::GetMetadata() const {
1656 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1657}
1658// ===================================================================
1660class Task::_Internal {
1661 public:
1662 using HasBits =
1663 decltype(::std::declval<Task>()._impl_._has_bits_);
1664 static constexpr ::int32_t kHasBitsOffset =
1665 8 * PROTOBUF_FIELD_OFFSET(Task, _impl_._has_bits_);
1666};
1668Task::Task(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1669#if defined(PROTOBUF_CUSTOM_VTABLE)
1670 : ::google::protobuf::Message(arena, Task_class_data_.base()) {
1671#else // PROTOBUF_CUSTOM_VTABLE
1672 : ::google::protobuf::Message(arena) {
1673#endif // PROTOBUF_CUSTOM_VTABLE
1674 SharedCtor(arena);
1675 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.Task)
1676}
1677PROTOBUF_NDEBUG_INLINE Task::Impl_::Impl_(
1678 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1679 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1680 [[maybe_unused]] const ::operations_research::scheduling::rcpsp::Task& from_msg)
1681 : _has_bits_{from._has_bits_},
1682 _cached_size_{0},
1683 successors_{visibility, arena, from.successors_},
1684 _successors_cached_byte_size_{0},
1685 recipes_{visibility, arena, from.recipes_},
1686 successor_delays_{visibility, arena, from.successor_delays_} {}
1687
1689 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1690 const Task& from)
1691#if defined(PROTOBUF_CUSTOM_VTABLE)
1692 : ::google::protobuf::Message(arena, Task_class_data_.base()) {
1693#else // PROTOBUF_CUSTOM_VTABLE
1694 : ::google::protobuf::Message(arena) {
1695#endif // PROTOBUF_CUSTOM_VTABLE
1696 Task* const _this = this;
1697 (void)_this;
1698 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1699 from._internal_metadata_);
1700 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1701
1702 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.Task)
1703}
1704PROTOBUF_NDEBUG_INLINE Task::Impl_::Impl_(
1705 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1706 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1707 : _cached_size_{0},
1708 successors_{visibility, arena},
1709 _successors_cached_byte_size_{0},
1710 recipes_{visibility, arena},
1711 successor_delays_{visibility, arena} {}
1712
1713inline void Task::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1714 new (&_impl_) Impl_(internal_visibility(), arena);
1715}
1716Task::~Task() {
1717 // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.Task)
1718 SharedDtor(*this);
1719}
1720inline void Task::SharedDtor(MessageLite& self) {
1721 Task& this_ = static_cast<Task&>(self);
1722 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1723 this_.CheckHasBitConsistency();
1724 }
1725 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1726 ABSL_DCHECK(this_.GetArena() == nullptr);
1727 this_._impl_.~Impl_();
1728}
1729
1730inline void* PROTOBUF_NONNULL Task::PlacementNew_(
1731 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1732 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1733 return ::new (mem) Task(arena);
1734}
1735constexpr auto Task::InternalNewImpl_() {
1736 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1737 PROTOBUF_FIELD_OFFSET(Task, _impl_.successors_) +
1738 decltype(Task::_impl_.successors_)::
1739 InternalGetArenaOffset(
1740 ::google::protobuf::Message::internal_visibility()),
1741 PROTOBUF_FIELD_OFFSET(Task, _impl_.recipes_) +
1742 decltype(Task::_impl_.recipes_)::
1743 InternalGetArenaOffset(
1744 ::google::protobuf::Message::internal_visibility()),
1745 PROTOBUF_FIELD_OFFSET(Task, _impl_.successor_delays_) +
1746 decltype(Task::_impl_.successor_delays_)::
1747 InternalGetArenaOffset(
1748 ::google::protobuf::Message::internal_visibility()),
1749 });
1750 if (arena_bits.has_value()) {
1751 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1752 sizeof(Task), alignof(Task), *arena_bits);
1753 } else {
1754 return ::google::protobuf::internal::MessageCreator(&Task::PlacementNew_,
1755 sizeof(Task),
1756 alignof(Task));
1757 }
1758}
1759constexpr auto Task::InternalGenerateClassData_() {
1760 return ::google::protobuf::internal::ClassDataFull{
1761 ::google::protobuf::internal::ClassData{
1763 &_table_.header,
1764 nullptr, // OnDemandRegisterArenaDtor
1765 nullptr, // IsInitialized
1766 &Task::MergeImpl,
1767 ::google::protobuf::Message::GetNewImpl<Task>(),
1768#if defined(PROTOBUF_CUSTOM_VTABLE)
1769 &Task::SharedDtor,
1770 ::google::protobuf::Message::GetClearImpl<Task>(), &Task::ByteSizeLong,
1772#endif // PROTOBUF_CUSTOM_VTABLE
1773 PROTOBUF_FIELD_OFFSET(Task, _impl_._cached_size_),
1774 false,
1775 },
1776 &Task::kDescriptorMethods,
1778 nullptr, // tracker
1779 };
1780}
1781
1782PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1783 ::google::protobuf::internal::ClassDataFull Task_class_data_ =
1785
1786PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1787Task::GetClassData() const {
1788 ::google::protobuf::internal::PrefetchToLocalCache(&Task_class_data_);
1789 ::google::protobuf::internal::PrefetchToLocalCache(Task_class_data_.tc_table);
1790 return Task_class_data_.base();
1791}
1792PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1793const ::_pbi::TcParseTable<2, 3, 2, 0, 2>
1794Task::_table_ = {
1795 {
1796 PROTOBUF_FIELD_OFFSET(Task, _impl_._has_bits_),
1797 0, // no _extensions_
1798 3, 24, // max_field_number, fast_idx_mask
1799 offsetof(decltype(_table_), field_lookup_table),
1800 4294967288, // skipmap
1801 offsetof(decltype(_table_), field_entries),
1802 3, // num_field_entries
1803 2, // num_aux_entries
1804 offsetof(decltype(_table_), aux_entries),
1805 Task_class_data_.base(),
1806 nullptr, // post_loop_handler
1807 ::_pbi::TcParser::GenericFallback, // fallback
1808 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1809 ::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::Task>(), // to_prefetch
1810 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1811 }, {{
1812 {::_pbi::TcParser::MiniParse, {}},
1813 // repeated int32 successors = 1;
1814 {::_pbi::TcParser::FastV32P1,
1815 {10, 0, 0,
1816 PROTOBUF_FIELD_OFFSET(Task, _impl_.successors_)}},
1817 // repeated .operations_research.scheduling.rcpsp.Recipe recipes = 2;
1818 {::_pbi::TcParser::FastMtR1,
1819 {18, 1, 0,
1820 PROTOBUF_FIELD_OFFSET(Task, _impl_.recipes_)}},
1821 // repeated .operations_research.scheduling.rcpsp.PerSuccessorDelays successor_delays = 3;
1822 {::_pbi::TcParser::FastMtR1,
1823 {26, 2, 1,
1824 PROTOBUF_FIELD_OFFSET(Task, _impl_.successor_delays_)}},
1825 }}, {{
1826 65535, 65535
1827 }}, {{
1828 // repeated int32 successors = 1;
1829 {PROTOBUF_FIELD_OFFSET(Task, _impl_.successors_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
1830 // repeated .operations_research.scheduling.rcpsp.Recipe recipes = 2;
1831 {PROTOBUF_FIELD_OFFSET(Task, _impl_.recipes_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1832 // repeated .operations_research.scheduling.rcpsp.PerSuccessorDelays successor_delays = 3;
1833 {PROTOBUF_FIELD_OFFSET(Task, _impl_.successor_delays_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
1834 }},
1835 {{
1836 {::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::Recipe>()},
1837 {::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::PerSuccessorDelays>()},
1838 }},
1839 {{
1840 }},
1841};
1842PROTOBUF_NOINLINE void Task::Clear() {
1843// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.Task)
1844 ::google::protobuf::internal::TSanWrite(&_impl_);
1845 ::uint32_t cached_has_bits = 0;
1846 // Prevent compiler warnings about cached_has_bits being unused
1847 (void) cached_has_bits;
1848
1849 cached_has_bits = _impl_._has_bits_[0];
1850 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1851 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1852 _impl_.successors_.Clear();
1853 }
1854 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1855 _impl_.recipes_.Clear();
1856 }
1857 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
1858 _impl_.successor_delays_.Clear();
1859 }
1860 }
1861 _impl_._has_bits_.Clear();
1862 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1863}
1864
1865#if defined(PROTOBUF_CUSTOM_VTABLE)
1866::uint8_t* PROTOBUF_NONNULL Task::_InternalSerialize(
1867 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1868 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1869 const Task& this_ = static_cast<const Task&>(base);
1870#else // PROTOBUF_CUSTOM_VTABLE
1871::uint8_t* PROTOBUF_NONNULL Task::_InternalSerialize(
1872 ::uint8_t* PROTOBUF_NONNULL target,
1873 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1874 const Task& this_ = *this;
1875#endif // PROTOBUF_CUSTOM_VTABLE
1876 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1877 this_.CheckHasBitConsistency();
1878 }
1879 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.Task)
1880 ::uint32_t cached_has_bits = 0;
1881 (void)cached_has_bits;
1882
1883 cached_has_bits = this_._impl_._has_bits_[0];
1884 // repeated int32 successors = 1;
1885 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1886 {
1887 int byte_size = this_._impl_._successors_cached_byte_size_.Get();
1888 if (byte_size > 0) {
1889 target = stream->WriteInt32Packed(
1890 1, this_._internal_successors(), byte_size, target);
1891 }
1892 }
1893 }
1894
1895 // repeated .operations_research.scheduling.rcpsp.Recipe recipes = 2;
1896 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1897 for (unsigned i = 0, n = static_cast<unsigned>(
1898 this_._internal_recipes_size());
1899 i < n; i++) {
1900 const auto& repfield = this_._internal_recipes().Get(i);
1901 target =
1902 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1903 2, repfield, repfield.GetCachedSize(),
1904 target, stream);
1905 }
1906 }
1907
1908 // repeated .operations_research.scheduling.rcpsp.PerSuccessorDelays successor_delays = 3;
1909 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
1910 for (unsigned i = 0, n = static_cast<unsigned>(
1911 this_._internal_successor_delays_size());
1912 i < n; i++) {
1913 const auto& repfield = this_._internal_successor_delays().Get(i);
1914 target =
1915 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
1916 3, repfield, repfield.GetCachedSize(),
1917 target, stream);
1918 }
1919 }
1920
1921 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1922 target =
1923 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1924 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1925 }
1926 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.Task)
1927 return target;
1928}
1929
1930#if defined(PROTOBUF_CUSTOM_VTABLE)
1931::size_t Task::ByteSizeLong(const MessageLite& base) {
1932 const Task& this_ = static_cast<const Task&>(base);
1933#else // PROTOBUF_CUSTOM_VTABLE
1934::size_t Task::ByteSizeLong() const {
1935 const Task& this_ = *this;
1936#endif // PROTOBUF_CUSTOM_VTABLE
1937 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.Task)
1938 ::size_t total_size = 0;
1940 ::uint32_t cached_has_bits = 0;
1941 // Prevent compiler warnings about cached_has_bits being unused
1942 (void)cached_has_bits;
1943
1944 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1945 cached_has_bits = this_._impl_._has_bits_[0];
1946 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1947 // repeated int32 successors = 1;
1948 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1949 total_size +=
1950 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
1951 this_._internal_successors(), 1,
1952 this_._impl_._successors_cached_byte_size_);
1953 }
1954 // repeated .operations_research.scheduling.rcpsp.Recipe recipes = 2;
1955 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1956 total_size += 1UL * this_._internal_recipes_size();
1957 for (const auto& msg : this_._internal_recipes()) {
1958 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1959 }
1960 }
1961 // repeated .operations_research.scheduling.rcpsp.PerSuccessorDelays successor_delays = 3;
1962 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
1963 total_size += 1UL * this_._internal_successor_delays_size();
1964 for (const auto& msg : this_._internal_successor_delays()) {
1965 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
1966 }
1967 }
1968 }
1969 return this_.MaybeComputeUnknownFieldsSize(total_size,
1970 &this_._impl_._cached_size_);
1971}
1972
1973void Task::MergeImpl(::google::protobuf::MessageLite& to_msg,
1974 const ::google::protobuf::MessageLite& from_msg) {
1975 auto* const _this =
1976 static_cast<Task*>(&to_msg);
1977 auto& from = static_cast<const Task&>(from_msg);
1978 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1979 from.CheckHasBitConsistency();
1980 }
1981 ::google::protobuf::Arena* arena = _this->GetArena();
1982 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.Task)
1983 ABSL_DCHECK_NE(&from, _this);
1984 ::uint32_t cached_has_bits = 0;
1985 (void)cached_has_bits;
1986
1987 cached_has_bits = from._impl_._has_bits_[0];
1988 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
1989 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1990 _this->_internal_mutable_successors()->MergeFrom(from._internal_successors());
1991 }
1992 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
1993 _this->_internal_mutable_recipes()->InternalMergeFromWithArena(
1994 ::google::protobuf::MessageLite::internal_visibility(), arena,
1995 from._internal_recipes());
1996 }
1997 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
1998 _this->_internal_mutable_successor_delays()->InternalMergeFromWithArena(
1999 ::google::protobuf::MessageLite::internal_visibility(), arena,
2000 from._internal_successor_delays());
2001 }
2002 }
2003 _this->_impl_._has_bits_[0] |= cached_has_bits;
2004 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2005 from._internal_metadata_);
2006}
2007
2008void Task::CopyFrom(const Task& from) {
2009 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.Task)
2010 if (&from == this) return;
2011 Clear();
2012 MergeFrom(from);
2014
2015
2016void Task::InternalSwap(Task* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2017 using ::std::swap;
2018 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2019 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2020 _impl_.successors_.InternalSwap(&other->_impl_.successors_);
2021 _impl_.recipes_.InternalSwap(&other->_impl_.recipes_);
2022 _impl_.successor_delays_.InternalSwap(&other->_impl_.successor_delays_);
2023}
2024
2025::google::protobuf::Metadata Task::GetMetadata() const {
2026 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2027}
2028// ===================================================================
2029
2031 public:
2032 using HasBits =
2033 decltype(::std::declval<RcpspProblem>()._impl_._has_bits_);
2034 static constexpr ::int32_t kHasBitsOffset =
2035 8 * PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_._has_bits_);
2037
2038RcpspProblem::RcpspProblem(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2039#if defined(PROTOBUF_CUSTOM_VTABLE)
2040 : ::google::protobuf::Message(arena, RcpspProblem_class_data_.base()) {
2041#else // PROTOBUF_CUSTOM_VTABLE
2042 : ::google::protobuf::Message(arena) {
2043#endif // PROTOBUF_CUSTOM_VTABLE
2044 SharedCtor(arena);
2045 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.RcpspProblem)
2046}
2047PROTOBUF_NDEBUG_INLINE RcpspProblem::Impl_::Impl_(
2048 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2049 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2050 [[maybe_unused]] const ::operations_research::scheduling::rcpsp::RcpspProblem& from_msg)
2051 : _has_bits_{from._has_bits_},
2052 _cached_size_{0},
2053 resources_{visibility, arena, from.resources_},
2054 tasks_{visibility, arena, from.tasks_},
2055 basedata_(arena, from.basedata_),
2056 name_(arena, from.name_) {}
2057
2059 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2060 const RcpspProblem& from)
2061#if defined(PROTOBUF_CUSTOM_VTABLE)
2062 : ::google::protobuf::Message(arena, RcpspProblem_class_data_.base()) {
2063#else // PROTOBUF_CUSTOM_VTABLE
2064 : ::google::protobuf::Message(arena) {
2065#endif // PROTOBUF_CUSTOM_VTABLE
2066 RcpspProblem* const _this = this;
2067 (void)_this;
2068 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2069 from._internal_metadata_);
2070 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2071 ::memcpy(reinterpret_cast<char*>(&_impl_) +
2072 offsetof(Impl_, is_consumer_producer_),
2073 reinterpret_cast<const char*>(&from._impl_) +
2074 offsetof(Impl_, is_consumer_producer_),
2075 offsetof(Impl_, due_date_) -
2076 offsetof(Impl_, is_consumer_producer_) +
2077 sizeof(Impl_::due_date_));
2078
2079 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.RcpspProblem)
2080}
2081PROTOBUF_NDEBUG_INLINE RcpspProblem::Impl_::Impl_(
2082 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2083 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2084 : _cached_size_{0},
2085 resources_{visibility, arena},
2086 tasks_{visibility, arena},
2087 basedata_(arena),
2088 name_(arena) {}
2089
2090inline void RcpspProblem::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2091 new (&_impl_) Impl_(internal_visibility(), arena);
2092 ::memset(reinterpret_cast<char*>(&_impl_) +
2093 offsetof(Impl_, is_consumer_producer_),
2094 0,
2095 offsetof(Impl_, due_date_) -
2096 offsetof(Impl_, is_consumer_producer_) +
2097 sizeof(Impl_::due_date_));
2098}
2100 // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.RcpspProblem)
2101 SharedDtor(*this);
2102}
2103inline void RcpspProblem::SharedDtor(MessageLite& self) {
2104 RcpspProblem& this_ = static_cast<RcpspProblem&>(self);
2105 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2106 this_.CheckHasBitConsistency();
2107 }
2108 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2109 ABSL_DCHECK(this_.GetArena() == nullptr);
2110 this_._impl_.basedata_.Destroy();
2111 this_._impl_.name_.Destroy();
2112 this_._impl_.~Impl_();
2113}
2114
2115inline void* PROTOBUF_NONNULL RcpspProblem::PlacementNew_(
2116 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2117 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2118 return ::new (mem) RcpspProblem(arena);
2119}
2120constexpr auto RcpspProblem::InternalNewImpl_() {
2121 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2122 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.resources_) +
2123 decltype(RcpspProblem::_impl_.resources_)::
2124 InternalGetArenaOffset(
2125 ::google::protobuf::Message::internal_visibility()),
2126 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.tasks_) +
2127 decltype(RcpspProblem::_impl_.tasks_)::
2128 InternalGetArenaOffset(
2129 ::google::protobuf::Message::internal_visibility()),
2130 });
2131 if (arena_bits.has_value()) {
2132 return ::google::protobuf::internal::MessageCreator::CopyInit(
2133 sizeof(RcpspProblem), alignof(RcpspProblem), *arena_bits);
2134 } else {
2135 return ::google::protobuf::internal::MessageCreator(&RcpspProblem::PlacementNew_,
2136 sizeof(RcpspProblem),
2137 alignof(RcpspProblem));
2138 }
2139}
2141 return ::google::protobuf::internal::ClassDataFull{
2142 ::google::protobuf::internal::ClassData{
2144 &_table_.header,
2145 nullptr, // OnDemandRegisterArenaDtor
2146 nullptr, // IsInitialized
2147 &RcpspProblem::MergeImpl,
2148 ::google::protobuf::Message::GetNewImpl<RcpspProblem>(),
2149#if defined(PROTOBUF_CUSTOM_VTABLE)
2150 &RcpspProblem::SharedDtor,
2151 ::google::protobuf::Message::GetClearImpl<RcpspProblem>(), &RcpspProblem::ByteSizeLong,
2153#endif // PROTOBUF_CUSTOM_VTABLE
2154 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_._cached_size_),
2155 false,
2156 },
2157 &RcpspProblem::kDescriptorMethods,
2159 nullptr, // tracker
2160 };
2161}
2162
2163PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2164 ::google::protobuf::internal::ClassDataFull RcpspProblem_class_data_ =
2166
2167PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2168RcpspProblem::GetClassData() const {
2169 ::google::protobuf::internal::PrefetchToLocalCache(&RcpspProblem_class_data_);
2170 ::google::protobuf::internal::PrefetchToLocalCache(RcpspProblem_class_data_.tc_table);
2171 return RcpspProblem_class_data_.base();
2172}
2173PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2174const ::_pbi::TcParseTable<4, 14, 2, 78, 2>
2175RcpspProblem::_table_ = {
2176 {
2177 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_._has_bits_),
2178 0, // no _extensions_
2179 14, 120, // max_field_number, fast_idx_mask
2180 offsetof(decltype(_table_), field_lookup_table),
2181 4294950912, // skipmap
2182 offsetof(decltype(_table_), field_entries),
2183 14, // num_field_entries
2184 2, // num_aux_entries
2185 offsetof(decltype(_table_), aux_entries),
2187 nullptr, // post_loop_handler
2188 ::_pbi::TcParser::GenericFallback, // fallback
2189 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2190 ::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::RcpspProblem>(), // to_prefetch
2191 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2192 }, {{
2193 {::_pbi::TcParser::MiniParse, {}},
2194 // repeated .operations_research.scheduling.rcpsp.Resource resources = 1;
2195 {::_pbi::TcParser::FastMtR1,
2196 {10, 0, 0,
2197 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.resources_)}},
2198 // repeated .operations_research.scheduling.rcpsp.Task tasks = 2;
2199 {::_pbi::TcParser::FastMtR1,
2200 {18, 1, 1,
2201 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.tasks_)}},
2202 // bool is_consumer_producer = 3;
2203 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RcpspProblem, _impl_.is_consumer_producer_), 4>(),
2204 {24, 4, 0,
2205 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.is_consumer_producer_)}},
2206 // bool is_resource_investment = 4;
2207 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RcpspProblem, _impl_.is_resource_investment_), 5>(),
2208 {32, 5, 0,
2209 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.is_resource_investment_)}},
2210 // bool is_rcpsp_max = 5;
2211 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RcpspProblem, _impl_.is_rcpsp_max_), 6>(),
2212 {40, 6, 0,
2213 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.is_rcpsp_max_)}},
2214 // int32 deadline = 6;
2215 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RcpspProblem, _impl_.deadline_), 7>(),
2216 {48, 7, 0,
2217 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.deadline_)}},
2218 // int32 horizon = 7;
2219 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RcpspProblem, _impl_.horizon_), 8>(),
2220 {56, 8, 0,
2221 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.horizon_)}},
2222 // int32 release_date = 8;
2223 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RcpspProblem, _impl_.release_date_), 9>(),
2224 {64, 9, 0,
2225 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.release_date_)}},
2226 // int32 tardiness_cost = 9;
2227 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RcpspProblem, _impl_.tardiness_cost_), 10>(),
2228 {72, 10, 0,
2229 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.tardiness_cost_)}},
2230 // int32 mpm_time = 10;
2231 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RcpspProblem, _impl_.mpm_time_), 11>(),
2232 {80, 11, 0,
2233 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.mpm_time_)}},
2234 // int64 seed = 11;
2235 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(RcpspProblem, _impl_.seed_), 12>(),
2236 {88, 12, 0,
2237 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.seed_)}},
2238 // string basedata = 12;
2239 {::_pbi::TcParser::FastUS1,
2240 {98, 2, 0,
2241 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.basedata_)}},
2242 // int32 due_date = 13;
2243 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RcpspProblem, _impl_.due_date_), 13>(),
2244 {104, 13, 0,
2245 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.due_date_)}},
2246 // string name = 14;
2247 {::_pbi::TcParser::FastUS1,
2248 {114, 3, 0,
2249 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.name_)}},
2250 {::_pbi::TcParser::MiniParse, {}},
2251 }}, {{
2252 65535, 65535
2253 }}, {{
2254 // repeated .operations_research.scheduling.rcpsp.Resource resources = 1;
2255 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.resources_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
2256 // repeated .operations_research.scheduling.rcpsp.Task tasks = 2;
2257 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.tasks_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
2258 // bool is_consumer_producer = 3;
2259 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.is_consumer_producer_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2260 // bool is_resource_investment = 4;
2261 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.is_resource_investment_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2262 // bool is_rcpsp_max = 5;
2263 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.is_rcpsp_max_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
2264 // int32 deadline = 6;
2265 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.deadline_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2266 // int32 horizon = 7;
2267 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.horizon_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2268 // int32 release_date = 8;
2269 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.release_date_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2270 // int32 tardiness_cost = 9;
2271 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.tardiness_cost_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2272 // int32 mpm_time = 10;
2273 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.mpm_time_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2274 // int64 seed = 11;
2275 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.seed_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
2276 // string basedata = 12;
2277 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.basedata_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2278 // int32 due_date = 13;
2279 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.due_date_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
2280 // string name = 14;
2281 {PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
2282 }},
2283 {{
2284 {::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::Resource>()},
2285 {::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::Task>()},
2286 }},
2287 {{
2288 "\61\0\0\0\0\0\0\0\0\0\0\0\10\0\4\0"
2289 "operations_research.scheduling.rcpsp.RcpspProblem"
2290 "basedata"
2291 "name"
2292 }},
2293};
2294PROTOBUF_NOINLINE void RcpspProblem::Clear() {
2295// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.RcpspProblem)
2296 ::google::protobuf::internal::TSanWrite(&_impl_);
2297 ::uint32_t cached_has_bits = 0;
2298 // Prevent compiler warnings about cached_has_bits being unused
2299 (void) cached_has_bits;
2301 cached_has_bits = _impl_._has_bits_[0];
2302 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
2303 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2304 _impl_.resources_.Clear();
2305 }
2306 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2307 _impl_.tasks_.Clear();
2308 }
2309 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2310 _impl_.basedata_.ClearNonDefaultToEmpty();
2311 }
2312 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2313 _impl_.name_.ClearNonDefaultToEmpty();
2314 }
2315 }
2316 if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
2317 ::memset(&_impl_.is_consumer_producer_, 0, static_cast<::size_t>(
2318 reinterpret_cast<char*>(&_impl_.deadline_) -
2319 reinterpret_cast<char*>(&_impl_.is_consumer_producer_)) + sizeof(_impl_.deadline_));
2320 }
2321 if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
2322 ::memset(&_impl_.horizon_, 0, static_cast<::size_t>(
2323 reinterpret_cast<char*>(&_impl_.due_date_) -
2324 reinterpret_cast<char*>(&_impl_.horizon_)) + sizeof(_impl_.due_date_));
2325 }
2326 _impl_._has_bits_.Clear();
2327 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2328}
2329
2330#if defined(PROTOBUF_CUSTOM_VTABLE)
2331::uint8_t* PROTOBUF_NONNULL RcpspProblem::_InternalSerialize(
2332 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2333 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2334 const RcpspProblem& this_ = static_cast<const RcpspProblem&>(base);
2335#else // PROTOBUF_CUSTOM_VTABLE
2336::uint8_t* PROTOBUF_NONNULL RcpspProblem::_InternalSerialize(
2337 ::uint8_t* PROTOBUF_NONNULL target,
2338 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2339 const RcpspProblem& this_ = *this;
2340#endif // PROTOBUF_CUSTOM_VTABLE
2341 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2342 this_.CheckHasBitConsistency();
2343 }
2344 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.RcpspProblem)
2345 ::uint32_t cached_has_bits = 0;
2346 (void)cached_has_bits;
2347
2348 cached_has_bits = this_._impl_._has_bits_[0];
2349 // repeated .operations_research.scheduling.rcpsp.Resource resources = 1;
2350 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2351 for (unsigned i = 0, n = static_cast<unsigned>(
2352 this_._internal_resources_size());
2353 i < n; i++) {
2354 const auto& repfield = this_._internal_resources().Get(i);
2355 target =
2356 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2357 1, repfield, repfield.GetCachedSize(),
2358 target, stream);
2359 }
2360 }
2361
2362 // repeated .operations_research.scheduling.rcpsp.Task tasks = 2;
2363 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2364 for (unsigned i = 0, n = static_cast<unsigned>(
2365 this_._internal_tasks_size());
2366 i < n; i++) {
2367 const auto& repfield = this_._internal_tasks().Get(i);
2368 target =
2369 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2370 2, repfield, repfield.GetCachedSize(),
2371 target, stream);
2372 }
2373 }
2374
2375 // bool is_consumer_producer = 3;
2376 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2377 if (this_._internal_is_consumer_producer() != 0) {
2378 target = stream->EnsureSpace(target);
2379 target = ::_pbi::WireFormatLite::WriteBoolToArray(
2380 3, this_._internal_is_consumer_producer(), target);
2381 }
2382 }
2383
2384 // bool is_resource_investment = 4;
2385 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2386 if (this_._internal_is_resource_investment() != 0) {
2387 target = stream->EnsureSpace(target);
2388 target = ::_pbi::WireFormatLite::WriteBoolToArray(
2389 4, this_._internal_is_resource_investment(), target);
2390 }
2391 }
2392
2393 // bool is_rcpsp_max = 5;
2394 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2395 if (this_._internal_is_rcpsp_max() != 0) {
2396 target = stream->EnsureSpace(target);
2397 target = ::_pbi::WireFormatLite::WriteBoolToArray(
2398 5, this_._internal_is_rcpsp_max(), target);
2399 }
2400 }
2401
2402 // int32 deadline = 6;
2403 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
2404 if (this_._internal_deadline() != 0) {
2405 target =
2406 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
2407 stream, this_._internal_deadline(), target);
2408 }
2409 }
2410
2411 // int32 horizon = 7;
2412 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
2413 if (this_._internal_horizon() != 0) {
2414 target =
2415 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
2416 stream, this_._internal_horizon(), target);
2417 }
2418 }
2419
2420 // int32 release_date = 8;
2421 if (CheckHasBit(cached_has_bits, 0x00000200U)) {
2422 if (this_._internal_release_date() != 0) {
2423 target =
2424 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<8>(
2425 stream, this_._internal_release_date(), target);
2426 }
2427 }
2428
2429 // int32 tardiness_cost = 9;
2430 if (CheckHasBit(cached_has_bits, 0x00000400U)) {
2431 if (this_._internal_tardiness_cost() != 0) {
2432 target =
2433 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
2434 stream, this_._internal_tardiness_cost(), target);
2435 }
2436 }
2437
2438 // int32 mpm_time = 10;
2439 if (CheckHasBit(cached_has_bits, 0x00000800U)) {
2440 if (this_._internal_mpm_time() != 0) {
2441 target =
2442 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<10>(
2443 stream, this_._internal_mpm_time(), target);
2444 }
2445 }
2446
2447 // int64 seed = 11;
2448 if (CheckHasBit(cached_has_bits, 0x00001000U)) {
2449 if (this_._internal_seed() != 0) {
2450 target =
2451 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<11>(
2452 stream, this_._internal_seed(), target);
2453 }
2454 }
2455
2456 // string basedata = 12;
2457 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2458 if (!this_._internal_basedata().empty()) {
2459 const ::std::string& _s = this_._internal_basedata();
2460 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
2461 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.scheduling.rcpsp.RcpspProblem.basedata");
2462 target = stream->WriteStringMaybeAliased(12, _s, target);
2463 }
2464 }
2465
2466 // int32 due_date = 13;
2467 if (CheckHasBit(cached_has_bits, 0x00002000U)) {
2468 if (this_._internal_due_date() != 0) {
2469 target =
2470 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<13>(
2471 stream, this_._internal_due_date(), target);
2472 }
2473 }
2474
2475 // string name = 14;
2476 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2477 if (!this_._internal_name().empty()) {
2478 const ::std::string& _s = this_._internal_name();
2479 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
2480 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.scheduling.rcpsp.RcpspProblem.name");
2481 target = stream->WriteStringMaybeAliased(14, _s, target);
2482 }
2483 }
2484
2485 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2486 target =
2487 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2488 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2489 }
2490 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.RcpspProblem)
2491 return target;
2492}
2493
2494#if defined(PROTOBUF_CUSTOM_VTABLE)
2495::size_t RcpspProblem::ByteSizeLong(const MessageLite& base) {
2496 const RcpspProblem& this_ = static_cast<const RcpspProblem&>(base);
2497#else // PROTOBUF_CUSTOM_VTABLE
2498::size_t RcpspProblem::ByteSizeLong() const {
2499 const RcpspProblem& this_ = *this;
2500#endif // PROTOBUF_CUSTOM_VTABLE
2501 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.RcpspProblem)
2502 ::size_t total_size = 0;
2503
2504 ::uint32_t cached_has_bits = 0;
2505 // Prevent compiler warnings about cached_has_bits being unused
2506 (void)cached_has_bits;
2507
2508 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2509 cached_has_bits = this_._impl_._has_bits_[0];
2510 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
2511 // repeated .operations_research.scheduling.rcpsp.Resource resources = 1;
2512 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2513 total_size += 1UL * this_._internal_resources_size();
2514 for (const auto& msg : this_._internal_resources()) {
2515 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
2516 }
2517 }
2518 // repeated .operations_research.scheduling.rcpsp.Task tasks = 2;
2519 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2520 total_size += 1UL * this_._internal_tasks_size();
2521 for (const auto& msg : this_._internal_tasks()) {
2522 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
2523 }
2524 }
2525 // string basedata = 12;
2526 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2527 if (!this_._internal_basedata().empty()) {
2528 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
2529 this_._internal_basedata());
2530 }
2531 }
2532 // string name = 14;
2533 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2534 if (!this_._internal_name().empty()) {
2535 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
2536 this_._internal_name());
2537 }
2538 }
2539 // bool is_consumer_producer = 3;
2540 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2541 if (this_._internal_is_consumer_producer() != 0) {
2542 total_size += 2;
2543 }
2544 }
2545 // bool is_resource_investment = 4;
2546 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2547 if (this_._internal_is_resource_investment() != 0) {
2548 total_size += 2;
2549 }
2550 }
2551 // bool is_rcpsp_max = 5;
2552 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2553 if (this_._internal_is_rcpsp_max() != 0) {
2554 total_size += 2;
2555 }
2556 }
2557 // int32 deadline = 6;
2558 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
2559 if (this_._internal_deadline() != 0) {
2560 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2561 this_._internal_deadline());
2562 }
2563 }
2564 }
2565 if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
2566 // int32 horizon = 7;
2567 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
2568 if (this_._internal_horizon() != 0) {
2569 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2570 this_._internal_horizon());
2571 }
2572 }
2573 // int32 release_date = 8;
2574 if (CheckHasBit(cached_has_bits, 0x00000200U)) {
2575 if (this_._internal_release_date() != 0) {
2576 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2577 this_._internal_release_date());
2578 }
2579 }
2580 // int32 tardiness_cost = 9;
2581 if (CheckHasBit(cached_has_bits, 0x00000400U)) {
2582 if (this_._internal_tardiness_cost() != 0) {
2583 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2584 this_._internal_tardiness_cost());
2585 }
2586 }
2587 // int32 mpm_time = 10;
2588 if (CheckHasBit(cached_has_bits, 0x00000800U)) {
2589 if (this_._internal_mpm_time() != 0) {
2590 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2591 this_._internal_mpm_time());
2592 }
2593 }
2594 // int64 seed = 11;
2595 if (CheckHasBit(cached_has_bits, 0x00001000U)) {
2596 if (this_._internal_seed() != 0) {
2597 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
2598 this_._internal_seed());
2599 }
2600 }
2601 // int32 due_date = 13;
2602 if (CheckHasBit(cached_has_bits, 0x00002000U)) {
2603 if (this_._internal_due_date() != 0) {
2604 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
2605 this_._internal_due_date());
2606 }
2607 }
2608 }
2609 return this_.MaybeComputeUnknownFieldsSize(total_size,
2610 &this_._impl_._cached_size_);
2611}
2612
2613void RcpspProblem::MergeImpl(::google::protobuf::MessageLite& to_msg,
2614 const ::google::protobuf::MessageLite& from_msg) {
2615 auto* const _this =
2616 static_cast<RcpspProblem*>(&to_msg);
2617 auto& from = static_cast<const RcpspProblem&>(from_msg);
2618 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2619 from.CheckHasBitConsistency();
2620 }
2621 ::google::protobuf::Arena* arena = _this->GetArena();
2622 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.RcpspProblem)
2623 ABSL_DCHECK_NE(&from, _this);
2624 ::uint32_t cached_has_bits = 0;
2625 (void)cached_has_bits;
2626
2627 cached_has_bits = from._impl_._has_bits_[0];
2628 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
2629 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2630 _this->_internal_mutable_resources()->InternalMergeFromWithArena(
2631 ::google::protobuf::MessageLite::internal_visibility(), arena,
2632 from._internal_resources());
2633 }
2634 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2635 _this->_internal_mutable_tasks()->InternalMergeFromWithArena(
2636 ::google::protobuf::MessageLite::internal_visibility(), arena,
2637 from._internal_tasks());
2638 }
2639 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2640 if (!from._internal_basedata().empty()) {
2641 _this->_internal_set_basedata(from._internal_basedata());
2642 } else {
2643 if (_this->_impl_.basedata_.IsDefault()) {
2644 _this->_internal_set_basedata("");
2645 }
2646 }
2647 }
2648 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
2649 if (!from._internal_name().empty()) {
2650 _this->_internal_set_name(from._internal_name());
2651 } else {
2652 if (_this->_impl_.name_.IsDefault()) {
2653 _this->_internal_set_name("");
2654 }
2655 }
2656 }
2657 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
2658 if (from._internal_is_consumer_producer() != 0) {
2659 _this->_impl_.is_consumer_producer_ = from._impl_.is_consumer_producer_;
2660 }
2661 }
2662 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
2663 if (from._internal_is_resource_investment() != 0) {
2664 _this->_impl_.is_resource_investment_ = from._impl_.is_resource_investment_;
2665 }
2666 }
2667 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
2668 if (from._internal_is_rcpsp_max() != 0) {
2669 _this->_impl_.is_rcpsp_max_ = from._impl_.is_rcpsp_max_;
2670 }
2671 }
2672 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
2673 if (from._internal_deadline() != 0) {
2674 _this->_impl_.deadline_ = from._impl_.deadline_;
2675 }
2676 }
2677 }
2678 if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
2679 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
2680 if (from._internal_horizon() != 0) {
2681 _this->_impl_.horizon_ = from._impl_.horizon_;
2682 }
2683 }
2684 if (CheckHasBit(cached_has_bits, 0x00000200U)) {
2685 if (from._internal_release_date() != 0) {
2686 _this->_impl_.release_date_ = from._impl_.release_date_;
2687 }
2688 }
2689 if (CheckHasBit(cached_has_bits, 0x00000400U)) {
2690 if (from._internal_tardiness_cost() != 0) {
2691 _this->_impl_.tardiness_cost_ = from._impl_.tardiness_cost_;
2692 }
2693 }
2694 if (CheckHasBit(cached_has_bits, 0x00000800U)) {
2695 if (from._internal_mpm_time() != 0) {
2696 _this->_impl_.mpm_time_ = from._impl_.mpm_time_;
2697 }
2698 }
2699 if (CheckHasBit(cached_has_bits, 0x00001000U)) {
2700 if (from._internal_seed() != 0) {
2701 _this->_impl_.seed_ = from._impl_.seed_;
2702 }
2703 }
2704 if (CheckHasBit(cached_has_bits, 0x00002000U)) {
2705 if (from._internal_due_date() != 0) {
2706 _this->_impl_.due_date_ = from._impl_.due_date_;
2707 }
2708 }
2709 }
2710 _this->_impl_._has_bits_[0] |= cached_has_bits;
2711 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2712 from._internal_metadata_);
2713}
2714
2715void RcpspProblem::CopyFrom(const RcpspProblem& from) {
2716 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.RcpspProblem)
2717 if (&from == this) return;
2718 Clear();
2719 MergeFrom(from);
2720}
2722
2723void RcpspProblem::InternalSwap(RcpspProblem* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2724 using ::std::swap;
2725 auto* arena = GetArena();
2726 ABSL_DCHECK_EQ(arena, other->GetArena());
2727 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2728 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2729 _impl_.resources_.InternalSwap(&other->_impl_.resources_);
2730 _impl_.tasks_.InternalSwap(&other->_impl_.tasks_);
2731 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.basedata_, &other->_impl_.basedata_, arena);
2732 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
2733 ::google::protobuf::internal::memswap<
2734 PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.due_date_)
2735 + sizeof(RcpspProblem::_impl_.due_date_)
2736 - PROTOBUF_FIELD_OFFSET(RcpspProblem, _impl_.is_consumer_producer_)>(
2737 reinterpret_cast<char*>(&_impl_.is_consumer_producer_),
2738 reinterpret_cast<char*>(&other->_impl_.is_consumer_producer_));
2739}
2740
2741::google::protobuf::Metadata RcpspProblem::GetMetadata() const {
2742 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2743}
2744// ===================================================================
2745
2746class RcpspAssignment::_Internal {
2747 public:
2748 using HasBits =
2749 decltype(::std::declval<RcpspAssignment>()._impl_._has_bits_);
2750 static constexpr ::int32_t kHasBitsOffset =
2751 8 * PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_._has_bits_);
2752};
2754RcpspAssignment::RcpspAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2755#if defined(PROTOBUF_CUSTOM_VTABLE)
2756 : ::google::protobuf::Message(arena, RcpspAssignment_class_data_.base()) {
2757#else // PROTOBUF_CUSTOM_VTABLE
2758 : ::google::protobuf::Message(arena) {
2759#endif // PROTOBUF_CUSTOM_VTABLE
2760 SharedCtor(arena);
2761 // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.RcpspAssignment)
2762}
2763PROTOBUF_NDEBUG_INLINE RcpspAssignment::Impl_::Impl_(
2764 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2765 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2766 [[maybe_unused]] const ::operations_research::scheduling::rcpsp::RcpspAssignment& from_msg)
2767 : _has_bits_{from._has_bits_},
2768 _cached_size_{0},
2769 start_of_task_{visibility, arena, from.start_of_task_},
2770 _start_of_task_cached_byte_size_{0},
2771 selected_recipe_of_task_{visibility, arena, from.selected_recipe_of_task_},
2772 _selected_recipe_of_task_cached_byte_size_{0} {}
2773
2775 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2776 const RcpspAssignment& from)
2777#if defined(PROTOBUF_CUSTOM_VTABLE)
2778 : ::google::protobuf::Message(arena, RcpspAssignment_class_data_.base()) {
2779#else // PROTOBUF_CUSTOM_VTABLE
2780 : ::google::protobuf::Message(arena) {
2781#endif // PROTOBUF_CUSTOM_VTABLE
2782 RcpspAssignment* const _this = this;
2783 (void)_this;
2784 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2785 from._internal_metadata_);
2786 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2787
2788 // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.RcpspAssignment)
2789}
2790PROTOBUF_NDEBUG_INLINE RcpspAssignment::Impl_::Impl_(
2791 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2792 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2793 : _cached_size_{0},
2794 start_of_task_{visibility, arena},
2795 _start_of_task_cached_byte_size_{0},
2796 selected_recipe_of_task_{visibility, arena},
2797 _selected_recipe_of_task_cached_byte_size_{0} {}
2798
2799inline void RcpspAssignment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2800 new (&_impl_) Impl_(internal_visibility(), arena);
2801}
2803 // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.RcpspAssignment)
2804 SharedDtor(*this);
2805}
2806inline void RcpspAssignment::SharedDtor(MessageLite& self) {
2807 RcpspAssignment& this_ = static_cast<RcpspAssignment&>(self);
2808 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2809 this_.CheckHasBitConsistency();
2810 }
2811 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2812 ABSL_DCHECK(this_.GetArena() == nullptr);
2813 this_._impl_.~Impl_();
2814}
2815
2816inline void* PROTOBUF_NONNULL RcpspAssignment::PlacementNew_(
2817 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2818 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2819 return ::new (mem) RcpspAssignment(arena);
2820}
2821constexpr auto RcpspAssignment::InternalNewImpl_() {
2822 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2823 PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_.start_of_task_) +
2824 decltype(RcpspAssignment::_impl_.start_of_task_)::
2825 InternalGetArenaOffset(
2826 ::google::protobuf::Message::internal_visibility()),
2827 PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_.selected_recipe_of_task_) +
2828 decltype(RcpspAssignment::_impl_.selected_recipe_of_task_)::
2829 InternalGetArenaOffset(
2830 ::google::protobuf::Message::internal_visibility()),
2831 });
2832 if (arena_bits.has_value()) {
2833 return ::google::protobuf::internal::MessageCreator::ZeroInit(
2834 sizeof(RcpspAssignment), alignof(RcpspAssignment), *arena_bits);
2835 } else {
2836 return ::google::protobuf::internal::MessageCreator(&RcpspAssignment::PlacementNew_,
2837 sizeof(RcpspAssignment),
2838 alignof(RcpspAssignment));
2839 }
2840}
2842 return ::google::protobuf::internal::ClassDataFull{
2843 ::google::protobuf::internal::ClassData{
2845 &_table_.header,
2846 nullptr, // OnDemandRegisterArenaDtor
2847 nullptr, // IsInitialized
2848 &RcpspAssignment::MergeImpl,
2849 ::google::protobuf::Message::GetNewImpl<RcpspAssignment>(),
2850#if defined(PROTOBUF_CUSTOM_VTABLE)
2851 &RcpspAssignment::SharedDtor,
2852 ::google::protobuf::Message::GetClearImpl<RcpspAssignment>(), &RcpspAssignment::ByteSizeLong,
2854#endif // PROTOBUF_CUSTOM_VTABLE
2855 PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_._cached_size_),
2856 false,
2857 },
2858 &RcpspAssignment::kDescriptorMethods,
2860 nullptr, // tracker
2861 };
2862}
2863
2864PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2865 ::google::protobuf::internal::ClassDataFull RcpspAssignment_class_data_ =
2867
2868PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2869RcpspAssignment::GetClassData() const {
2870 ::google::protobuf::internal::PrefetchToLocalCache(&RcpspAssignment_class_data_);
2871 ::google::protobuf::internal::PrefetchToLocalCache(RcpspAssignment_class_data_.tc_table);
2873}
2874PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2875const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
2876RcpspAssignment::_table_ = {
2877 {
2878 PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_._has_bits_),
2879 0, // no _extensions_
2880 2, 8, // max_field_number, fast_idx_mask
2881 offsetof(decltype(_table_), field_lookup_table),
2882 4294967292, // skipmap
2883 offsetof(decltype(_table_), field_entries),
2884 2, // num_field_entries
2885 0, // num_aux_entries
2886 offsetof(decltype(_table_), field_names), // no aux_entries
2888 nullptr, // post_loop_handler
2889 ::_pbi::TcParser::GenericFallback, // fallback
2890 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2891 ::_pbi::TcParser::GetTable<::operations_research::scheduling::rcpsp::RcpspAssignment>(), // to_prefetch
2892 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2893 }, {{
2894 // repeated int32 selected_recipe_of_task = 2;
2895 {::_pbi::TcParser::FastV32P1,
2896 {18, 1, 0,
2897 PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_.selected_recipe_of_task_)}},
2898 // repeated int64 start_of_task = 1;
2899 {::_pbi::TcParser::FastV64P1,
2900 {10, 0, 0,
2901 PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_.start_of_task_)}},
2902 }}, {{
2903 65535, 65535
2904 }}, {{
2905 // repeated int64 start_of_task = 1;
2906 {PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_.start_of_task_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
2907 // repeated int32 selected_recipe_of_task = 2;
2908 {PROTOBUF_FIELD_OFFSET(RcpspAssignment, _impl_.selected_recipe_of_task_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2909 }},
2910 // no aux_entries
2911 {{
2912 }},
2913};
2914PROTOBUF_NOINLINE void RcpspAssignment::Clear() {
2915// @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.RcpspAssignment)
2916 ::google::protobuf::internal::TSanWrite(&_impl_);
2917 ::uint32_t cached_has_bits = 0;
2918 // Prevent compiler warnings about cached_has_bits being unused
2919 (void) cached_has_bits;
2920
2921 cached_has_bits = _impl_._has_bits_[0];
2922 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2923 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2924 _impl_.start_of_task_.Clear();
2925 }
2926 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2927 _impl_.selected_recipe_of_task_.Clear();
2928 }
2929 }
2930 _impl_._has_bits_.Clear();
2931 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2932}
2933
2934#if defined(PROTOBUF_CUSTOM_VTABLE)
2935::uint8_t* PROTOBUF_NONNULL RcpspAssignment::_InternalSerialize(
2936 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2937 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2938 const RcpspAssignment& this_ = static_cast<const RcpspAssignment&>(base);
2939#else // PROTOBUF_CUSTOM_VTABLE
2940::uint8_t* PROTOBUF_NONNULL RcpspAssignment::_InternalSerialize(
2941 ::uint8_t* PROTOBUF_NONNULL target,
2942 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2943 const RcpspAssignment& this_ = *this;
2944#endif // PROTOBUF_CUSTOM_VTABLE
2945 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2946 this_.CheckHasBitConsistency();
2948 // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.RcpspAssignment)
2949 ::uint32_t cached_has_bits = 0;
2950 (void)cached_has_bits;
2951
2952 cached_has_bits = this_._impl_._has_bits_[0];
2953 // repeated int64 start_of_task = 1;
2954 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2955 {
2956 int byte_size = this_._impl_._start_of_task_cached_byte_size_.Get();
2957 if (byte_size > 0) {
2958 target = stream->WriteInt64Packed(
2959 1, this_._internal_start_of_task(), byte_size, target);
2960 }
2961 }
2962 }
2963
2964 // repeated int32 selected_recipe_of_task = 2;
2965 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2966 {
2967 int byte_size = this_._impl_._selected_recipe_of_task_cached_byte_size_.Get();
2968 if (byte_size > 0) {
2969 target = stream->WriteInt32Packed(
2970 2, this_._internal_selected_recipe_of_task(), byte_size, target);
2971 }
2972 }
2973 }
2974
2975 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2976 target =
2977 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2978 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2979 }
2980 // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.RcpspAssignment)
2981 return target;
2982}
2983
2984#if defined(PROTOBUF_CUSTOM_VTABLE)
2985::size_t RcpspAssignment::ByteSizeLong(const MessageLite& base) {
2986 const RcpspAssignment& this_ = static_cast<const RcpspAssignment&>(base);
2987#else // PROTOBUF_CUSTOM_VTABLE
2988::size_t RcpspAssignment::ByteSizeLong() const {
2989 const RcpspAssignment& this_ = *this;
2990#endif // PROTOBUF_CUSTOM_VTABLE
2991 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.RcpspAssignment)
2992 ::size_t total_size = 0;
2993
2994 ::uint32_t cached_has_bits = 0;
2995 // Prevent compiler warnings about cached_has_bits being unused
2996 (void)cached_has_bits;
2997
2998 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2999 cached_has_bits = this_._impl_._has_bits_[0];
3000 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3001 // repeated int64 start_of_task = 1;
3002 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3003 total_size +=
3004 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
3005 this_._internal_start_of_task(), 1,
3006 this_._impl_._start_of_task_cached_byte_size_);
3007 }
3008 // repeated int32 selected_recipe_of_task = 2;
3009 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3010 total_size +=
3011 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
3012 this_._internal_selected_recipe_of_task(), 1,
3013 this_._impl_._selected_recipe_of_task_cached_byte_size_);
3014 }
3015 }
3016 return this_.MaybeComputeUnknownFieldsSize(total_size,
3017 &this_._impl_._cached_size_);
3018}
3019
3020void RcpspAssignment::MergeImpl(::google::protobuf::MessageLite& to_msg,
3021 const ::google::protobuf::MessageLite& from_msg) {
3022 auto* const _this =
3023 static_cast<RcpspAssignment*>(&to_msg);
3024 auto& from = static_cast<const RcpspAssignment&>(from_msg);
3025 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3026 from.CheckHasBitConsistency();
3027 }
3028 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.RcpspAssignment)
3029 ABSL_DCHECK_NE(&from, _this);
3030 ::uint32_t cached_has_bits = 0;
3031 (void)cached_has_bits;
3032
3033 cached_has_bits = from._impl_._has_bits_[0];
3034 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
3035 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3036 _this->_internal_mutable_start_of_task()->MergeFrom(from._internal_start_of_task());
3037 }
3038 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3039 _this->_internal_mutable_selected_recipe_of_task()->MergeFrom(from._internal_selected_recipe_of_task());
3040 }
3041 }
3042 _this->_impl_._has_bits_[0] |= cached_has_bits;
3043 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3044 from._internal_metadata_);
3045}
3046
3048 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.RcpspAssignment)
3049 if (&from == this) return;
3050 Clear();
3051 MergeFrom(from);
3052}
3053
3055void RcpspAssignment::InternalSwap(RcpspAssignment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3056 using ::std::swap;
3057 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3058 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3059 _impl_.start_of_task_.InternalSwap(&other->_impl_.start_of_task_);
3060 _impl_.selected_recipe_of_task_.InternalSwap(&other->_impl_.selected_recipe_of_task_);
3061}
3062
3063::google::protobuf::Metadata RcpspAssignment::GetMetadata() const {
3064 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3065}
3066// @@protoc_insertion_point(namespace_scope)
3067} // namespace rcpsp
3068} // namespace scheduling
3069} // namespace operations_research
3070namespace google {
3071namespace protobuf {
3072} // namespace protobuf
3073} // namespace google
3074// @@protoc_insertion_point(global_scope)
3075PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
3076 _static_init2_ [[maybe_unused]] =
3078 ::std::false_type{});
3079#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition rcpsp.pb.cc:1254
void MergeFrom(const PerRecipeDelays &from)
Definition rcpsp.pb.h:865
::google::protobuf::Metadata GetMetadata() const
Definition rcpsp.pb.cc:1374
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition rcpsp.pb.h:819
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
Definition rcpsp.pb.cc:1275
void CopyFrom(const PerSuccessorDelays &from)
Definition rcpsp.pb.cc:1644
void MergeFrom(const PerSuccessorDelays &from)
Definition rcpsp.pb.h:1065
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition rcpsp.pb.cc:1534
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
Definition rcpsp.pb.cc:1555
::google::protobuf::Metadata GetMetadata() const
Definition rcpsp.pb.cc:1659
friend class ::google::protobuf::MessageLite
Definition rcpsp.pb.h:755
friend void swap(RcpspAssignment &a, RcpspAssignment &b)
Definition rcpsp.pb.h:621
::google::protobuf::Metadata GetMetadata() const
Definition rcpsp.pb.cc:3070
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition rcpsp.pb.cc:2921
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
Definition rcpsp.pb.cc:2947
void MergeFrom(const RcpspAssignment &from)
Definition rcpsp.pb.h:644
friend class ::google::protobuf::MessageLite
Definition rcpsp.pb.h:1752
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition rcpsp.pb.cc:2300
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
Definition rcpsp.pb.cc:2342
::google::protobuf::Metadata GetMetadata() const
Definition rcpsp.pb.cc:2747
decltype(::std::declval< Recipe >()._impl_._has_bits_) HasBits
Definition rcpsp.pb.cc:747
friend class ::google::protobuf::MessageLite
Definition rcpsp.pb.h:533
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition rcpsp.pb.h:365
friend void swap(Recipe &a, Recipe &b)
Definition rcpsp.pb.h:388
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition rcpsp.pb.cc:922
static constexpr auto InternalGenerateClassData_()
Definition rcpsp.pb.cc:842
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
Definition rcpsp.pb.cc:949
::google::protobuf::Metadata GetMetadata() const
Definition rcpsp.pb.cc:1094
friend class ::google::protobuf::Arena
Definition rcpsp.pb.h:534
decltype(::std::declval< Resource >()._impl_._has_bits_) HasBits
Definition rcpsp.pb.cc:400
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
Definition rcpsp.pb.h:138
friend class ::google::protobuf::MessageLite
Definition rcpsp.pb.h:301
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition rcpsp.pb.cc:548
friend void swap(Resource &a, Resource &b)
Definition rcpsp.pb.h:161
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
Definition rcpsp.pb.cc:571
static constexpr auto InternalGenerateClassData_()
Definition rcpsp.pb.cc:463
::google::protobuf::Metadata GetMetadata() const
Definition rcpsp.pb.cc:739
friend class ::google::protobuf::MessageLite
Definition rcpsp.pb.h:1391
::google::protobuf::Metadata GetMetadata() const
Definition rcpsp.pb.cc:2030
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
Definition rcpsp.pb.cc:1847
static constexpr auto InternalGenerateClassData_()
Definition rcpsp.pb.cc:1764
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
Definition rcpsp.pb.cc:1876
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Task_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RcpspProblem_class_data_
Definition rcpsp.pb.cc:2170
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PerSuccessorDelaysDefaultTypeInternal _PerSuccessorDelays_default_instance_
Definition rcpsp.pb.cc:165
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TaskDefaultTypeInternal _Task_default_instance_
Definition rcpsp.pb.cc:193
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PerRecipeDelaysDefaultTypeInternal _PerRecipeDelays_default_instance_
Definition rcpsp.pb.cc:140
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PerRecipeDelays_class_data_
Definition rcpsp.pb.cc:1211
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RcpspProblemDefaultTypeInternal _RcpspProblem_default_instance_
Definition rcpsp.pb.cc:235
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RcpspAssignmentDefaultTypeInternal _RcpspAssignment_default_instance_
Definition rcpsp.pb.cc:114
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ResourceDefaultTypeInternal _Resource_default_instance_
Definition rcpsp.pb.cc:57
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Recipe_class_data_
Definition rcpsp.pb.cc:866
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Resource_class_data_
Definition rcpsp.pb.cc:487
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecipeDefaultTypeInternal _Recipe_default_instance_
Definition rcpsp.pb.cc:86
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RcpspAssignment_class_data_
Definition rcpsp.pb.cc:2872
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PerSuccessorDelays_class_data_
Definition rcpsp.pb.cc:1489
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull Task_class_data_
Definition rcpsp.pb.cc:1788
OR-Tools root namespace.
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fscheduling_2frcpsp_2eproto
Definition rcpsp.pb.cc:242
::absl::once_flag descriptor_table_ortools_2fscheduling_2frcpsp_2eproto_once
Definition rcpsp.pb.cc:375
static constexprconst ::_pb::EnumDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_enum_descriptors_ortools_2fscheduling_2frcpsp_2eproto
Definition rcpsp.pb.cc:240
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fscheduling_2frcpsp_2eproto
Definition rcpsp.pb.cc:376
const ::uint32_t TableStruct_ortools_2fscheduling_2frcpsp_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)