OR-Tools  9.0
flow_problem.pb.cc
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/graph/flow_problem.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 constexpr Arc::Arc(
21  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
22  : tail_node_id_(PROTOBUF_LONGLONG(0))
23  , head_node_id_(PROTOBUF_LONGLONG(0))
24  , unit_cost_(PROTOBUF_LONGLONG(0))
25  , capacity_(PROTOBUF_LONGLONG(1)){}
28  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
30  union {
32  };
33 };
34 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ArcDefaultTypeInternal _Arc_default_instance_;
35 constexpr Node::Node(
36  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
37  : id_(PROTOBUF_LONGLONG(0))
38  , supply_(PROTOBUF_LONGLONG(0)){}
41  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
43  union {
44  Node _instance;
45  };
46 };
47 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NodeDefaultTypeInternal _Node_default_instance_;
48 constexpr FlowModel::FlowModel(
49  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
50  : node_()
51  , arc_()
52  , problem_type_(2)
53 {}
56  : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
58  union {
59  FlowModel _instance;
60  };
61 };
62 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FlowModelDefaultTypeInternal _FlowModel_default_instance_;
63 } // namespace operations_research
64 static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fgraph_2fflow_5fproblem_2eproto[3];
65 static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_ortools_2fgraph_2fflow_5fproblem_2eproto[1];
66 static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fgraph_2fflow_5fproblem_2eproto = nullptr;
67 
68 const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fgraph_2fflow_5fproblem_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
69  PROTOBUF_FIELD_OFFSET(::operations_research::Arc, _has_bits_),
70  PROTOBUF_FIELD_OFFSET(::operations_research::Arc, _internal_metadata_),
71  ~0u, // no _extensions_
72  ~0u, // no _oneof_case_
73  ~0u, // no _weak_field_map_
74  PROTOBUF_FIELD_OFFSET(::operations_research::Arc, tail_node_id_),
75  PROTOBUF_FIELD_OFFSET(::operations_research::Arc, head_node_id_),
76  PROTOBUF_FIELD_OFFSET(::operations_research::Arc, capacity_),
77  PROTOBUF_FIELD_OFFSET(::operations_research::Arc, unit_cost_),
78  0,
79  1,
80  3,
81  2,
82  PROTOBUF_FIELD_OFFSET(::operations_research::Node, _has_bits_),
83  PROTOBUF_FIELD_OFFSET(::operations_research::Node, _internal_metadata_),
84  ~0u, // no _extensions_
85  ~0u, // no _oneof_case_
86  ~0u, // no _weak_field_map_
87  PROTOBUF_FIELD_OFFSET(::operations_research::Node, id_),
88  PROTOBUF_FIELD_OFFSET(::operations_research::Node, supply_),
89  0,
90  1,
91  PROTOBUF_FIELD_OFFSET(::operations_research::FlowModel, _has_bits_),
92  PROTOBUF_FIELD_OFFSET(::operations_research::FlowModel, _internal_metadata_),
93  ~0u, // no _extensions_
94  ~0u, // no _oneof_case_
95  ~0u, // no _weak_field_map_
96  PROTOBUF_FIELD_OFFSET(::operations_research::FlowModel, node_),
97  PROTOBUF_FIELD_OFFSET(::operations_research::FlowModel, arc_),
98  PROTOBUF_FIELD_OFFSET(::operations_research::FlowModel, problem_type_),
99  ~0u,
100  ~0u,
101  0,
102 };
103 static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
104  { 0, 9, sizeof(::operations_research::Arc)},
105  { 13, 20, sizeof(::operations_research::Node)},
106  { 22, 30, sizeof(::operations_research::FlowModel)},
107 };
108 
109 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
110  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_Arc_default_instance_),
111  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_Node_default_instance_),
112  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_FlowModel_default_instance_),
113 };
114 
115 const char descriptor_table_protodef_ortools_2fgraph_2fflow_5fproblem_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
116  "\n ortools/graph/flow_problem.proto\022\023oper"
117  "ations_research\"\\\n\003Arc\022\024\n\014tail_node_id\030\001"
118  " \001(\003\022\024\n\014head_node_id\030\002 \001(\003\022\023\n\010capacity\030\003"
119  " \001(\003:\0011\022\024\n\tunit_cost\030\004 \001(\003:\0010\"%\n\004Node\022\n\n"
120  "\002id\030\001 \001(\003\022\021\n\006supply\030\002 \001(\003:\0010\"\367\001\n\tFlowMod"
121  "el\022\'\n\004node\030\001 \003(\0132\031.operations_research.N"
122  "ode\022%\n\003arc\030\002 \003(\0132\030.operations_research.A"
123  "rc\022O\n\014problem_type\030\003 \001(\0162*.operations_re"
124  "search.FlowModel.ProblemType:\rMIN_COST_F"
125  "LOW\"I\n\013ProblemType\022\031\n\025LINEAR_SUM_ASSIGNM"
126  "ENT\020\000\022\014\n\010MAX_FLOW\020\001\022\021\n\rMIN_COST_FLOW\020\002"
127  ;
128 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto_once;
129 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto = {
130  false, false, 438, descriptor_table_protodef_ortools_2fgraph_2fflow_5fproblem_2eproto, "ortools/graph/flow_problem.proto",
134 };
135 PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata
137  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto);
139 }
140 
141 // Force running AddDescriptors() at dynamic initialization time.
142 PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_ortools_2fgraph_2fflow_5fproblem_2eproto(&descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto);
143 namespace operations_research {
144 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FlowModel_ProblemType_descriptor() {
145  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto);
147 }
149  switch (value) {
150  case 0:
151  case 1:
152  case 2:
153  return true;
154  default:
155  return false;
156  }
157 }
158 
159 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
160 constexpr FlowModel_ProblemType FlowModel::LINEAR_SUM_ASSIGNMENT;
161 constexpr FlowModel_ProblemType FlowModel::MAX_FLOW;
162 constexpr FlowModel_ProblemType FlowModel::MIN_COST_FLOW;
163 constexpr FlowModel_ProblemType FlowModel::ProblemType_MIN;
164 constexpr FlowModel_ProblemType FlowModel::ProblemType_MAX;
165 constexpr int FlowModel::ProblemType_ARRAYSIZE;
166 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
167 
168 // ===================================================================
169 
170 class Arc::_Internal {
171  public:
172  using HasBits = decltype(std::declval<Arc>()._has_bits_);
173  static void set_has_tail_node_id(HasBits* has_bits) {
174  (*has_bits)[0] |= 1u;
175  }
176  static void set_has_head_node_id(HasBits* has_bits) {
177  (*has_bits)[0] |= 2u;
178  }
179  static void set_has_capacity(HasBits* has_bits) {
180  (*has_bits)[0] |= 8u;
181  }
182  static void set_has_unit_cost(HasBits* has_bits) {
183  (*has_bits)[0] |= 4u;
184  }
185 };
186 
187 Arc::Arc(::PROTOBUF_NAMESPACE_ID::Arena* arena)
188  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
189  SharedCtor();
190  RegisterArenaDtor(arena);
191  // @@protoc_insertion_point(arena_constructor:operations_research.Arc)
192 }
193 Arc::Arc(const Arc& from)
194  : ::PROTOBUF_NAMESPACE_ID::Message(),
195  _has_bits_(from._has_bits_) {
196  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
197  ::memcpy(&tail_node_id_, &from.tail_node_id_,
198  static_cast<size_t>(reinterpret_cast<char*>(&capacity_) -
199  reinterpret_cast<char*>(&tail_node_id_)) + sizeof(capacity_));
200  // @@protoc_insertion_point(copy_constructor:operations_research.Arc)
201 }
202 
203 void Arc::SharedCtor() {
204 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
205  reinterpret_cast<char*>(&tail_node_id_) - reinterpret_cast<char*>(this)),
206  0, static_cast<size_t>(reinterpret_cast<char*>(&unit_cost_) -
207  reinterpret_cast<char*>(&tail_node_id_)) + sizeof(unit_cost_));
208 capacity_ = PROTOBUF_LONGLONG(1);
209 }
210 
211 Arc::~Arc() {
212  // @@protoc_insertion_point(destructor:operations_research.Arc)
213  SharedDtor();
214  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
215 }
216 
217 void Arc::SharedDtor() {
218  GOOGLE_DCHECK(GetArena() == nullptr);
219 }
220 
221 void Arc::ArenaDtor(void* object) {
222  Arc* _this = reinterpret_cast< Arc* >(object);
223  (void)_this;
224 }
225 void Arc::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
226 }
227 void Arc::SetCachedSize(int size) const {
228  _cached_size_.Set(size);
229 }
230 
231 void Arc::Clear() {
232 // @@protoc_insertion_point(message_clear_start:operations_research.Arc)
233  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
234  // Prevent compiler warnings about cached_has_bits being unused
235  (void) cached_has_bits;
236 
237  cached_has_bits = _has_bits_[0];
238  if (cached_has_bits & 0x0000000fu) {
239  ::memset(&tail_node_id_, 0, static_cast<size_t>(
240  reinterpret_cast<char*>(&unit_cost_) -
241  reinterpret_cast<char*>(&tail_node_id_)) + sizeof(unit_cost_));
242  capacity_ = PROTOBUF_LONGLONG(1);
243  }
244  _has_bits_.Clear();
245  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
246 }
247 
248 const char* Arc::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
249 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
250  _Internal::HasBits has_bits{};
251  while (!ctx->Done(&ptr)) {
252  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
253  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
254  CHK_(ptr);
255  switch (tag >> 3) {
256  // optional int64 tail_node_id = 1;
257  case 1:
258  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
260  tail_node_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
261  CHK_(ptr);
262  } else goto handle_unusual;
263  continue;
264  // optional int64 head_node_id = 2;
265  case 2:
266  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
268  head_node_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
269  CHK_(ptr);
270  } else goto handle_unusual;
271  continue;
272  // optional int64 capacity = 3 [default = 1];
273  case 3:
274  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
275  _Internal::set_has_capacity(&has_bits);
276  capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
277  CHK_(ptr);
278  } else goto handle_unusual;
279  continue;
280  // optional int64 unit_cost = 4 [default = 0];
281  case 4:
282  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
283  _Internal::set_has_unit_cost(&has_bits);
284  unit_cost_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
285  CHK_(ptr);
286  } else goto handle_unusual;
287  continue;
288  default: {
289  handle_unusual:
290  if ((tag & 7) == 4 || tag == 0) {
291  ctx->SetLastTag(tag);
292  goto success;
293  }
294  ptr = UnknownFieldParse(tag,
295  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
296  ptr, ctx);
297  CHK_(ptr != nullptr);
298  continue;
299  }
300  } // switch
301  } // while
302 success:
303  _has_bits_.Or(has_bits);
304  return ptr;
305 failure:
306  ptr = nullptr;
307  goto success;
308 #undef CHK_
309 }
310 
311 ::PROTOBUF_NAMESPACE_ID::uint8* Arc::_InternalSerialize(
312  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
313  // @@protoc_insertion_point(serialize_to_array_start:operations_research.Arc)
314  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
315  (void) cached_has_bits;
316 
317  cached_has_bits = _has_bits_[0];
318  // optional int64 tail_node_id = 1;
319  if (cached_has_bits & 0x00000001u) {
320  target = stream->EnsureSpace(target);
321  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_tail_node_id(), target);
322  }
323 
324  // optional int64 head_node_id = 2;
325  if (cached_has_bits & 0x00000002u) {
326  target = stream->EnsureSpace(target);
327  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_head_node_id(), target);
328  }
329 
330  // optional int64 capacity = 3 [default = 1];
331  if (cached_has_bits & 0x00000008u) {
332  target = stream->EnsureSpace(target);
333  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_capacity(), target);
334  }
335 
336  // optional int64 unit_cost = 4 [default = 0];
337  if (cached_has_bits & 0x00000004u) {
338  target = stream->EnsureSpace(target);
339  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->_internal_unit_cost(), target);
340  }
341 
342  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
343  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
344  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
345  }
346  // @@protoc_insertion_point(serialize_to_array_end:operations_research.Arc)
347  return target;
348 }
349 
350 size_t Arc::ByteSizeLong() const {
351 // @@protoc_insertion_point(message_byte_size_start:operations_research.Arc)
352  size_t total_size = 0;
353 
354  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
355  // Prevent compiler warnings about cached_has_bits being unused
356  (void) cached_has_bits;
357 
358  cached_has_bits = _has_bits_[0];
359  if (cached_has_bits & 0x0000000fu) {
360  // optional int64 tail_node_id = 1;
361  if (cached_has_bits & 0x00000001u) {
362  total_size += 1 +
363  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
364  this->_internal_tail_node_id());
365  }
366 
367  // optional int64 head_node_id = 2;
368  if (cached_has_bits & 0x00000002u) {
369  total_size += 1 +
370  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
371  this->_internal_head_node_id());
372  }
373 
374  // optional int64 unit_cost = 4 [default = 0];
375  if (cached_has_bits & 0x00000004u) {
376  total_size += 1 +
377  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
378  this->_internal_unit_cost());
379  }
380 
381  // optional int64 capacity = 3 [default = 1];
382  if (cached_has_bits & 0x00000008u) {
383  total_size += 1 +
384  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
385  this->_internal_capacity());
386  }
387 
388  }
389  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
390  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
391  _internal_metadata_, total_size, &_cached_size_);
392  }
393  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
394  SetCachedSize(cached_size);
395  return total_size;
396 }
397 
398 void Arc::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
399 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.Arc)
400  GOOGLE_DCHECK_NE(&from, this);
401  const Arc* source =
402  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Arc>(
403  &from);
404  if (source == nullptr) {
405  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.Arc)
406  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
407  } else {
408  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.Arc)
409  MergeFrom(*source);
410  }
411 }
412 
413 void Arc::MergeFrom(const Arc& from) {
414 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Arc)
415  GOOGLE_DCHECK_NE(&from, this);
416  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
417  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
418  (void) cached_has_bits;
419 
420  cached_has_bits = from._has_bits_[0];
421  if (cached_has_bits & 0x0000000fu) {
422  if (cached_has_bits & 0x00000001u) {
423  tail_node_id_ = from.tail_node_id_;
424  }
425  if (cached_has_bits & 0x00000002u) {
426  head_node_id_ = from.head_node_id_;
427  }
428  if (cached_has_bits & 0x00000004u) {
429  unit_cost_ = from.unit_cost_;
430  }
431  if (cached_has_bits & 0x00000008u) {
432  capacity_ = from.capacity_;
433  }
434  _has_bits_[0] |= cached_has_bits;
435  }
436 }
437 
438 void Arc::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
439 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.Arc)
440  if (&from == this) return;
441  Clear();
442  MergeFrom(from);
443 }
444 
445 void Arc::CopyFrom(const Arc& from) {
446 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Arc)
447  if (&from == this) return;
448  Clear();
449  MergeFrom(from);
450 }
451 
452 bool Arc::IsInitialized() const {
453  return true;
454 }
455 
456 void Arc::InternalSwap(Arc* other) {
457  using std::swap;
458  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
459  swap(_has_bits_[0], other->_has_bits_[0]);
460  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
461  PROTOBUF_FIELD_OFFSET(Arc, unit_cost_)
462  + sizeof(Arc::unit_cost_)
463  - PROTOBUF_FIELD_OFFSET(Arc, tail_node_id_)>(
464  reinterpret_cast<char*>(&tail_node_id_),
465  reinterpret_cast<char*>(&other->tail_node_id_));
466  swap(capacity_, other->capacity_);
467 }
468 
469 ::PROTOBUF_NAMESPACE_ID::Metadata Arc::GetMetadata() const {
470  return GetMetadataStatic();
471 }
472 
473 
474 // ===================================================================
475 
477  public:
478  using HasBits = decltype(std::declval<Node>()._has_bits_);
479  static void set_has_id(HasBits* has_bits) {
480  (*has_bits)[0] |= 1u;
481  }
482  static void set_has_supply(HasBits* has_bits) {
483  (*has_bits)[0] |= 2u;
484  }
485 };
486 
487 Node::Node(::PROTOBUF_NAMESPACE_ID::Arena* arena)
488  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
489  SharedCtor();
490  RegisterArenaDtor(arena);
491  // @@protoc_insertion_point(arena_constructor:operations_research.Node)
492 }
493 Node::Node(const Node& from)
494  : ::PROTOBUF_NAMESPACE_ID::Message(),
495  _has_bits_(from._has_bits_) {
496  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
497  ::memcpy(&id_, &from.id_,
498  static_cast<size_t>(reinterpret_cast<char*>(&supply_) -
499  reinterpret_cast<char*>(&id_)) + sizeof(supply_));
500  // @@protoc_insertion_point(copy_constructor:operations_research.Node)
501 }
502 
503 void Node::SharedCtor() {
504 ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
505  reinterpret_cast<char*>(&id_) - reinterpret_cast<char*>(this)),
506  0, static_cast<size_t>(reinterpret_cast<char*>(&supply_) -
507  reinterpret_cast<char*>(&id_)) + sizeof(supply_));
508 }
509 
510 Node::~Node() {
511  // @@protoc_insertion_point(destructor:operations_research.Node)
512  SharedDtor();
513  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
514 }
515 
516 void Node::SharedDtor() {
517  GOOGLE_DCHECK(GetArena() == nullptr);
518 }
519 
520 void Node::ArenaDtor(void* object) {
521  Node* _this = reinterpret_cast< Node* >(object);
522  (void)_this;
523 }
524 void Node::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
525 }
526 void Node::SetCachedSize(int size) const {
527  _cached_size_.Set(size);
528 }
529 
530 void Node::Clear() {
531 // @@protoc_insertion_point(message_clear_start:operations_research.Node)
532  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
533  // Prevent compiler warnings about cached_has_bits being unused
534  (void) cached_has_bits;
535 
536  cached_has_bits = _has_bits_[0];
537  if (cached_has_bits & 0x00000003u) {
538  ::memset(&id_, 0, static_cast<size_t>(
539  reinterpret_cast<char*>(&supply_) -
540  reinterpret_cast<char*>(&id_)) + sizeof(supply_));
541  }
542  _has_bits_.Clear();
543  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
544 }
545 
546 const char* Node::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
547 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
548  _Internal::HasBits has_bits{};
549  while (!ctx->Done(&ptr)) {
550  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
551  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
552  CHK_(ptr);
553  switch (tag >> 3) {
554  // optional int64 id = 1;
555  case 1:
556  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
557  _Internal::set_has_id(&has_bits);
558  id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
559  CHK_(ptr);
560  } else goto handle_unusual;
561  continue;
562  // optional int64 supply = 2 [default = 0];
563  case 2:
564  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
565  _Internal::set_has_supply(&has_bits);
566  supply_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
567  CHK_(ptr);
568  } else goto handle_unusual;
569  continue;
570  default: {
571  handle_unusual:
572  if ((tag & 7) == 4 || tag == 0) {
573  ctx->SetLastTag(tag);
574  goto success;
575  }
576  ptr = UnknownFieldParse(tag,
577  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
578  ptr, ctx);
579  CHK_(ptr != nullptr);
580  continue;
581  }
582  } // switch
583  } // while
584 success:
585  _has_bits_.Or(has_bits);
586  return ptr;
587 failure:
588  ptr = nullptr;
589  goto success;
590 #undef CHK_
591 }
592 
593 ::PROTOBUF_NAMESPACE_ID::uint8* Node::_InternalSerialize(
594  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
595  // @@protoc_insertion_point(serialize_to_array_start:operations_research.Node)
596  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
597  (void) cached_has_bits;
598 
599  cached_has_bits = _has_bits_[0];
600  // optional int64 id = 1;
601  if (cached_has_bits & 0x00000001u) {
602  target = stream->EnsureSpace(target);
603  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_id(), target);
604  }
605 
606  // optional int64 supply = 2 [default = 0];
607  if (cached_has_bits & 0x00000002u) {
608  target = stream->EnsureSpace(target);
609  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_supply(), target);
610  }
611 
612  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
613  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
614  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
615  }
616  // @@protoc_insertion_point(serialize_to_array_end:operations_research.Node)
617  return target;
618 }
619 
620 size_t Node::ByteSizeLong() const {
621 // @@protoc_insertion_point(message_byte_size_start:operations_research.Node)
622  size_t total_size = 0;
623 
624  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
625  // Prevent compiler warnings about cached_has_bits being unused
626  (void) cached_has_bits;
627 
628  cached_has_bits = _has_bits_[0];
629  if (cached_has_bits & 0x00000003u) {
630  // optional int64 id = 1;
631  if (cached_has_bits & 0x00000001u) {
632  total_size += 1 +
633  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
634  this->_internal_id());
635  }
636 
637  // optional int64 supply = 2 [default = 0];
638  if (cached_has_bits & 0x00000002u) {
639  total_size += 1 +
640  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
641  this->_internal_supply());
642  }
643 
644  }
645  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
646  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
647  _internal_metadata_, total_size, &_cached_size_);
648  }
649  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
650  SetCachedSize(cached_size);
651  return total_size;
652 }
653 
654 void Node::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
655 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.Node)
656  GOOGLE_DCHECK_NE(&from, this);
657  const Node* source =
658  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Node>(
659  &from);
660  if (source == nullptr) {
661  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.Node)
662  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
663  } else {
664  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.Node)
665  MergeFrom(*source);
666  }
667 }
668 
669 void Node::MergeFrom(const Node& from) {
670 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.Node)
671  GOOGLE_DCHECK_NE(&from, this);
672  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
673  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
674  (void) cached_has_bits;
675 
676  cached_has_bits = from._has_bits_[0];
677  if (cached_has_bits & 0x00000003u) {
678  if (cached_has_bits & 0x00000001u) {
679  id_ = from.id_;
680  }
681  if (cached_has_bits & 0x00000002u) {
682  supply_ = from.supply_;
683  }
684  _has_bits_[0] |= cached_has_bits;
685  }
686 }
687 
688 void Node::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
689 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.Node)
690  if (&from == this) return;
691  Clear();
692  MergeFrom(from);
693 }
694 
695 void Node::CopyFrom(const Node& from) {
696 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.Node)
697  if (&from == this) return;
698  Clear();
699  MergeFrom(from);
700 }
701 
702 bool Node::IsInitialized() const {
703  return true;
704 }
705 
706 void Node::InternalSwap(Node* other) {
707  using std::swap;
708  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
709  swap(_has_bits_[0], other->_has_bits_[0]);
710  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
711  PROTOBUF_FIELD_OFFSET(Node, supply_)
712  + sizeof(Node::supply_)
713  - PROTOBUF_FIELD_OFFSET(Node, id_)>(
714  reinterpret_cast<char*>(&id_),
715  reinterpret_cast<char*>(&other->id_));
716 }
717 
718 ::PROTOBUF_NAMESPACE_ID::Metadata Node::GetMetadata() const {
719  return GetMetadataStatic();
720 }
721 
722 
723 // ===================================================================
724 
726  public:
727  using HasBits = decltype(std::declval<FlowModel>()._has_bits_);
728  static void set_has_problem_type(HasBits* has_bits) {
729  (*has_bits)[0] |= 1u;
730  }
731 };
732 
733 FlowModel::FlowModel(::PROTOBUF_NAMESPACE_ID::Arena* arena)
734  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
735  node_(arena),
736  arc_(arena) {
737  SharedCtor();
738  RegisterArenaDtor(arena);
739  // @@protoc_insertion_point(arena_constructor:operations_research.FlowModel)
740 }
741 FlowModel::FlowModel(const FlowModel& from)
742  : ::PROTOBUF_NAMESPACE_ID::Message(),
743  _has_bits_(from._has_bits_),
744  node_(from.node_),
745  arc_(from.arc_) {
746  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
747  problem_type_ = from.problem_type_;
748  // @@protoc_insertion_point(copy_constructor:operations_research.FlowModel)
749 }
750 
751 void FlowModel::SharedCtor() {
752 problem_type_ = 2;
753 }
754 
755 FlowModel::~FlowModel() {
756  // @@protoc_insertion_point(destructor:operations_research.FlowModel)
757  SharedDtor();
758  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
759 }
760 
761 void FlowModel::SharedDtor() {
762  GOOGLE_DCHECK(GetArena() == nullptr);
763 }
764 
765 void FlowModel::ArenaDtor(void* object) {
766  FlowModel* _this = reinterpret_cast< FlowModel* >(object);
767  (void)_this;
768 }
769 void FlowModel::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
770 }
771 void FlowModel::SetCachedSize(int size) const {
772  _cached_size_.Set(size);
773 }
774 
775 void FlowModel::Clear() {
776 // @@protoc_insertion_point(message_clear_start:operations_research.FlowModel)
777  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
778  // Prevent compiler warnings about cached_has_bits being unused
779  (void) cached_has_bits;
780 
781  node_.Clear();
782  arc_.Clear();
783  problem_type_ = 2;
784  _has_bits_.Clear();
785  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
786 }
787 
788 const char* FlowModel::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
789 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
790  _Internal::HasBits has_bits{};
791  while (!ctx->Done(&ptr)) {
792  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
793  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
794  CHK_(ptr);
795  switch (tag >> 3) {
796  // repeated .operations_research.Node node = 1;
797  case 1:
798  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
799  ptr -= 1;
800  do {
801  ptr += 1;
802  ptr = ctx->ParseMessage(_internal_add_node(), ptr);
803  CHK_(ptr);
804  if (!ctx->DataAvailable(ptr)) break;
805  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
806  } else goto handle_unusual;
807  continue;
808  // repeated .operations_research.Arc arc = 2;
809  case 2:
810  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
811  ptr -= 1;
812  do {
813  ptr += 1;
814  ptr = ctx->ParseMessage(_internal_add_arc(), ptr);
815  CHK_(ptr);
816  if (!ctx->DataAvailable(ptr)) break;
817  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
818  } else goto handle_unusual;
819  continue;
820  // optional .operations_research.FlowModel.ProblemType problem_type = 3 [default = MIN_COST_FLOW];
821  case 3:
822  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
823  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
824  CHK_(ptr);
825  if (PROTOBUF_PREDICT_TRUE(::operations_research::FlowModel_ProblemType_IsValid(val))) {
826  _internal_set_problem_type(static_cast<::operations_research::FlowModel_ProblemType>(val));
827  } else {
828  ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(3, val, mutable_unknown_fields());
829  }
830  } else goto handle_unusual;
831  continue;
832  default: {
833  handle_unusual:
834  if ((tag & 7) == 4 || tag == 0) {
835  ctx->SetLastTag(tag);
836  goto success;
837  }
838  ptr = UnknownFieldParse(tag,
839  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
840  ptr, ctx);
841  CHK_(ptr != nullptr);
842  continue;
843  }
844  } // switch
845  } // while
846 success:
847  _has_bits_.Or(has_bits);
848  return ptr;
849 failure:
850  ptr = nullptr;
851  goto success;
852 #undef CHK_
853 }
854 
855 ::PROTOBUF_NAMESPACE_ID::uint8* FlowModel::_InternalSerialize(
856  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
857  // @@protoc_insertion_point(serialize_to_array_start:operations_research.FlowModel)
858  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
859  (void) cached_has_bits;
860 
861  // repeated .operations_research.Node node = 1;
862  for (unsigned int i = 0,
863  n = static_cast<unsigned int>(this->_internal_node_size()); i < n; i++) {
864  target = stream->EnsureSpace(target);
865  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
866  InternalWriteMessage(1, this->_internal_node(i), target, stream);
867  }
868 
869  // repeated .operations_research.Arc arc = 2;
870  for (unsigned int i = 0,
871  n = static_cast<unsigned int>(this->_internal_arc_size()); i < n; i++) {
872  target = stream->EnsureSpace(target);
873  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
874  InternalWriteMessage(2, this->_internal_arc(i), target, stream);
875  }
876 
877  cached_has_bits = _has_bits_[0];
878  // optional .operations_research.FlowModel.ProblemType problem_type = 3 [default = MIN_COST_FLOW];
879  if (cached_has_bits & 0x00000001u) {
880  target = stream->EnsureSpace(target);
881  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
882  3, this->_internal_problem_type(), target);
883  }
884 
885  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
886  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
887  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
888  }
889  // @@protoc_insertion_point(serialize_to_array_end:operations_research.FlowModel)
890  return target;
891 }
892 
893 size_t FlowModel::ByteSizeLong() const {
894 // @@protoc_insertion_point(message_byte_size_start:operations_research.FlowModel)
895  size_t total_size = 0;
896 
897  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
898  // Prevent compiler warnings about cached_has_bits being unused
899  (void) cached_has_bits;
900 
901  // repeated .operations_research.Node node = 1;
902  total_size += 1UL * this->_internal_node_size();
903  for (const auto& msg : this->node_) {
904  total_size +=
905  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
906  }
907 
908  // repeated .operations_research.Arc arc = 2;
909  total_size += 1UL * this->_internal_arc_size();
910  for (const auto& msg : this->arc_) {
911  total_size +=
912  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
913  }
914 
915  // optional .operations_research.FlowModel.ProblemType problem_type = 3 [default = MIN_COST_FLOW];
916  cached_has_bits = _has_bits_[0];
917  if (cached_has_bits & 0x00000001u) {
918  total_size += 1 +
919  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_problem_type());
920  }
921 
922  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
923  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
924  _internal_metadata_, total_size, &_cached_size_);
925  }
926  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
927  SetCachedSize(cached_size);
928  return total_size;
929 }
930 
931 void FlowModel::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
932 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.FlowModel)
933  GOOGLE_DCHECK_NE(&from, this);
934  const FlowModel* source =
935  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<FlowModel>(
936  &from);
937  if (source == nullptr) {
938  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.FlowModel)
939  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
940  } else {
941  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.FlowModel)
942  MergeFrom(*source);
943  }
944 }
945 
946 void FlowModel::MergeFrom(const FlowModel& from) {
947 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.FlowModel)
948  GOOGLE_DCHECK_NE(&from, this);
949  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
950  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
951  (void) cached_has_bits;
952 
953  node_.MergeFrom(from.node_);
954  arc_.MergeFrom(from.arc_);
955  if (from._internal_has_problem_type()) {
956  _internal_set_problem_type(from._internal_problem_type());
957  }
958 }
959 
960 void FlowModel::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
961 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.FlowModel)
962  if (&from == this) return;
963  Clear();
964  MergeFrom(from);
965 }
966 
967 void FlowModel::CopyFrom(const FlowModel& from) {
968 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.FlowModel)
969  if (&from == this) return;
970  Clear();
971  MergeFrom(from);
972 }
973 
974 bool FlowModel::IsInitialized() const {
975  return true;
976 }
977 
978 void FlowModel::InternalSwap(FlowModel* other) {
979  using std::swap;
980  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
981  swap(_has_bits_[0], other->_has_bits_[0]);
982  node_.InternalSwap(&other->node_);
983  arc_.InternalSwap(&other->arc_);
984  swap(problem_type_, other->problem_type_);
985 }
986 
987 ::PROTOBUF_NAMESPACE_ID::Metadata FlowModel::GetMetadata() const {
988  return GetMetadataStatic();
989 }
990 
991 
992 // @@protoc_insertion_point(namespace_scope)
993 } // namespace operations_research
994 PROTOBUF_NAMESPACE_OPEN
996  return Arena::CreateMessageInternal< ::operations_research::Arc >(arena);
997 }
998 template<> PROTOBUF_NOINLINE ::operations_research::Node* Arena::CreateMaybeMessage< ::operations_research::Node >(Arena* arena) {
999  return Arena::CreateMessageInternal< ::operations_research::Node >(arena);
1000 }
1001 template<> PROTOBUF_NOINLINE ::operations_research::FlowModel* Arena::CreateMaybeMessage< ::operations_research::FlowModel >(Arena* arena) {
1002  return Arena::CreateMessageInternal< ::operations_research::FlowModel >(arena);
1003 }
1004 PROTOBUF_NAMESPACE_CLOSE
1005 
1006 // @@protoc_insertion_point(global_scope)
1007 #include <google/protobuf/port_undef.inc>
static void set_has_capacity(HasBits *has_bits)
static void set_has_tail_node_id(HasBits *has_bits)
static void set_has_unit_cost(HasBits *has_bits)
static void set_has_head_node_id(HasBits *has_bits)
decltype(std::declval< Arc >()._has_bits_) HasBits
static void set_has_problem_type(HasBits *has_bits)
decltype(std::declval< FlowModel >()._has_bits_) HasBits
static void set_has_id(HasBits *has_bits)
decltype(std::declval< Node >()._has_bits_) HasBits
static void set_has_supply(HasBits *has_bits)
int64_t value
PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto_metadata_getter(int index)
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fgraph_2fflow_5fproblem_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
#define CHK_(x)
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::Arc * Arena::CreateMaybeMessage< ::operations_research::Arc >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
PROTOBUF_NOINLINE ::operations_research::Node * Arena::CreateMaybeMessage< ::operations_research::Node >(Arena *arena)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fgraph_2fflow_5fproblem_2eproto
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto_once
PROTOBUF_NOINLINE ::operations_research::FlowModel * Arena::CreateMaybeMessage< ::operations_research::FlowModel >(Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fgraph_2fflow_5fproblem_2eproto[1]
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fgraph_2fflow_5fproblem_2eproto[3]
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Definition: id_map.h:263
Collection of objects used to extend the Constraint Solver library.
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NodeDefaultTypeInternal _Node_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FlowModelDefaultTypeInternal _FlowModel_default_instance_
bool FlowModel_ProblemType_IsValid(int value)
std::pair< int64_t, int64_t > Arc
Definition: search.cc:3383
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ArcDefaultTypeInternal _Arc_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * FlowModel_ProblemType_descriptor()
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
int index
Definition: pack.cc:509
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]