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