OR-Tools  9.2
rcpsp.pb.cc
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/scheduling/rcpsp.proto
3 
5 
6 #include <algorithm>
7 
8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
15 // @@protoc_insertion_point(includes)
16 #include <google/protobuf/port_def.inc>
17 
18 PROTOBUF_PRAGMA_INIT_SEG
19 namespace operations_research {
20 namespace scheduling {
21 namespace rcpsp {
23  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
24  : max_capacity_(0)
25  , min_capacity_(0)
26  , renewable_(false)
27  , unit_cost_(0){}
30  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
32  union {
34  };
35 };
36 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ResourceDefaultTypeInternal _Resource_default_instance_;
37 constexpr Recipe::Recipe(
38  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
39  : demands_()
40  , _demands_cached_byte_size_(0)
41  , resources_()
42  , _resources_cached_byte_size_(0)
43  , duration_(0){}
46  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
48  union {
50  };
51 };
52 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RecipeDefaultTypeInternal _Recipe_default_instance_;
54  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
55  : min_delays_()
56  , _min_delays_cached_byte_size_(0){}
59  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
61  union {
63  };
64 };
65 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PerRecipeDelaysDefaultTypeInternal _PerRecipeDelays_default_instance_;
67  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
68  : recipe_delays_(){}
71  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
73  union {
75  };
76 };
77 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PerSuccessorDelaysDefaultTypeInternal _PerSuccessorDelays_default_instance_;
78 constexpr Task::Task(
79  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
80  : successors_()
81  , _successors_cached_byte_size_(0)
82  , recipes_()
83  , successor_delays_(){}
86  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
88  union {
90  };
91 };
92 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TaskDefaultTypeInternal _Task_default_instance_;
94  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
95  : resources_()
96  , tasks_()
97  , basedata_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
98  , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
99  , is_consumer_producer_(false)
100  , is_resource_investment_(false)
101  , is_rcpsp_max_(false)
102  , deadline_(0)
103  , horizon_(0)
104  , release_date_(0)
105  , tardiness_cost_(0)
106  , mpm_time_(0)
107  , seed_(int64_t{0})
108  , due_date_(0){}
111  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
113  union {
115  };
116 };
117 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RcpspProblemDefaultTypeInternal _RcpspProblem_default_instance_;
118 } // namespace rcpsp
119 } // namespace scheduling
120 } // namespace operations_research
121 static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fscheduling_2frcpsp_2eproto[6];
122 static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_ortools_2fscheduling_2frcpsp_2eproto = nullptr;
123 static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fscheduling_2frcpsp_2eproto = nullptr;
124 
126  ~0u, // no _has_bits_
127  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, _internal_metadata_),
128  ~0u, // no _extensions_
129  ~0u, // no _oneof_case_
130  ~0u, // no _weak_field_map_
131  ~0u, // no _inlined_string_donated_
132  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, max_capacity_),
133  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, min_capacity_),
134  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, renewable_),
135  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Resource, unit_cost_),
136  ~0u, // no _has_bits_
137  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, _internal_metadata_),
138  ~0u, // no _extensions_
139  ~0u, // no _oneof_case_
140  ~0u, // no _weak_field_map_
141  ~0u, // no _inlined_string_donated_
142  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, duration_),
143  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, demands_),
144  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Recipe, resources_),
145  ~0u, // no _has_bits_
146  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerRecipeDelays, _internal_metadata_),
147  ~0u, // no _extensions_
148  ~0u, // no _oneof_case_
149  ~0u, // no _weak_field_map_
150  ~0u, // no _inlined_string_donated_
151  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerRecipeDelays, min_delays_),
152  ~0u, // no _has_bits_
153  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerSuccessorDelays, _internal_metadata_),
154  ~0u, // no _extensions_
155  ~0u, // no _oneof_case_
156  ~0u, // no _weak_field_map_
157  ~0u, // no _inlined_string_donated_
158  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::PerSuccessorDelays, recipe_delays_),
159  ~0u, // no _has_bits_
160  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, _internal_metadata_),
161  ~0u, // no _extensions_
162  ~0u, // no _oneof_case_
163  ~0u, // no _weak_field_map_
164  ~0u, // no _inlined_string_donated_
165  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, successors_),
166  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, recipes_),
167  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::Task, successor_delays_),
168  ~0u, // no _has_bits_
169  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, _internal_metadata_),
170  ~0u, // no _extensions_
171  ~0u, // no _oneof_case_
172  ~0u, // no _weak_field_map_
173  ~0u, // no _inlined_string_donated_
174  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, resources_),
175  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, tasks_),
176  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, is_consumer_producer_),
177  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, is_resource_investment_),
178  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, is_rcpsp_max_),
179  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, deadline_),
180  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, horizon_),
181  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, release_date_),
182  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, tardiness_cost_),
183  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, mpm_time_),
184  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, seed_),
185  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, basedata_),
186  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, due_date_),
187  PROTOBUF_FIELD_OFFSET(::operations_research::scheduling::rcpsp::RcpspProblem, name_),
188 };
189 static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
194  { 33, -1, -1, sizeof(::operations_research::scheduling::rcpsp::Task)},
196 };
197 
198 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
199  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::scheduling::rcpsp::_Resource_default_instance_),
200  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::scheduling::rcpsp::_Recipe_default_instance_),
201  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::scheduling::rcpsp::_PerRecipeDelays_default_instance_),
202  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::scheduling::rcpsp::_PerSuccessorDelays_default_instance_),
203  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::scheduling::rcpsp::_Task_default_instance_),
204  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::scheduling::rcpsp::_RcpspProblem_default_instance_),
205 };
206 
207 const char descriptor_table_protodef_ortools_2fscheduling_2frcpsp_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
208  "\n\036ortools/scheduling/rcpsp.proto\022$operat"
209  "ions_research.scheduling.rcpsp\"\\\n\010Resour"
210  "ce\022\024\n\014max_capacity\030\001 \001(\005\022\024\n\014min_capacity"
211  "\030\002 \001(\005\022\021\n\trenewable\030\003 \001(\010\022\021\n\tunit_cost\030\004"
212  " \001(\005\">\n\006Recipe\022\020\n\010duration\030\001 \001(\005\022\017\n\007dema"
213  "nds\030\002 \003(\005\022\021\n\tresources\030\003 \003(\005\"%\n\017PerRecip"
214  "eDelays\022\022\n\nmin_delays\030\001 \003(\005\"b\n\022PerSucces"
215  "sorDelays\022L\n\rrecipe_delays\030\001 \003(\01325.opera"
216  "tions_research.scheduling.rcpsp.PerRecip"
217  "eDelays\"\255\001\n\004Task\022\022\n\nsuccessors\030\001 \003(\005\022=\n\007"
218  "recipes\030\002 \003(\0132,.operations_research.sche"
219  "duling.rcpsp.Recipe\022R\n\020successor_delays\030"
220  "\003 \003(\01328.operations_research.scheduling.r"
221  "cpsp.PerSuccessorDelays\"\203\003\n\014RcpspProblem"
222  "\022A\n\tresources\030\001 \003(\0132..operations_researc"
223  "h.scheduling.rcpsp.Resource\0229\n\005tasks\030\002 \003"
224  "(\0132*.operations_research.scheduling.rcps"
225  "p.Task\022\034\n\024is_consumer_producer\030\003 \001(\010\022\036\n\026"
226  "is_resource_investment\030\004 \001(\010\022\024\n\014is_rcpsp"
227  "_max\030\005 \001(\010\022\020\n\010deadline\030\006 \001(\005\022\017\n\007horizon\030"
228  "\007 \001(\005\022\024\n\014release_date\030\010 \001(\005\022\026\n\016tardiness"
229  "_cost\030\t \001(\005\022\020\n\010mpm_time\030\n \001(\005\022\014\n\004seed\030\013 "
230  "\001(\003\022\020\n\010basedata\030\014 \001(\t\022\020\n\010due_date\030\r \001(\005\022"
231  "\014\n\004name\030\016 \001(\tBI\n#com.google.ortools.sche"
232  "duling.rcpspP\001\252\002\037Google.OrTools.Scheduli"
233  "ng.Rcpspb\006proto3"
234  ;
235 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fscheduling_2frcpsp_2eproto_once;
236 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fscheduling_2frcpsp_2eproto = {
237  false, false, 1016, descriptor_table_protodef_ortools_2fscheduling_2frcpsp_2eproto, "ortools/scheduling/rcpsp.proto",
241 };
242 PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_ortools_2fscheduling_2frcpsp_2eproto_getter() {
244 }
245 
246 // Force running AddDescriptors() at dynamic initialization time.
247 PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_ortools_2fscheduling_2frcpsp_2eproto(&descriptor_table_ortools_2fscheduling_2frcpsp_2eproto);
248 namespace operations_research {
249 namespace scheduling {
250 namespace rcpsp {
251 
252 // ===================================================================
253 
255  public:
256 };
257 
258 Resource::Resource(::PROTOBUF_NAMESPACE_ID::Arena* arena,
259  bool is_message_owned)
260  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
261  SharedCtor();
262  if (!is_message_owned) {
263  RegisterArenaDtor(arena);
264  }
265  // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.Resource)
266 }
268  : ::PROTOBUF_NAMESPACE_ID::Message() {
269  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
270  ::memcpy(&max_capacity_, &from.max_capacity_,
271  static_cast<size_t>(reinterpret_cast<char*>(&unit_cost_) -
272  reinterpret_cast<char*>(&max_capacity_)) + sizeof(unit_cost_));
273  // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.Resource)
274 }
275 
276 inline void Resource::SharedCtor() {
277 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
278  reinterpret_cast<char*>(&max_capacity_) - reinterpret_cast<char*>(this)),
279  0, static_cast<size_t>(reinterpret_cast<char*>(&unit_cost_) -
280  reinterpret_cast<char*>(&max_capacity_)) + sizeof(unit_cost_));
281 }
282 
284  // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.Resource)
285  if (GetArenaForAllocation() != nullptr) return;
286  SharedDtor();
287  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
288 }
289 
290 inline void Resource::SharedDtor() {
291  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
292 }
293 
294 void Resource::ArenaDtor(void* object) {
295  Resource* _this = reinterpret_cast< Resource* >(object);
296  (void)_this;
297 }
298 void Resource::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
299 }
300 void Resource::SetCachedSize(int size) const {
301  _cached_size_.Set(size);
302 }
303 
305 // @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.Resource)
306  uint32_t cached_has_bits = 0;
307  // Prevent compiler warnings about cached_has_bits being unused
308  (void) cached_has_bits;
309 
310  ::memset(&max_capacity_, 0, static_cast<size_t>(
311  reinterpret_cast<char*>(&unit_cost_) -
312  reinterpret_cast<char*>(&max_capacity_)) + sizeof(unit_cost_));
313  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
314 }
315 
316 const char* Resource::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
317 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
318  while (!ctx->Done(&ptr)) {
319  uint32_t tag;
320  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
321  switch (tag >> 3) {
322  // int32 max_capacity = 1;
323  case 1:
324  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
325  max_capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
326  CHK_(ptr);
327  } else
328  goto handle_unusual;
329  continue;
330  // int32 min_capacity = 2;
331  case 2:
332  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
333  min_capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
334  CHK_(ptr);
335  } else
336  goto handle_unusual;
337  continue;
338  // bool renewable = 3;
339  case 3:
340  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
341  renewable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
342  CHK_(ptr);
343  } else
344  goto handle_unusual;
345  continue;
346  // int32 unit_cost = 4;
347  case 4:
348  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
349  unit_cost_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
350  CHK_(ptr);
351  } else
352  goto handle_unusual;
353  continue;
354  default:
355  goto handle_unusual;
356  } // switch
357  handle_unusual:
358  if ((tag == 0) || ((tag & 7) == 4)) {
359  CHK_(ptr);
360  ctx->SetLastTag(tag);
361  goto message_done;
362  }
363  ptr = UnknownFieldParse(
364  tag,
365  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
366  ptr, ctx);
367  CHK_(ptr != nullptr);
368  } // while
369 message_done:
370  return ptr;
371 failure:
372  ptr = nullptr;
373  goto message_done;
374 #undef CHK_
375 }
376 
378  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
379  // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.Resource)
380  uint32_t cached_has_bits = 0;
381  (void) cached_has_bits;
382 
383  // int32 max_capacity = 1;
384  if (this->_internal_max_capacity() != 0) {
385  target = stream->EnsureSpace(target);
386  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_max_capacity(), target);
387  }
388 
389  // int32 min_capacity = 2;
390  if (this->_internal_min_capacity() != 0) {
391  target = stream->EnsureSpace(target);
392  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_min_capacity(), target);
393  }
394 
395  // bool renewable = 3;
396  if (this->_internal_renewable() != 0) {
397  target = stream->EnsureSpace(target);
398  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_renewable(), target);
399  }
400 
401  // int32 unit_cost = 4;
402  if (this->_internal_unit_cost() != 0) {
403  target = stream->EnsureSpace(target);
404  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_unit_cost(), target);
405  }
406 
407  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
408  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
409  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
410  }
411  // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.Resource)
412  return target;
413 }
414 
415 size_t Resource::ByteSizeLong() const {
416 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.Resource)
417  size_t total_size = 0;
418 
419  uint32_t cached_has_bits = 0;
420  // Prevent compiler warnings about cached_has_bits being unused
421  (void) cached_has_bits;
422 
423  // int32 max_capacity = 1;
424  if (this->_internal_max_capacity() != 0) {
425  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_max_capacity());
426  }
427 
428  // int32 min_capacity = 2;
429  if (this->_internal_min_capacity() != 0) {
430  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_min_capacity());
431  }
432 
433  // bool renewable = 3;
434  if (this->_internal_renewable() != 0) {
435  total_size += 1 + 1;
436  }
437 
438  // int32 unit_cost = 4;
439  if (this->_internal_unit_cost() != 0) {
440  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_unit_cost());
441  }
442 
443  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
444 }
445 
446 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Resource::_class_data_ = {
447  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
448  Resource::MergeImpl
449 };
450 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Resource::GetClassData() const { return &_class_data_; }
451 
452 void Resource::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
453  const ::PROTOBUF_NAMESPACE_ID::Message& from) {
454  static_cast<Resource *>(to)->MergeFrom(
455  static_cast<const Resource &>(from));
456 }
457 
458 
459 void Resource::MergeFrom(const Resource& from) {
460 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.Resource)
461  GOOGLE_DCHECK_NE(&from, this);
462  uint32_t cached_has_bits = 0;
463  (void) cached_has_bits;
464 
465  if (from._internal_max_capacity() != 0) {
466  _internal_set_max_capacity(from._internal_max_capacity());
467  }
468  if (from._internal_min_capacity() != 0) {
469  _internal_set_min_capacity(from._internal_min_capacity());
470  }
471  if (from._internal_renewable() != 0) {
472  _internal_set_renewable(from._internal_renewable());
473  }
474  if (from._internal_unit_cost() != 0) {
475  _internal_set_unit_cost(from._internal_unit_cost());
476  }
477  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
478 }
479 
480 void Resource::CopyFrom(const Resource& from) {
481 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.Resource)
482  if (&from == this) return;
483  Clear();
484  MergeFrom(from);
485 }
486 
488  return true;
489 }
490 
491 void Resource::InternalSwap(Resource* other) {
492  using std::swap;
493  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
494  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
495  PROTOBUF_FIELD_OFFSET(Resource, unit_cost_)
496  + sizeof(Resource::unit_cost_)
497  - PROTOBUF_FIELD_OFFSET(Resource, max_capacity_)>(
498  reinterpret_cast<char*>(&max_capacity_),
499  reinterpret_cast<char*>(&other->max_capacity_));
500 }
501 
502 ::PROTOBUF_NAMESPACE_ID::Metadata Resource::GetMetadata() const {
503  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
506 }
507 
508 // ===================================================================
509 
511  public:
512 };
513 
514 Recipe::Recipe(::PROTOBUF_NAMESPACE_ID::Arena* arena,
515  bool is_message_owned)
516  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
517  demands_(arena),
518  resources_(arena) {
519  SharedCtor();
520  if (!is_message_owned) {
521  RegisterArenaDtor(arena);
522  }
523  // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.Recipe)
524 }
525 Recipe::Recipe(const Recipe& from)
526  : ::PROTOBUF_NAMESPACE_ID::Message(),
527  demands_(from.demands_),
528  resources_(from.resources_) {
529  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
530  duration_ = from.duration_;
531  // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.Recipe)
532 }
533 
534 inline void Recipe::SharedCtor() {
535 duration_ = 0;
536 }
537 
539  // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.Recipe)
540  if (GetArenaForAllocation() != nullptr) return;
541  SharedDtor();
542  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
543 }
544 
545 inline void Recipe::SharedDtor() {
546  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
547 }
548 
549 void Recipe::ArenaDtor(void* object) {
550  Recipe* _this = reinterpret_cast< Recipe* >(object);
551  (void)_this;
552 }
553 void Recipe::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
554 }
555 void Recipe::SetCachedSize(int size) const {
556  _cached_size_.Set(size);
557 }
558 
560 // @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.Recipe)
561  uint32_t cached_has_bits = 0;
562  // Prevent compiler warnings about cached_has_bits being unused
563  (void) cached_has_bits;
564 
565  demands_.Clear();
566  resources_.Clear();
567  duration_ = 0;
568  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
569 }
570 
571 const char* Recipe::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
572 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
573  while (!ctx->Done(&ptr)) {
574  uint32_t tag;
575  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
576  switch (tag >> 3) {
577  // int32 duration = 1;
578  case 1:
579  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
580  duration_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
581  CHK_(ptr);
582  } else
583  goto handle_unusual;
584  continue;
585  // repeated int32 demands = 2;
586  case 2:
587  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
588  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_demands(), ptr, ctx);
589  CHK_(ptr);
590  } else if (static_cast<uint8_t>(tag) == 16) {
591  _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
592  CHK_(ptr);
593  } else
594  goto handle_unusual;
595  continue;
596  // repeated int32 resources = 3;
597  case 3:
598  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
599  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_resources(), ptr, ctx);
600  CHK_(ptr);
601  } else if (static_cast<uint8_t>(tag) == 24) {
602  _internal_add_resources(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
603  CHK_(ptr);
604  } else
605  goto handle_unusual;
606  continue;
607  default:
608  goto handle_unusual;
609  } // switch
610  handle_unusual:
611  if ((tag == 0) || ((tag & 7) == 4)) {
612  CHK_(ptr);
613  ctx->SetLastTag(tag);
614  goto message_done;
615  }
616  ptr = UnknownFieldParse(
617  tag,
618  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
619  ptr, ctx);
620  CHK_(ptr != nullptr);
621  } // while
622 message_done:
623  return ptr;
624 failure:
625  ptr = nullptr;
626  goto message_done;
627 #undef CHK_
628 }
629 
631  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
632  // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.Recipe)
633  uint32_t cached_has_bits = 0;
634  (void) cached_has_bits;
635 
636  // int32 duration = 1;
637  if (this->_internal_duration() != 0) {
638  target = stream->EnsureSpace(target);
639  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_duration(), target);
640  }
641 
642  // repeated int32 demands = 2;
643  {
644  int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
645  if (byte_size > 0) {
646  target = stream->WriteInt32Packed(
647  2, _internal_demands(), byte_size, target);
648  }
649  }
650 
651  // repeated int32 resources = 3;
652  {
653  int byte_size = _resources_cached_byte_size_.load(std::memory_order_relaxed);
654  if (byte_size > 0) {
655  target = stream->WriteInt32Packed(
656  3, _internal_resources(), byte_size, target);
657  }
658  }
659 
660  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
661  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
662  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
663  }
664  // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.Recipe)
665  return target;
666 }
667 
668 size_t Recipe::ByteSizeLong() const {
669 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.Recipe)
670  size_t total_size = 0;
671 
672  uint32_t cached_has_bits = 0;
673  // Prevent compiler warnings about cached_has_bits being unused
674  (void) cached_has_bits;
675 
676  // repeated int32 demands = 2;
677  {
678  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
679  Int32Size(this->demands_);
680  if (data_size > 0) {
681  total_size += 1 +
682  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
683  static_cast<int32_t>(data_size));
684  }
685  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
686  _demands_cached_byte_size_.store(cached_size,
687  std::memory_order_relaxed);
688  total_size += data_size;
689  }
690 
691  // repeated int32 resources = 3;
692  {
693  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
694  Int32Size(this->resources_);
695  if (data_size > 0) {
696  total_size += 1 +
697  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
698  static_cast<int32_t>(data_size));
699  }
700  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
701  _resources_cached_byte_size_.store(cached_size,
702  std::memory_order_relaxed);
703  total_size += data_size;
704  }
705 
706  // int32 duration = 1;
707  if (this->_internal_duration() != 0) {
708  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_duration());
709  }
710 
711  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
712 }
713 
714 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Recipe::_class_data_ = {
715  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
716  Recipe::MergeImpl
717 };
718 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Recipe::GetClassData() const { return &_class_data_; }
719 
720 void Recipe::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
721  const ::PROTOBUF_NAMESPACE_ID::Message& from) {
722  static_cast<Recipe *>(to)->MergeFrom(
723  static_cast<const Recipe &>(from));
724 }
725 
726 
727 void Recipe::MergeFrom(const Recipe& from) {
728 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.Recipe)
729  GOOGLE_DCHECK_NE(&from, this);
730  uint32_t cached_has_bits = 0;
731  (void) cached_has_bits;
732 
733  demands_.MergeFrom(from.demands_);
734  resources_.MergeFrom(from.resources_);
735  if (from._internal_duration() != 0) {
736  _internal_set_duration(from._internal_duration());
737  }
738  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
739 }
740 
741 void Recipe::CopyFrom(const Recipe& from) {
742 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.Recipe)
743  if (&from == this) return;
744  Clear();
745  MergeFrom(from);
746 }
747 
748 bool Recipe::IsInitialized() const {
749  return true;
750 }
751 
752 void Recipe::InternalSwap(Recipe* other) {
753  using std::swap;
754  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
755  demands_.InternalSwap(&other->demands_);
756  resources_.InternalSwap(&other->resources_);
757  swap(duration_, other->duration_);
758 }
759 
760 ::PROTOBUF_NAMESPACE_ID::Metadata Recipe::GetMetadata() const {
761  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
764 }
765 
766 // ===================================================================
767 
769  public:
770 };
771 
772 PerRecipeDelays::PerRecipeDelays(::PROTOBUF_NAMESPACE_ID::Arena* arena,
773  bool is_message_owned)
774  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
775  min_delays_(arena) {
776  SharedCtor();
777  if (!is_message_owned) {
778  RegisterArenaDtor(arena);
779  }
780  // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.PerRecipeDelays)
781 }
783  : ::PROTOBUF_NAMESPACE_ID::Message(),
784  min_delays_(from.min_delays_) {
785  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
786  // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.PerRecipeDelays)
787 }
788 
789 inline void PerRecipeDelays::SharedCtor() {
790 }
791 
793  // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.PerRecipeDelays)
794  if (GetArenaForAllocation() != nullptr) return;
795  SharedDtor();
796  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
797 }
798 
799 inline void PerRecipeDelays::SharedDtor() {
800  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
801 }
802 
803 void PerRecipeDelays::ArenaDtor(void* object) {
804  PerRecipeDelays* _this = reinterpret_cast< PerRecipeDelays* >(object);
805  (void)_this;
806 }
807 void PerRecipeDelays::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
808 }
809 void PerRecipeDelays::SetCachedSize(int size) const {
810  _cached_size_.Set(size);
811 }
812 
814 // @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
815  uint32_t cached_has_bits = 0;
816  // Prevent compiler warnings about cached_has_bits being unused
817  (void) cached_has_bits;
818 
819  min_delays_.Clear();
820  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
821 }
822 
823 const char* PerRecipeDelays::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
824 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
825  while (!ctx->Done(&ptr)) {
826  uint32_t tag;
827  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
828  switch (tag >> 3) {
829  // repeated int32 min_delays = 1;
830  case 1:
831  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
832  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_min_delays(), ptr, ctx);
833  CHK_(ptr);
834  } else if (static_cast<uint8_t>(tag) == 8) {
835  _internal_add_min_delays(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
836  CHK_(ptr);
837  } else
838  goto handle_unusual;
839  continue;
840  default:
841  goto handle_unusual;
842  } // switch
843  handle_unusual:
844  if ((tag == 0) || ((tag & 7) == 4)) {
845  CHK_(ptr);
846  ctx->SetLastTag(tag);
847  goto message_done;
848  }
849  ptr = UnknownFieldParse(
850  tag,
851  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
852  ptr, ctx);
853  CHK_(ptr != nullptr);
854  } // while
855 message_done:
856  return ptr;
857 failure:
858  ptr = nullptr;
859  goto message_done;
860 #undef CHK_
861 }
862 
864  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
865  // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
866  uint32_t cached_has_bits = 0;
867  (void) cached_has_bits;
868 
869  // repeated int32 min_delays = 1;
870  {
871  int byte_size = _min_delays_cached_byte_size_.load(std::memory_order_relaxed);
872  if (byte_size > 0) {
873  target = stream->WriteInt32Packed(
874  1, _internal_min_delays(), byte_size, target);
875  }
876  }
877 
878  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
879  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
880  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
881  }
882  // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.PerRecipeDelays)
883  return target;
884 }
885 
887 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
888  size_t total_size = 0;
889 
890  uint32_t cached_has_bits = 0;
891  // Prevent compiler warnings about cached_has_bits being unused
892  (void) cached_has_bits;
893 
894  // repeated int32 min_delays = 1;
895  {
896  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
897  Int32Size(this->min_delays_);
898  if (data_size > 0) {
899  total_size += 1 +
900  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
901  static_cast<int32_t>(data_size));
902  }
903  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
904  _min_delays_cached_byte_size_.store(cached_size,
905  std::memory_order_relaxed);
906  total_size += data_size;
907  }
908 
909  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
910 }
911 
912 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PerRecipeDelays::_class_data_ = {
913  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
914  PerRecipeDelays::MergeImpl
915 };
916 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PerRecipeDelays::GetClassData() const { return &_class_data_; }
917 
918 void PerRecipeDelays::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
919  const ::PROTOBUF_NAMESPACE_ID::Message& from) {
920  static_cast<PerRecipeDelays *>(to)->MergeFrom(
921  static_cast<const PerRecipeDelays &>(from));
922 }
923 
924 
926 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
927  GOOGLE_DCHECK_NE(&from, this);
928  uint32_t cached_has_bits = 0;
929  (void) cached_has_bits;
930 
931  min_delays_.MergeFrom(from.min_delays_);
932  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
933 }
934 
936 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.PerRecipeDelays)
937  if (&from == this) return;
938  Clear();
939  MergeFrom(from);
940 }
941 
943  return true;
944 }
945 
946 void PerRecipeDelays::InternalSwap(PerRecipeDelays* other) {
947  using std::swap;
948  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
949  min_delays_.InternalSwap(&other->min_delays_);
950 }
951 
952 ::PROTOBUF_NAMESPACE_ID::Metadata PerRecipeDelays::GetMetadata() const {
953  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
956 }
957 
958 // ===================================================================
959 
961  public:
962 };
963 
964 PerSuccessorDelays::PerSuccessorDelays(::PROTOBUF_NAMESPACE_ID::Arena* arena,
965  bool is_message_owned)
966  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
967  recipe_delays_(arena) {
968  SharedCtor();
969  if (!is_message_owned) {
970  RegisterArenaDtor(arena);
971  }
972  // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.PerSuccessorDelays)
973 }
975  : ::PROTOBUF_NAMESPACE_ID::Message(),
976  recipe_delays_(from.recipe_delays_) {
977  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
978  // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.PerSuccessorDelays)
979 }
980 
981 inline void PerSuccessorDelays::SharedCtor() {
982 }
983 
985  // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.PerSuccessorDelays)
986  if (GetArenaForAllocation() != nullptr) return;
987  SharedDtor();
988  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
989 }
990 
991 inline void PerSuccessorDelays::SharedDtor() {
992  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
993 }
994 
995 void PerSuccessorDelays::ArenaDtor(void* object) {
996  PerSuccessorDelays* _this = reinterpret_cast< PerSuccessorDelays* >(object);
997  (void)_this;
998 }
999 void PerSuccessorDelays::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1000 }
1001 void PerSuccessorDelays::SetCachedSize(int size) const {
1002  _cached_size_.Set(size);
1003 }
1004 
1006 // @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1007  uint32_t cached_has_bits = 0;
1008  // Prevent compiler warnings about cached_has_bits being unused
1009  (void) cached_has_bits;
1010 
1011  recipe_delays_.Clear();
1012  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1013 }
1014 
1015 const char* PerSuccessorDelays::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1016 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1017  while (!ctx->Done(&ptr)) {
1018  uint32_t tag;
1019  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1020  switch (tag >> 3) {
1021  // repeated .operations_research.scheduling.rcpsp.PerRecipeDelays recipe_delays = 1;
1022  case 1:
1023  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1024  ptr -= 1;
1025  do {
1026  ptr += 1;
1027  ptr = ctx->ParseMessage(_internal_add_recipe_delays(), ptr);
1028  CHK_(ptr);
1029  if (!ctx->DataAvailable(ptr)) break;
1030  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
1031  } else
1032  goto handle_unusual;
1033  continue;
1034  default:
1035  goto handle_unusual;
1036  } // switch
1037  handle_unusual:
1038  if ((tag == 0) || ((tag & 7) == 4)) {
1039  CHK_(ptr);
1040  ctx->SetLastTag(tag);
1041  goto message_done;
1042  }
1043  ptr = UnknownFieldParse(
1044  tag,
1045  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1046  ptr, ctx);
1047  CHK_(ptr != nullptr);
1048  } // while
1049 message_done:
1050  return ptr;
1051 failure:
1052  ptr = nullptr;
1053  goto message_done;
1054 #undef CHK_
1055 }
1056 
1058  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1059  // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1060  uint32_t cached_has_bits = 0;
1061  (void) cached_has_bits;
1062 
1063  // repeated .operations_research.scheduling.rcpsp.PerRecipeDelays recipe_delays = 1;
1064  for (unsigned int i = 0,
1065  n = static_cast<unsigned int>(this->_internal_recipe_delays_size()); i < n; i++) {
1066  target = stream->EnsureSpace(target);
1067  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1068  InternalWriteMessage(1, this->_internal_recipe_delays(i), target, stream);
1069  }
1070 
1071  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1072  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1073  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1074  }
1075  // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1076  return target;
1077 }
1078 
1080 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1081  size_t total_size = 0;
1082 
1083  uint32_t cached_has_bits = 0;
1084  // Prevent compiler warnings about cached_has_bits being unused
1085  (void) cached_has_bits;
1086 
1087  // repeated .operations_research.scheduling.rcpsp.PerRecipeDelays recipe_delays = 1;
1088  total_size += 1UL * this->_internal_recipe_delays_size();
1089  for (const auto& msg : this->recipe_delays_) {
1090  total_size +=
1091  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1092  }
1093 
1094  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1095 }
1096 
1097 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PerSuccessorDelays::_class_data_ = {
1098  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1099  PerSuccessorDelays::MergeImpl
1100 };
1101 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PerSuccessorDelays::GetClassData() const { return &_class_data_; }
1102 
1103 void PerSuccessorDelays::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1104  const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1105  static_cast<PerSuccessorDelays *>(to)->MergeFrom(
1106  static_cast<const PerSuccessorDelays &>(from));
1107 }
1108 
1109 
1111 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1112  GOOGLE_DCHECK_NE(&from, this);
1113  uint32_t cached_has_bits = 0;
1114  (void) cached_has_bits;
1115 
1116  recipe_delays_.MergeFrom(from.recipe_delays_);
1117  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1118 }
1119 
1121 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.PerSuccessorDelays)
1122  if (&from == this) return;
1123  Clear();
1124  MergeFrom(from);
1125 }
1126 
1128  return true;
1129 }
1130 
1131 void PerSuccessorDelays::InternalSwap(PerSuccessorDelays* other) {
1132  using std::swap;
1133  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1134  recipe_delays_.InternalSwap(&other->recipe_delays_);
1135 }
1136 
1137 ::PROTOBUF_NAMESPACE_ID::Metadata PerSuccessorDelays::GetMetadata() const {
1138  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1141 }
1142 
1143 // ===================================================================
1144 
1146  public:
1147 };
1148 
1149 Task::Task(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1150  bool is_message_owned)
1151  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1152  successors_(arena),
1153  recipes_(arena),
1154  successor_delays_(arena) {
1155  SharedCtor();
1156  if (!is_message_owned) {
1157  RegisterArenaDtor(arena);
1158  }
1159  // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.Task)
1160 }
1161 Task::Task(const Task& from)
1162  : ::PROTOBUF_NAMESPACE_ID::Message(),
1163  successors_(from.successors_),
1164  recipes_(from.recipes_),
1165  successor_delays_(from.successor_delays_) {
1166  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1167  // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.Task)
1168 }
1169 
1170 inline void Task::SharedCtor() {
1171 }
1172 
1174  // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.Task)
1175  if (GetArenaForAllocation() != nullptr) return;
1176  SharedDtor();
1177  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1178 }
1179 
1180 inline void Task::SharedDtor() {
1181  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1182 }
1183 
1184 void Task::ArenaDtor(void* object) {
1185  Task* _this = reinterpret_cast< Task* >(object);
1186  (void)_this;
1187 }
1188 void Task::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1189 }
1190 void Task::SetCachedSize(int size) const {
1191  _cached_size_.Set(size);
1192 }
1193 
1194 void Task::Clear() {
1195 // @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.Task)
1196  uint32_t cached_has_bits = 0;
1197  // Prevent compiler warnings about cached_has_bits being unused
1198  (void) cached_has_bits;
1199 
1200  successors_.Clear();
1201  recipes_.Clear();
1202  successor_delays_.Clear();
1203  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1204 }
1205 
1206 const char* Task::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1207 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1208  while (!ctx->Done(&ptr)) {
1209  uint32_t tag;
1210  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1211  switch (tag >> 3) {
1212  // repeated int32 successors = 1;
1213  case 1:
1214  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1215  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_successors(), ptr, ctx);
1216  CHK_(ptr);
1217  } else if (static_cast<uint8_t>(tag) == 8) {
1218  _internal_add_successors(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
1219  CHK_(ptr);
1220  } else
1221  goto handle_unusual;
1222  continue;
1223  // repeated .operations_research.scheduling.rcpsp.Recipe recipes = 2;
1224  case 2:
1225  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
1226  ptr -= 1;
1227  do {
1228  ptr += 1;
1229  ptr = ctx->ParseMessage(_internal_add_recipes(), ptr);
1230  CHK_(ptr);
1231  if (!ctx->DataAvailable(ptr)) break;
1232  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
1233  } else
1234  goto handle_unusual;
1235  continue;
1236  // repeated .operations_research.scheduling.rcpsp.PerSuccessorDelays successor_delays = 3;
1237  case 3:
1238  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
1239  ptr -= 1;
1240  do {
1241  ptr += 1;
1242  ptr = ctx->ParseMessage(_internal_add_successor_delays(), ptr);
1243  CHK_(ptr);
1244  if (!ctx->DataAvailable(ptr)) break;
1245  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
1246  } else
1247  goto handle_unusual;
1248  continue;
1249  default:
1250  goto handle_unusual;
1251  } // switch
1252  handle_unusual:
1253  if ((tag == 0) || ((tag & 7) == 4)) {
1254  CHK_(ptr);
1255  ctx->SetLastTag(tag);
1256  goto message_done;
1257  }
1258  ptr = UnknownFieldParse(
1259  tag,
1260  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1261  ptr, ctx);
1262  CHK_(ptr != nullptr);
1263  } // while
1264 message_done:
1265  return ptr;
1266 failure:
1267  ptr = nullptr;
1268  goto message_done;
1269 #undef CHK_
1270 }
1271 
1273  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1274  // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.Task)
1275  uint32_t cached_has_bits = 0;
1276  (void) cached_has_bits;
1277 
1278  // repeated int32 successors = 1;
1279  {
1280  int byte_size = _successors_cached_byte_size_.load(std::memory_order_relaxed);
1281  if (byte_size > 0) {
1282  target = stream->WriteInt32Packed(
1283  1, _internal_successors(), byte_size, target);
1284  }
1285  }
1286 
1287  // repeated .operations_research.scheduling.rcpsp.Recipe recipes = 2;
1288  for (unsigned int i = 0,
1289  n = static_cast<unsigned int>(this->_internal_recipes_size()); i < n; i++) {
1290  target = stream->EnsureSpace(target);
1291  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1292  InternalWriteMessage(2, this->_internal_recipes(i), target, stream);
1293  }
1294 
1295  // repeated .operations_research.scheduling.rcpsp.PerSuccessorDelays successor_delays = 3;
1296  for (unsigned int i = 0,
1297  n = static_cast<unsigned int>(this->_internal_successor_delays_size()); i < n; i++) {
1298  target = stream->EnsureSpace(target);
1299  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1300  InternalWriteMessage(3, this->_internal_successor_delays(i), target, stream);
1301  }
1302 
1303  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1304  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1305  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1306  }
1307  // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.Task)
1308  return target;
1309 }
1310 
1311 size_t Task::ByteSizeLong() const {
1312 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.Task)
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  // repeated int32 successors = 1;
1320  {
1321  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1322  Int32Size(this->successors_);
1323  if (data_size > 0) {
1324  total_size += 1 +
1325  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1326  static_cast<int32_t>(data_size));
1327  }
1328  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1329  _successors_cached_byte_size_.store(cached_size,
1330  std::memory_order_relaxed);
1331  total_size += data_size;
1332  }
1333 
1334  // repeated .operations_research.scheduling.rcpsp.Recipe recipes = 2;
1335  total_size += 1UL * this->_internal_recipes_size();
1336  for (const auto& msg : this->recipes_) {
1337  total_size +=
1338  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1339  }
1340 
1341  // repeated .operations_research.scheduling.rcpsp.PerSuccessorDelays successor_delays = 3;
1342  total_size += 1UL * this->_internal_successor_delays_size();
1343  for (const auto& msg : this->successor_delays_) {
1344  total_size +=
1345  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1346  }
1347 
1348  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1349 }
1350 
1351 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Task::_class_data_ = {
1352  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1353  Task::MergeImpl
1354 };
1355 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Task::GetClassData() const { return &_class_data_; }
1356 
1357 void Task::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1358  const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1359  static_cast<Task *>(to)->MergeFrom(
1360  static_cast<const Task &>(from));
1361 }
1362 
1363 
1364 void Task::MergeFrom(const Task& from) {
1365 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.Task)
1366  GOOGLE_DCHECK_NE(&from, this);
1367  uint32_t cached_has_bits = 0;
1368  (void) cached_has_bits;
1369 
1370  successors_.MergeFrom(from.successors_);
1371  recipes_.MergeFrom(from.recipes_);
1372  successor_delays_.MergeFrom(from.successor_delays_);
1373  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1374 }
1375 
1376 void Task::CopyFrom(const Task& from) {
1377 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.Task)
1378  if (&from == this) return;
1379  Clear();
1380  MergeFrom(from);
1381 }
1382 
1383 bool Task::IsInitialized() const {
1384  return true;
1385 }
1386 
1387 void Task::InternalSwap(Task* other) {
1388  using std::swap;
1389  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1390  successors_.InternalSwap(&other->successors_);
1391  recipes_.InternalSwap(&other->recipes_);
1392  successor_delays_.InternalSwap(&other->successor_delays_);
1393 }
1394 
1395 ::PROTOBUF_NAMESPACE_ID::Metadata Task::GetMetadata() const {
1396  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1399 }
1400 
1401 // ===================================================================
1402 
1404  public:
1405 };
1406 
1407 RcpspProblem::RcpspProblem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1408  bool is_message_owned)
1409  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1410  resources_(arena),
1411  tasks_(arena) {
1412  SharedCtor();
1413  if (!is_message_owned) {
1414  RegisterArenaDtor(arena);
1415  }
1416  // @@protoc_insertion_point(arena_constructor:operations_research.scheduling.rcpsp.RcpspProblem)
1417 }
1419  : ::PROTOBUF_NAMESPACE_ID::Message(),
1420  resources_(from.resources_),
1421  tasks_(from.tasks_) {
1422  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1423  basedata_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1424  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1425  basedata_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1426  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1427  if (!from._internal_basedata().empty()) {
1428  basedata_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_basedata(),
1429  GetArenaForAllocation());
1430  }
1431  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1432  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1433  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1434  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1435  if (!from._internal_name().empty()) {
1436  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1437  GetArenaForAllocation());
1438  }
1439  ::memcpy(&is_consumer_producer_, &from.is_consumer_producer_,
1440  static_cast<size_t>(reinterpret_cast<char*>(&due_date_) -
1441  reinterpret_cast<char*>(&is_consumer_producer_)) + sizeof(due_date_));
1442  // @@protoc_insertion_point(copy_constructor:operations_research.scheduling.rcpsp.RcpspProblem)
1443 }
1444 
1445 inline void RcpspProblem::SharedCtor() {
1446 basedata_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1447 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1448  basedata_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1449 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1450 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1451 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1452  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1453 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1454 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1455  reinterpret_cast<char*>(&is_consumer_producer_) - reinterpret_cast<char*>(this)),
1456  0, static_cast<size_t>(reinterpret_cast<char*>(&due_date_) -
1457  reinterpret_cast<char*>(&is_consumer_producer_)) + sizeof(due_date_));
1458 }
1459 
1461  // @@protoc_insertion_point(destructor:operations_research.scheduling.rcpsp.RcpspProblem)
1462  if (GetArenaForAllocation() != nullptr) return;
1463  SharedDtor();
1464  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1465 }
1466 
1467 inline void RcpspProblem::SharedDtor() {
1468  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1469  basedata_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1470  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1471 }
1472 
1473 void RcpspProblem::ArenaDtor(void* object) {
1474  RcpspProblem* _this = reinterpret_cast< RcpspProblem* >(object);
1475  (void)_this;
1476 }
1477 void RcpspProblem::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1478 }
1479 void RcpspProblem::SetCachedSize(int size) const {
1480  _cached_size_.Set(size);
1481 }
1482 
1484 // @@protoc_insertion_point(message_clear_start:operations_research.scheduling.rcpsp.RcpspProblem)
1485  uint32_t cached_has_bits = 0;
1486  // Prevent compiler warnings about cached_has_bits being unused
1487  (void) cached_has_bits;
1488 
1489  resources_.Clear();
1490  tasks_.Clear();
1491  basedata_.ClearToEmpty();
1492  name_.ClearToEmpty();
1493  ::memset(&is_consumer_producer_, 0, static_cast<size_t>(
1494  reinterpret_cast<char*>(&due_date_) -
1495  reinterpret_cast<char*>(&is_consumer_producer_)) + sizeof(due_date_));
1496  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1497 }
1498 
1499 const char* RcpspProblem::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1500 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1501  while (!ctx->Done(&ptr)) {
1502  uint32_t tag;
1503  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1504  switch (tag >> 3) {
1505  // repeated .operations_research.scheduling.rcpsp.Resource resources = 1;
1506  case 1:
1507  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1508  ptr -= 1;
1509  do {
1510  ptr += 1;
1511  ptr = ctx->ParseMessage(_internal_add_resources(), ptr);
1512  CHK_(ptr);
1513  if (!ctx->DataAvailable(ptr)) break;
1514  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
1515  } else
1516  goto handle_unusual;
1517  continue;
1518  // repeated .operations_research.scheduling.rcpsp.Task tasks = 2;
1519  case 2:
1520  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
1521  ptr -= 1;
1522  do {
1523  ptr += 1;
1524  ptr = ctx->ParseMessage(_internal_add_tasks(), ptr);
1525  CHK_(ptr);
1526  if (!ctx->DataAvailable(ptr)) break;
1527  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
1528  } else
1529  goto handle_unusual;
1530  continue;
1531  // bool is_consumer_producer = 3;
1532  case 3:
1533  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
1534  is_consumer_producer_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1535  CHK_(ptr);
1536  } else
1537  goto handle_unusual;
1538  continue;
1539  // bool is_resource_investment = 4;
1540  case 4:
1541  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
1542  is_resource_investment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1543  CHK_(ptr);
1544  } else
1545  goto handle_unusual;
1546  continue;
1547  // bool is_rcpsp_max = 5;
1548  case 5:
1549  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
1550  is_rcpsp_max_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1551  CHK_(ptr);
1552  } else
1553  goto handle_unusual;
1554  continue;
1555  // int32 deadline = 6;
1556  case 6:
1557  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
1558  deadline_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1559  CHK_(ptr);
1560  } else
1561  goto handle_unusual;
1562  continue;
1563  // int32 horizon = 7;
1564  case 7:
1565  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
1566  horizon_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1567  CHK_(ptr);
1568  } else
1569  goto handle_unusual;
1570  continue;
1571  // int32 release_date = 8;
1572  case 8:
1573  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
1574  release_date_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1575  CHK_(ptr);
1576  } else
1577  goto handle_unusual;
1578  continue;
1579  // int32 tardiness_cost = 9;
1580  case 9:
1581  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
1582  tardiness_cost_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1583  CHK_(ptr);
1584  } else
1585  goto handle_unusual;
1586  continue;
1587  // int32 mpm_time = 10;
1588  case 10:
1589  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
1590  mpm_time_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1591  CHK_(ptr);
1592  } else
1593  goto handle_unusual;
1594  continue;
1595  // int64 seed = 11;
1596  case 11:
1597  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
1598  seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1599  CHK_(ptr);
1600  } else
1601  goto handle_unusual;
1602  continue;
1603  // string basedata = 12;
1604  case 12:
1605  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
1606  auto str = _internal_mutable_basedata();
1607  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1608  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.scheduling.rcpsp.RcpspProblem.basedata"));
1609  CHK_(ptr);
1610  } else
1611  goto handle_unusual;
1612  continue;
1613  // int32 due_date = 13;
1614  case 13:
1615  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
1616  due_date_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
1617  CHK_(ptr);
1618  } else
1619  goto handle_unusual;
1620  continue;
1621  // string name = 14;
1622  case 14:
1623  if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
1624  auto str = _internal_mutable_name();
1625  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1626  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.scheduling.rcpsp.RcpspProblem.name"));
1627  CHK_(ptr);
1628  } else
1629  goto handle_unusual;
1630  continue;
1631  default:
1632  goto handle_unusual;
1633  } // switch
1634  handle_unusual:
1635  if ((tag == 0) || ((tag & 7) == 4)) {
1636  CHK_(ptr);
1637  ctx->SetLastTag(tag);
1638  goto message_done;
1639  }
1640  ptr = UnknownFieldParse(
1641  tag,
1642  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1643  ptr, ctx);
1644  CHK_(ptr != nullptr);
1645  } // while
1646 message_done:
1647  return ptr;
1648 failure:
1649  ptr = nullptr;
1650  goto message_done;
1651 #undef CHK_
1652 }
1653 
1655  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1656  // @@protoc_insertion_point(serialize_to_array_start:operations_research.scheduling.rcpsp.RcpspProblem)
1657  uint32_t cached_has_bits = 0;
1658  (void) cached_has_bits;
1659 
1660  // repeated .operations_research.scheduling.rcpsp.Resource resources = 1;
1661  for (unsigned int i = 0,
1662  n = static_cast<unsigned int>(this->_internal_resources_size()); i < n; i++) {
1663  target = stream->EnsureSpace(target);
1664  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1665  InternalWriteMessage(1, this->_internal_resources(i), target, stream);
1666  }
1667 
1668  // repeated .operations_research.scheduling.rcpsp.Task tasks = 2;
1669  for (unsigned int i = 0,
1670  n = static_cast<unsigned int>(this->_internal_tasks_size()); i < n; i++) {
1671  target = stream->EnsureSpace(target);
1672  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1673  InternalWriteMessage(2, this->_internal_tasks(i), target, stream);
1674  }
1675 
1676  // bool is_consumer_producer = 3;
1677  if (this->_internal_is_consumer_producer() != 0) {
1678  target = stream->EnsureSpace(target);
1679  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_is_consumer_producer(), target);
1680  }
1681 
1682  // bool is_resource_investment = 4;
1683  if (this->_internal_is_resource_investment() != 0) {
1684  target = stream->EnsureSpace(target);
1685  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_resource_investment(), target);
1686  }
1687 
1688  // bool is_rcpsp_max = 5;
1689  if (this->_internal_is_rcpsp_max() != 0) {
1690  target = stream->EnsureSpace(target);
1691  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_is_rcpsp_max(), target);
1692  }
1693 
1694  // int32 deadline = 6;
1695  if (this->_internal_deadline() != 0) {
1696  target = stream->EnsureSpace(target);
1697  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_deadline(), target);
1698  }
1699 
1700  // int32 horizon = 7;
1701  if (this->_internal_horizon() != 0) {
1702  target = stream->EnsureSpace(target);
1703  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_horizon(), target);
1704  }
1705 
1706  // int32 release_date = 8;
1707  if (this->_internal_release_date() != 0) {
1708  target = stream->EnsureSpace(target);
1709  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_release_date(), target);
1710  }
1711 
1712  // int32 tardiness_cost = 9;
1713  if (this->_internal_tardiness_cost() != 0) {
1714  target = stream->EnsureSpace(target);
1715  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_tardiness_cost(), target);
1716  }
1717 
1718  // int32 mpm_time = 10;
1719  if (this->_internal_mpm_time() != 0) {
1720  target = stream->EnsureSpace(target);
1721  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_mpm_time(), target);
1722  }
1723 
1724  // int64 seed = 11;
1725  if (this->_internal_seed() != 0) {
1726  target = stream->EnsureSpace(target);
1727  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(11, this->_internal_seed(), target);
1728  }
1729 
1730  // string basedata = 12;
1731  if (!this->_internal_basedata().empty()) {
1732  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
1733  this->_internal_basedata().data(), static_cast<int>(this->_internal_basedata().length()),
1734  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
1735  "operations_research.scheduling.rcpsp.RcpspProblem.basedata");
1736  target = stream->WriteStringMaybeAliased(
1737  12, this->_internal_basedata(), target);
1738  }
1739 
1740  // int32 due_date = 13;
1741  if (this->_internal_due_date() != 0) {
1742  target = stream->EnsureSpace(target);
1743  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_due_date(), target);
1744  }
1745 
1746  // string name = 14;
1747  if (!this->_internal_name().empty()) {
1748  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
1749  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1750  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
1751  "operations_research.scheduling.rcpsp.RcpspProblem.name");
1752  target = stream->WriteStringMaybeAliased(
1753  14, this->_internal_name(), target);
1754  }
1755 
1756  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1757  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1758  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1759  }
1760  // @@protoc_insertion_point(serialize_to_array_end:operations_research.scheduling.rcpsp.RcpspProblem)
1761  return target;
1762 }
1763 
1765 // @@protoc_insertion_point(message_byte_size_start:operations_research.scheduling.rcpsp.RcpspProblem)
1766  size_t total_size = 0;
1767 
1768  uint32_t cached_has_bits = 0;
1769  // Prevent compiler warnings about cached_has_bits being unused
1770  (void) cached_has_bits;
1771 
1772  // repeated .operations_research.scheduling.rcpsp.Resource resources = 1;
1773  total_size += 1UL * this->_internal_resources_size();
1774  for (const auto& msg : this->resources_) {
1775  total_size +=
1776  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1777  }
1778 
1779  // repeated .operations_research.scheduling.rcpsp.Task tasks = 2;
1780  total_size += 1UL * this->_internal_tasks_size();
1781  for (const auto& msg : this->tasks_) {
1782  total_size +=
1783  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1784  }
1785 
1786  // string basedata = 12;
1787  if (!this->_internal_basedata().empty()) {
1788  total_size += 1 +
1789  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1790  this->_internal_basedata());
1791  }
1792 
1793  // string name = 14;
1794  if (!this->_internal_name().empty()) {
1795  total_size += 1 +
1796  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1797  this->_internal_name());
1798  }
1799 
1800  // bool is_consumer_producer = 3;
1801  if (this->_internal_is_consumer_producer() != 0) {
1802  total_size += 1 + 1;
1803  }
1804 
1805  // bool is_resource_investment = 4;
1806  if (this->_internal_is_resource_investment() != 0) {
1807  total_size += 1 + 1;
1808  }
1809 
1810  // bool is_rcpsp_max = 5;
1811  if (this->_internal_is_rcpsp_max() != 0) {
1812  total_size += 1 + 1;
1813  }
1814 
1815  // int32 deadline = 6;
1816  if (this->_internal_deadline() != 0) {
1817  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_deadline());
1818  }
1819 
1820  // int32 horizon = 7;
1821  if (this->_internal_horizon() != 0) {
1822  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_horizon());
1823  }
1824 
1825  // int32 release_date = 8;
1826  if (this->_internal_release_date() != 0) {
1827  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_release_date());
1828  }
1829 
1830  // int32 tardiness_cost = 9;
1831  if (this->_internal_tardiness_cost() != 0) {
1832  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_tardiness_cost());
1833  }
1834 
1835  // int32 mpm_time = 10;
1836  if (this->_internal_mpm_time() != 0) {
1837  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_mpm_time());
1838  }
1839 
1840  // int64 seed = 11;
1841  if (this->_internal_seed() != 0) {
1842  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_seed());
1843  }
1844 
1845  // int32 due_date = 13;
1846  if (this->_internal_due_date() != 0) {
1847  total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_due_date());
1848  }
1849 
1850  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1851 }
1852 
1853 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RcpspProblem::_class_data_ = {
1854  ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1855  RcpspProblem::MergeImpl
1856 };
1857 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RcpspProblem::GetClassData() const { return &_class_data_; }
1858 
1859 void RcpspProblem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1860  const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1861  static_cast<RcpspProblem *>(to)->MergeFrom(
1862  static_cast<const RcpspProblem &>(from));
1863 }
1864 
1865 
1867 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.scheduling.rcpsp.RcpspProblem)
1868  GOOGLE_DCHECK_NE(&from, this);
1869  uint32_t cached_has_bits = 0;
1870  (void) cached_has_bits;
1871 
1872  resources_.MergeFrom(from.resources_);
1873  tasks_.MergeFrom(from.tasks_);
1874  if (!from._internal_basedata().empty()) {
1875  _internal_set_basedata(from._internal_basedata());
1876  }
1877  if (!from._internal_name().empty()) {
1878  _internal_set_name(from._internal_name());
1879  }
1880  if (from._internal_is_consumer_producer() != 0) {
1881  _internal_set_is_consumer_producer(from._internal_is_consumer_producer());
1882  }
1883  if (from._internal_is_resource_investment() != 0) {
1884  _internal_set_is_resource_investment(from._internal_is_resource_investment());
1885  }
1886  if (from._internal_is_rcpsp_max() != 0) {
1887  _internal_set_is_rcpsp_max(from._internal_is_rcpsp_max());
1888  }
1889  if (from._internal_deadline() != 0) {
1890  _internal_set_deadline(from._internal_deadline());
1891  }
1892  if (from._internal_horizon() != 0) {
1893  _internal_set_horizon(from._internal_horizon());
1894  }
1895  if (from._internal_release_date() != 0) {
1896  _internal_set_release_date(from._internal_release_date());
1897  }
1898  if (from._internal_tardiness_cost() != 0) {
1899  _internal_set_tardiness_cost(from._internal_tardiness_cost());
1900  }
1901  if (from._internal_mpm_time() != 0) {
1902  _internal_set_mpm_time(from._internal_mpm_time());
1903  }
1904  if (from._internal_seed() != 0) {
1905  _internal_set_seed(from._internal_seed());
1906  }
1907  if (from._internal_due_date() != 0) {
1908  _internal_set_due_date(from._internal_due_date());
1909  }
1910  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1911 }
1912 
1914 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.scheduling.rcpsp.RcpspProblem)
1915  if (&from == this) return;
1916  Clear();
1917  MergeFrom(from);
1918 }
1919 
1921  return true;
1922 }
1923 
1924 void RcpspProblem::InternalSwap(RcpspProblem* other) {
1925  using std::swap;
1926  auto* lhs_arena = GetArenaForAllocation();
1927  auto* rhs_arena = other->GetArenaForAllocation();
1928  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1929  resources_.InternalSwap(&other->resources_);
1930  tasks_.InternalSwap(&other->tasks_);
1931  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
1932  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1933  &basedata_, lhs_arena,
1934  &other->basedata_, rhs_arena
1935  );
1936  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
1937  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1938  &name_, lhs_arena,
1939  &other->name_, rhs_arena
1940  );
1941  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1942  PROTOBUF_FIELD_OFFSET(RcpspProblem, due_date_)
1943  + sizeof(RcpspProblem::due_date_)
1944  - PROTOBUF_FIELD_OFFSET(RcpspProblem, is_consumer_producer_)>(
1945  reinterpret_cast<char*>(&is_consumer_producer_),
1946  reinterpret_cast<char*>(&other->is_consumer_producer_));
1947 }
1948 
1949 ::PROTOBUF_NAMESPACE_ID::Metadata RcpspProblem::GetMetadata() const {
1950  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1953 }
1954 
1955 // @@protoc_insertion_point(namespace_scope)
1956 } // namespace rcpsp
1957 } // namespace scheduling
1958 } // namespace operations_research
1959 PROTOBUF_NAMESPACE_OPEN
1960 template<> PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::Resource* Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::Resource >(Arena* arena) {
1961  return Arena::CreateMessageInternal< ::operations_research::scheduling::rcpsp::Resource >(arena);
1962 }
1963 template<> PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::Recipe* Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::Recipe >(Arena* arena) {
1964  return Arena::CreateMessageInternal< ::operations_research::scheduling::rcpsp::Recipe >(arena);
1965 }
1966 template<> PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::PerRecipeDelays* Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::PerRecipeDelays >(Arena* arena) {
1967  return Arena::CreateMessageInternal< ::operations_research::scheduling::rcpsp::PerRecipeDelays >(arena);
1968 }
1969 template<> PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::PerSuccessorDelays* Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::PerSuccessorDelays >(Arena* arena) {
1970  return Arena::CreateMessageInternal< ::operations_research::scheduling::rcpsp::PerSuccessorDelays >(arena);
1971 }
1972 template<> PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::Task* Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::Task >(Arena* arena) {
1973  return Arena::CreateMessageInternal< ::operations_research::scheduling::rcpsp::Task >(arena);
1974 }
1975 template<> PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::RcpspProblem* Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::RcpspProblem >(Arena* arena) {
1976  return Arena::CreateMessageInternal< ::operations_research::scheduling::rcpsp::RcpspProblem >(arena);
1977 }
1978 PROTOBUF_NAMESPACE_CLOSE
1979 
1980 // @@protoc_insertion_point(global_scope)
1981 #include <google/protobuf/port_undef.inc>
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fscheduling_2frcpsp_2eproto
Definition: rcpsp.pb.cc:236
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
Definition: rcpsp.pb.cc:502
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Definition: rcpsp.pb.cc:316
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Definition: rcpsp.pb.cc:1005
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RcpspProblemDefaultTypeInternal _RcpspProblem_default_instance_
Definition: rcpsp.pb.cc:117
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fscheduling_2frcpsp_2eproto[6]
Definition: rcpsp.pb.cc:121
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Definition: rcpsp.pb.cc:1206
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
Definition: rcpsp.pb.cc:198
void MergeFrom(const PerSuccessorDelays &from)
Definition: rcpsp.pb.cc:1110
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const ** file_level_enum_descriptors_ortools_2fscheduling_2frcpsp_2eproto
Definition: rcpsp.pb.cc:122
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
Definition: rcpsp.pb.cc:1272
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
Definition: rcpsp.pb.cc:377
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Definition: id_map.h:263
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Definition: rcpsp.pb.cc:1015
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::Resource * Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::Resource >(Arena *arena)
Definition: rcpsp.pb.cc:1960
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
Definition: rcpsp.pb.cc:1057
const uint32_t TableStruct_ortools_2fscheduling_2frcpsp_2eproto::offsets [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Definition: rcpsp.pb.cc:450
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Definition: rcpsp.pb.cc:1499
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
Definition: rcpsp.pb.cc:1395
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fscheduling_2frcpsp_2eproto_once
Definition: rcpsp.pb.cc:235
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fscheduling_2frcpsp_2eproto
Definition: rcpsp.pb.cc:123
#define CHK_(x)
PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::PerRecipeDelays * Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::PerRecipeDelays >(Arena *arena)
Definition: rcpsp.pb.cc:1966
friend void swap(Recipe &a, Recipe &b)
Definition: rcpsp.pb.h:323
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Definition: rcpsp.pb.cc:559
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
Definition: rcpsp.pb.cc:1137
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PerSuccessorDelaysDefaultTypeInternal _PerSuccessorDelays_default_instance_
Definition: rcpsp.pb.cc:77
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
Definition: rcpsp.pb.cc:952
PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::PerSuccessorDelays * Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::PerSuccessorDelays >(Arena *arena)
Definition: rcpsp.pb.cc:1969
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Definition: rcpsp.pb.cc:1101
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RecipeDefaultTypeInternal _Recipe_default_instance_
Definition: rcpsp.pb.cc:52
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
Definition: rcpsp.pb.cc:1949
PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::RcpspProblem * Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::RcpspProblem >(Arena *arena)
Definition: rcpsp.pb.cc:1975
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
Definition: rcpsp.pb.cc:1654
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TaskDefaultTypeInternal _Task_default_instance_
Definition: rcpsp.pb.cc:92
void CopyFrom(const PerRecipeDelays &from)
Definition: rcpsp.pb.cc:935
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Definition: rcpsp.pb.cc:1194
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Definition: rcpsp.pb.cc:813
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Definition: rcpsp.pb.cc:1355
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Definition: rcpsp.pb.cc:1483
PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::Task * Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::Task >(Arena *arena)
Definition: rcpsp.pb.cc:1972
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
Definition: rcpsp.pb.cc:630
Collection of objects used to extend the Constraint Solver library.
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Definition: rcpsp.pb.cc:718
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fscheduling_2frcpsp_2eproto_getter()
Definition: rcpsp.pb.cc:242
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Definition: rcpsp.pb.cc:571
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
Definition: rcpsp.pb.cc:863
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Definition: rcpsp.pb.cc:916
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PerRecipeDelaysDefaultTypeInternal _PerRecipeDelays_default_instance_
Definition: rcpsp.pb.cc:65
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Definition: rcpsp.pb.cc:1857
PROTOBUF_NOINLINE ::operations_research::scheduling::rcpsp::Recipe * Arena::CreateMaybeMessage< ::operations_research::scheduling::rcpsp::Recipe >(Arena *arena)
Definition: rcpsp.pb.cc:1963
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
Definition: rcpsp.pb.cc:760
void CopyFrom(const PerSuccessorDelays &from)
Definition: rcpsp.pb.cc:1120
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Definition: rcpsp.pb.cc:304
void MergeFrom(const PerRecipeDelays &from)
Definition: rcpsp.pb.cc:925
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Definition: rcpsp.pb.cc:823
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ResourceDefaultTypeInternal _Resource_default_instance_
Definition: rcpsp.pb.cc:36