C++ Reference

C++ Reference: Graph

flow_problem.pb.h
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 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fgraph_2fflow_5fproblem_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fgraph_2fflow_5fproblem_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3011000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3011002 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 // @@protoc_insertion_point(includes)
37 #include <google/protobuf/port_def.inc>
38 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fgraph_2fflow_5fproblem_2eproto
39 PROTOBUF_NAMESPACE_OPEN
40 namespace internal {
41 class AnyMetadata;
42 } // namespace internal
43 PROTOBUF_NAMESPACE_CLOSE
44 
45 // Internal implementation detail -- do not use these members.
47  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
48  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
49  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
50  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
51  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
52  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
53  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
54  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
55  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
56 };
57 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto;
58 namespace operations_research {
59 class Arc;
60 class ArcDefaultTypeInternal;
61 extern ArcDefaultTypeInternal _Arc_default_instance_;
62 class FlowModel;
63 class FlowModelDefaultTypeInternal;
64 extern FlowModelDefaultTypeInternal _FlowModel_default_instance_;
65 class Node;
66 class NodeDefaultTypeInternal;
67 extern NodeDefaultTypeInternal _Node_default_instance_;
68 } // namespace operations_research
69 PROTOBUF_NAMESPACE_OPEN
70 template<> ::operations_research::Arc* Arena::CreateMaybeMessage<::operations_research::Arc>(Arena*);
71 template<> ::operations_research::FlowModel* Arena::CreateMaybeMessage<::operations_research::FlowModel>(Arena*);
72 template<> ::operations_research::Node* Arena::CreateMaybeMessage<::operations_research::Node>(Arena*);
73 PROTOBUF_NAMESPACE_CLOSE
74 namespace operations_research {
75 
80 };
81 bool FlowModel_ProblemType_IsValid(int value);
85 
86 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FlowModel_ProblemType_descriptor();
87 template<typename T>
88 inline const std::string& FlowModel_ProblemType_Name(T enum_t_value) {
89  static_assert(::std::is_same<T, FlowModel_ProblemType>::value ||
90  ::std::is_integral<T>::value,
91  "Incorrect type passed to function FlowModel_ProblemType_Name.");
92  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
93  FlowModel_ProblemType_descriptor(), enum_t_value);
94 }
96  const std::string& name, FlowModel_ProblemType* value) {
97  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<FlowModel_ProblemType>(
98  FlowModel_ProblemType_descriptor(), name, value);
99 }
100 // ===================================================================
101 
102 class Arc :
103  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.Arc) */ {
104  public:
105  Arc();
106  virtual ~Arc();
107 
108  Arc(const Arc& from);
109  Arc(Arc&& from) noexcept
110  : Arc() {
111  *this = ::std::move(from);
112  }
113 
114  inline Arc& operator=(const Arc& from) {
115  CopyFrom(from);
116  return *this;
117  }
118  inline Arc& operator=(Arc&& from) noexcept {
119  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
120  if (this != &from) InternalSwap(&from);
121  } else {
122  CopyFrom(from);
123  }
124  return *this;
125  }
126 
127  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
128  return _internal_metadata_.unknown_fields();
129  }
130  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
131  return _internal_metadata_.mutable_unknown_fields();
132  }
133 
134  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
135  return GetDescriptor();
136  }
137  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
138  return GetMetadataStatic().descriptor;
139  }
140  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
141  return GetMetadataStatic().reflection;
142  }
143  static const Arc& default_instance();
144 
145  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
146  static inline const Arc* internal_default_instance() {
147  return reinterpret_cast<const Arc*>(
149  }
150  static constexpr int kIndexInFileMessages =
151  0;
152 
153  friend void swap(Arc& a, Arc& b) {
154  a.Swap(&b);
155  }
156  inline void Swap(Arc* other) {
157  if (other == this) return;
158  InternalSwap(other);
159  }
160 
161  // implements Message ----------------------------------------------
162 
163  inline Arc* New() const final {
164  return CreateMaybeMessage<Arc>(nullptr);
165  }
166 
167  Arc* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
168  return CreateMaybeMessage<Arc>(arena);
169  }
170  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
171  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
172  void CopyFrom(const Arc& from);
173  void MergeFrom(const Arc& from);
174  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
175  bool IsInitialized() const final;
176 
177  size_t ByteSizeLong() const final;
178  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
179  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
180  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
181  int GetCachedSize() const final { return _cached_size_.Get(); }
182 
183  private:
184  inline void SharedCtor();
185  inline void SharedDtor();
186  void SetCachedSize(int size) const final;
187  void InternalSwap(Arc* other);
188  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
189  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
190  return "operations_research.Arc";
191  }
192  private:
193  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
194  return nullptr;
195  }
196  inline void* MaybeArenaPtr() const {
197  return nullptr;
198  }
199  public:
200 
201  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
202  private:
203  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
204  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto);
206  }
207 
208  public:
209 
210  // nested types ----------------------------------------------------
211 
212  // accessors -------------------------------------------------------
213 
214  enum : int {
219  };
220  // optional int64 tail_node_id = 1;
221  bool has_tail_node_id() const;
222  private:
223  bool _internal_has_tail_node_id() const;
224  public:
225  void clear_tail_node_id();
226  ::PROTOBUF_NAMESPACE_ID::int64 tail_node_id() const;
227  void set_tail_node_id(::PROTOBUF_NAMESPACE_ID::int64 value);
228  private:
229  ::PROTOBUF_NAMESPACE_ID::int64 _internal_tail_node_id() const;
230  void _internal_set_tail_node_id(::PROTOBUF_NAMESPACE_ID::int64 value);
231  public:
232 
233  // optional int64 head_node_id = 2;
234  bool has_head_node_id() const;
235  private:
236  bool _internal_has_head_node_id() const;
237  public:
238  void clear_head_node_id();
239  ::PROTOBUF_NAMESPACE_ID::int64 head_node_id() const;
240  void set_head_node_id(::PROTOBUF_NAMESPACE_ID::int64 value);
241  private:
242  ::PROTOBUF_NAMESPACE_ID::int64 _internal_head_node_id() const;
243  void _internal_set_head_node_id(::PROTOBUF_NAMESPACE_ID::int64 value);
244  public:
245 
246  // optional int64 unit_cost = 4 [default = 0];
247  bool has_unit_cost() const;
248  private:
249  bool _internal_has_unit_cost() const;
250  public:
251  void clear_unit_cost();
252  ::PROTOBUF_NAMESPACE_ID::int64 unit_cost() const;
253  void set_unit_cost(::PROTOBUF_NAMESPACE_ID::int64 value);
254  private:
255  ::PROTOBUF_NAMESPACE_ID::int64 _internal_unit_cost() const;
256  void _internal_set_unit_cost(::PROTOBUF_NAMESPACE_ID::int64 value);
257  public:
258 
259  // optional int64 capacity = 3 [default = 1];
260  bool has_capacity() const;
261  private:
262  bool _internal_has_capacity() const;
263  public:
264  void clear_capacity();
265  ::PROTOBUF_NAMESPACE_ID::int64 capacity() const;
266  void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
267  private:
268  ::PROTOBUF_NAMESPACE_ID::int64 _internal_capacity() const;
269  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
270  public:
271 
272  // @@protoc_insertion_point(class_scope:operations_research.Arc)
273  private:
274  class _Internal;
275 
276  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
277  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
278  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
279  ::PROTOBUF_NAMESPACE_ID::int64 tail_node_id_;
280  ::PROTOBUF_NAMESPACE_ID::int64 head_node_id_;
281  ::PROTOBUF_NAMESPACE_ID::int64 unit_cost_;
282  ::PROTOBUF_NAMESPACE_ID::int64 capacity_;
283  friend struct ::TableStruct_ortools_2fgraph_2fflow_5fproblem_2eproto;
284 };
285 // -------------------------------------------------------------------
286 
287 class Node :
288  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.Node) */ {
289  public:
290  Node();
291  virtual ~Node();
292 
293  Node(const Node& from);
294  Node(Node&& from) noexcept
295  : Node() {
296  *this = ::std::move(from);
297  }
298 
299  inline Node& operator=(const Node& from) {
300  CopyFrom(from);
301  return *this;
302  }
303  inline Node& operator=(Node&& from) noexcept {
304  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
305  if (this != &from) InternalSwap(&from);
306  } else {
307  CopyFrom(from);
308  }
309  return *this;
310  }
311 
312  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
313  return _internal_metadata_.unknown_fields();
314  }
315  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
316  return _internal_metadata_.mutable_unknown_fields();
317  }
318 
319  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
320  return GetDescriptor();
321  }
322  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
323  return GetMetadataStatic().descriptor;
324  }
325  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
326  return GetMetadataStatic().reflection;
327  }
328  static const Node& default_instance();
329 
330  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
331  static inline const Node* internal_default_instance() {
332  return reinterpret_cast<const Node*>(
334  }
335  static constexpr int kIndexInFileMessages =
336  1;
337 
338  friend void swap(Node& a, Node& b) {
339  a.Swap(&b);
340  }
341  inline void Swap(Node* other) {
342  if (other == this) return;
343  InternalSwap(other);
344  }
345 
346  // implements Message ----------------------------------------------
347 
348  inline Node* New() const final {
349  return CreateMaybeMessage<Node>(nullptr);
350  }
351 
352  Node* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
353  return CreateMaybeMessage<Node>(arena);
354  }
355  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
356  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
357  void CopyFrom(const Node& from);
358  void MergeFrom(const Node& from);
359  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
360  bool IsInitialized() const final;
361 
362  size_t ByteSizeLong() const final;
363  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
364  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
365  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
366  int GetCachedSize() const final { return _cached_size_.Get(); }
367 
368  private:
369  inline void SharedCtor();
370  inline void SharedDtor();
371  void SetCachedSize(int size) const final;
372  void InternalSwap(Node* other);
373  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
374  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
375  return "operations_research.Node";
376  }
377  private:
378  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
379  return nullptr;
380  }
381  inline void* MaybeArenaPtr() const {
382  return nullptr;
383  }
384  public:
385 
386  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
387  private:
388  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
389  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto);
391  }
392 
393  public:
394 
395  // nested types ----------------------------------------------------
396 
397  // accessors -------------------------------------------------------
398 
399  enum : int {
402  };
403  // optional int64 id = 1;
404  bool has_id() const;
405  private:
406  bool _internal_has_id() const;
407  public:
408  void clear_id();
409  ::PROTOBUF_NAMESPACE_ID::int64 id() const;
410  void set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
411  private:
412  ::PROTOBUF_NAMESPACE_ID::int64 _internal_id() const;
413  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
414  public:
415 
416  // optional int64 supply = 2 [default = 0];
417  bool has_supply() const;
418  private:
419  bool _internal_has_supply() const;
420  public:
421  void clear_supply();
422  ::PROTOBUF_NAMESPACE_ID::int64 supply() const;
423  void set_supply(::PROTOBUF_NAMESPACE_ID::int64 value);
424  private:
425  ::PROTOBUF_NAMESPACE_ID::int64 _internal_supply() const;
426  void _internal_set_supply(::PROTOBUF_NAMESPACE_ID::int64 value);
427  public:
428 
429  // @@protoc_insertion_point(class_scope:operations_research.Node)
430  private:
431  class _Internal;
432 
433  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
434  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
435  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
436  ::PROTOBUF_NAMESPACE_ID::int64 id_;
437  ::PROTOBUF_NAMESPACE_ID::int64 supply_;
438  friend struct ::TableStruct_ortools_2fgraph_2fflow_5fproblem_2eproto;
439 };
440 // -------------------------------------------------------------------
441 
442 class FlowModel :
443  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.FlowModel) */ {
444  public:
445  FlowModel();
446  virtual ~FlowModel();
447 
448  FlowModel(const FlowModel& from);
449  FlowModel(FlowModel&& from) noexcept
450  : FlowModel() {
451  *this = ::std::move(from);
452  }
453 
454  inline FlowModel& operator=(const FlowModel& from) {
455  CopyFrom(from);
456  return *this;
457  }
458  inline FlowModel& operator=(FlowModel&& from) noexcept {
459  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
460  if (this != &from) InternalSwap(&from);
461  } else {
462  CopyFrom(from);
463  }
464  return *this;
465  }
466 
467  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
468  return _internal_metadata_.unknown_fields();
469  }
470  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
471  return _internal_metadata_.mutable_unknown_fields();
472  }
473 
474  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
475  return GetDescriptor();
476  }
477  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
478  return GetMetadataStatic().descriptor;
479  }
480  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
481  return GetMetadataStatic().reflection;
482  }
483  static const FlowModel& default_instance();
484 
485  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
486  static inline const FlowModel* internal_default_instance() {
487  return reinterpret_cast<const FlowModel*>(
489  }
490  static constexpr int kIndexInFileMessages =
491  2;
492 
493  friend void swap(FlowModel& a, FlowModel& b) {
494  a.Swap(&b);
495  }
496  inline void Swap(FlowModel* other) {
497  if (other == this) return;
498  InternalSwap(other);
499  }
500 
501  // implements Message ----------------------------------------------
502 
503  inline FlowModel* New() const final {
504  return CreateMaybeMessage<FlowModel>(nullptr);
505  }
506 
507  FlowModel* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
508  return CreateMaybeMessage<FlowModel>(arena);
509  }
510  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
511  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
512  void CopyFrom(const FlowModel& from);
513  void MergeFrom(const FlowModel& from);
514  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
515  bool IsInitialized() const final;
516 
517  size_t ByteSizeLong() const final;
518  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
519  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
520  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
521  int GetCachedSize() const final { return _cached_size_.Get(); }
522 
523  private:
524  inline void SharedCtor();
525  inline void SharedDtor();
526  void SetCachedSize(int size) const final;
527  void InternalSwap(FlowModel* other);
528  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
529  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
530  return "operations_research.FlowModel";
531  }
532  private:
533  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
534  return nullptr;
535  }
536  inline void* MaybeArenaPtr() const {
537  return nullptr;
538  }
539  public:
540 
541  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
542  private:
543  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
544  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto);
546  }
547 
548  public:
549 
550  // nested types ----------------------------------------------------
551 
555  static constexpr ProblemType MAX_FLOW =
557  static constexpr ProblemType MIN_COST_FLOW =
559  static inline bool ProblemType_IsValid(int value) {
560  return FlowModel_ProblemType_IsValid(value);
561  }
562  static constexpr ProblemType ProblemType_MIN =
564  static constexpr ProblemType ProblemType_MAX =
566  static constexpr int ProblemType_ARRAYSIZE =
568  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
571  }
572  template<typename T>
573  static inline const std::string& ProblemType_Name(T enum_t_value) {
574  static_assert(::std::is_same<T, ProblemType>::value ||
575  ::std::is_integral<T>::value,
576  "Incorrect type passed to function ProblemType_Name.");
577  return FlowModel_ProblemType_Name(enum_t_value);
578  }
579  static inline bool ProblemType_Parse(const std::string& name,
580  ProblemType* value) {
581  return FlowModel_ProblemType_Parse(name, value);
582  }
583 
584  // accessors -------------------------------------------------------
585 
586  enum : int {
590  };
591  // repeated .operations_research.Node node = 1;
592  int node_size() const;
593  private:
594  int _internal_node_size() const;
595  public:
596  void clear_node();
598  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Node >*
599  mutable_node();
600  private:
601  const ::operations_research::Node& _internal_node(int index) const;
602  ::operations_research::Node* _internal_add_node();
603  public:
604  const ::operations_research::Node& node(int index) const;
606  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Node >&
607  node() const;
608 
609  // repeated .operations_research.Arc arc = 2;
610  int arc_size() const;
611  private:
612  int _internal_arc_size() const;
613  public:
614  void clear_arc();
616  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Arc >*
617  mutable_arc();
618  private:
619  const ::operations_research::Arc& _internal_arc(int index) const;
620  ::operations_research::Arc* _internal_add_arc();
621  public:
622  const ::operations_research::Arc& arc(int index) const;
624  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Arc >&
625  arc() const;
626 
627  // optional .operations_research.FlowModel.ProblemType problem_type = 3 [default = MIN_COST_FLOW];
628  bool has_problem_type() const;
629  private:
630  bool _internal_has_problem_type() const;
631  public:
632  void clear_problem_type();
635  private:
636  ::operations_research::FlowModel_ProblemType _internal_problem_type() const;
637  void _internal_set_problem_type(::operations_research::FlowModel_ProblemType value);
638  public:
639 
640  // @@protoc_insertion_point(class_scope:operations_research.FlowModel)
641  private:
642  class _Internal;
643 
644  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
645  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
646  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
647  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Node > node_;
648  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Arc > arc_;
649  int problem_type_;
650  friend struct ::TableStruct_ortools_2fgraph_2fflow_5fproblem_2eproto;
651 };
652 // ===================================================================
653 
654 
655 // ===================================================================
656 
657 #ifdef __GNUC__
658  #pragma GCC diagnostic push
659  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
660 #endif // __GNUC__
661 // Arc
662 
663 // optional int64 tail_node_id = 1;
664 inline bool Arc::_internal_has_tail_node_id() const {
665  bool value = (_has_bits_[0] & 0x00000001u) != 0;
666  return value;
667 }
668 inline bool Arc::has_tail_node_id() const {
669  return _internal_has_tail_node_id();
670 }
671 inline void Arc::clear_tail_node_id() {
672  tail_node_id_ = PROTOBUF_LONGLONG(0);
673  _has_bits_[0] &= ~0x00000001u;
674 }
675 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::_internal_tail_node_id() const {
676  return tail_node_id_;
677 }
678 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::tail_node_id() const {
679  // @@protoc_insertion_point(field_get:operations_research.Arc.tail_node_id)
680  return _internal_tail_node_id();
681 }
682 inline void Arc::_internal_set_tail_node_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
683  _has_bits_[0] |= 0x00000001u;
684  tail_node_id_ = value;
685 }
686 inline void Arc::set_tail_node_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
687  _internal_set_tail_node_id(value);
688  // @@protoc_insertion_point(field_set:operations_research.Arc.tail_node_id)
689 }
690 
691 // optional int64 head_node_id = 2;
692 inline bool Arc::_internal_has_head_node_id() const {
693  bool value = (_has_bits_[0] & 0x00000002u) != 0;
694  return value;
695 }
696 inline bool Arc::has_head_node_id() const {
697  return _internal_has_head_node_id();
698 }
699 inline void Arc::clear_head_node_id() {
700  head_node_id_ = PROTOBUF_LONGLONG(0);
701  _has_bits_[0] &= ~0x00000002u;
702 }
703 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::_internal_head_node_id() const {
704  return head_node_id_;
705 }
706 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::head_node_id() const {
707  // @@protoc_insertion_point(field_get:operations_research.Arc.head_node_id)
708  return _internal_head_node_id();
709 }
710 inline void Arc::_internal_set_head_node_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
711  _has_bits_[0] |= 0x00000002u;
712  head_node_id_ = value;
713 }
714 inline void Arc::set_head_node_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
715  _internal_set_head_node_id(value);
716  // @@protoc_insertion_point(field_set:operations_research.Arc.head_node_id)
717 }
718 
719 // optional int64 capacity = 3 [default = 1];
720 inline bool Arc::_internal_has_capacity() const {
721  bool value = (_has_bits_[0] & 0x00000008u) != 0;
722  return value;
723 }
724 inline bool Arc::has_capacity() const {
725  return _internal_has_capacity();
726 }
727 inline void Arc::clear_capacity() {
728  capacity_ = PROTOBUF_LONGLONG(1);
729  _has_bits_[0] &= ~0x00000008u;
730 }
731 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::_internal_capacity() const {
732  return capacity_;
733 }
734 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::capacity() const {
735  // @@protoc_insertion_point(field_get:operations_research.Arc.capacity)
736  return _internal_capacity();
737 }
738 inline void Arc::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
739  _has_bits_[0] |= 0x00000008u;
740  capacity_ = value;
741 }
742 inline void Arc::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
743  _internal_set_capacity(value);
744  // @@protoc_insertion_point(field_set:operations_research.Arc.capacity)
745 }
746 
747 // optional int64 unit_cost = 4 [default = 0];
748 inline bool Arc::_internal_has_unit_cost() const {
749  bool value = (_has_bits_[0] & 0x00000004u) != 0;
750  return value;
751 }
752 inline bool Arc::has_unit_cost() const {
753  return _internal_has_unit_cost();
754 }
755 inline void Arc::clear_unit_cost() {
756  unit_cost_ = PROTOBUF_LONGLONG(0);
757  _has_bits_[0] &= ~0x00000004u;
758 }
759 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::_internal_unit_cost() const {
760  return unit_cost_;
761 }
762 inline ::PROTOBUF_NAMESPACE_ID::int64 Arc::unit_cost() const {
763  // @@protoc_insertion_point(field_get:operations_research.Arc.unit_cost)
764  return _internal_unit_cost();
765 }
766 inline void Arc::_internal_set_unit_cost(::PROTOBUF_NAMESPACE_ID::int64 value) {
767  _has_bits_[0] |= 0x00000004u;
768  unit_cost_ = value;
769 }
770 inline void Arc::set_unit_cost(::PROTOBUF_NAMESPACE_ID::int64 value) {
771  _internal_set_unit_cost(value);
772  // @@protoc_insertion_point(field_set:operations_research.Arc.unit_cost)
773 }
774 
775 // -------------------------------------------------------------------
776 
777 // Node
778 
779 // optional int64 id = 1;
780 inline bool Node::_internal_has_id() const {
781  bool value = (_has_bits_[0] & 0x00000001u) != 0;
782  return value;
783 }
784 inline bool Node::has_id() const {
785  return _internal_has_id();
786 }
787 inline void Node::clear_id() {
788  id_ = PROTOBUF_LONGLONG(0);
789  _has_bits_[0] &= ~0x00000001u;
790 }
791 inline ::PROTOBUF_NAMESPACE_ID::int64 Node::_internal_id() const {
792  return id_;
793 }
794 inline ::PROTOBUF_NAMESPACE_ID::int64 Node::id() const {
795  // @@protoc_insertion_point(field_get:operations_research.Node.id)
796  return _internal_id();
797 }
798 inline void Node::_internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
799  _has_bits_[0] |= 0x00000001u;
800  id_ = value;
801 }
802 inline void Node::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
803  _internal_set_id(value);
804  // @@protoc_insertion_point(field_set:operations_research.Node.id)
805 }
806 
807 // optional int64 supply = 2 [default = 0];
808 inline bool Node::_internal_has_supply() const {
809  bool value = (_has_bits_[0] & 0x00000002u) != 0;
810  return value;
811 }
812 inline bool Node::has_supply() const {
813  return _internal_has_supply();
814 }
815 inline void Node::clear_supply() {
816  supply_ = PROTOBUF_LONGLONG(0);
817  _has_bits_[0] &= ~0x00000002u;
818 }
819 inline ::PROTOBUF_NAMESPACE_ID::int64 Node::_internal_supply() const {
820  return supply_;
821 }
822 inline ::PROTOBUF_NAMESPACE_ID::int64 Node::supply() const {
823  // @@protoc_insertion_point(field_get:operations_research.Node.supply)
824  return _internal_supply();
825 }
826 inline void Node::_internal_set_supply(::PROTOBUF_NAMESPACE_ID::int64 value) {
827  _has_bits_[0] |= 0x00000002u;
828  supply_ = value;
829 }
830 inline void Node::set_supply(::PROTOBUF_NAMESPACE_ID::int64 value) {
831  _internal_set_supply(value);
832  // @@protoc_insertion_point(field_set:operations_research.Node.supply)
833 }
834 
835 // -------------------------------------------------------------------
836 
837 // FlowModel
838 
839 // repeated .operations_research.Node node = 1;
840 inline int FlowModel::_internal_node_size() const {
841  return node_.size();
842 }
843 inline int FlowModel::node_size() const {
844  return _internal_node_size();
845 }
846 inline void FlowModel::clear_node() {
847  node_.Clear();
848 }
849 inline ::operations_research::Node* FlowModel::mutable_node(int index) {
850  // @@protoc_insertion_point(field_mutable:operations_research.FlowModel.node)
851  return node_.Mutable(index);
852 }
853 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Node >*
855  // @@protoc_insertion_point(field_mutable_list:operations_research.FlowModel.node)
856  return &node_;
857 }
858 inline const ::operations_research::Node& FlowModel::_internal_node(int index) const {
859  return node_.Get(index);
860 }
861 inline const ::operations_research::Node& FlowModel::node(int index) const {
862  // @@protoc_insertion_point(field_get:operations_research.FlowModel.node)
863  return _internal_node(index);
864 }
865 inline ::operations_research::Node* FlowModel::_internal_add_node() {
866  return node_.Add();
867 }
868 inline ::operations_research::Node* FlowModel::add_node() {
869  // @@protoc_insertion_point(field_add:operations_research.FlowModel.node)
870  return _internal_add_node();
871 }
872 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Node >&
874  // @@protoc_insertion_point(field_list:operations_research.FlowModel.node)
875  return node_;
876 }
877 
878 // repeated .operations_research.Arc arc = 2;
879 inline int FlowModel::_internal_arc_size() const {
880  return arc_.size();
881 }
882 inline int FlowModel::arc_size() const {
883  return _internal_arc_size();
884 }
885 inline void FlowModel::clear_arc() {
886  arc_.Clear();
887 }
888 inline ::operations_research::Arc* FlowModel::mutable_arc(int index) {
889  // @@protoc_insertion_point(field_mutable:operations_research.FlowModel.arc)
890  return arc_.Mutable(index);
891 }
892 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Arc >*
894  // @@protoc_insertion_point(field_mutable_list:operations_research.FlowModel.arc)
895  return &arc_;
896 }
897 inline const ::operations_research::Arc& FlowModel::_internal_arc(int index) const {
898  return arc_.Get(index);
899 }
900 inline const ::operations_research::Arc& FlowModel::arc(int index) const {
901  // @@protoc_insertion_point(field_get:operations_research.FlowModel.arc)
902  return _internal_arc(index);
903 }
904 inline ::operations_research::Arc* FlowModel::_internal_add_arc() {
905  return arc_.Add();
906 }
907 inline ::operations_research::Arc* FlowModel::add_arc() {
908  // @@protoc_insertion_point(field_add:operations_research.FlowModel.arc)
909  return _internal_add_arc();
910 }
911 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Arc >&
912 FlowModel::arc() const {
913  // @@protoc_insertion_point(field_list:operations_research.FlowModel.arc)
914  return arc_;
915 }
916 
917 // optional .operations_research.FlowModel.ProblemType problem_type = 3 [default = MIN_COST_FLOW];
918 inline bool FlowModel::_internal_has_problem_type() const {
919  bool value = (_has_bits_[0] & 0x00000001u) != 0;
920  return value;
921 }
922 inline bool FlowModel::has_problem_type() const {
923  return _internal_has_problem_type();
924 }
926  problem_type_ = 2;
927  _has_bits_[0] &= ~0x00000001u;
928 }
929 inline ::operations_research::FlowModel_ProblemType FlowModel::_internal_problem_type() const {
930  return static_cast< ::operations_research::FlowModel_ProblemType >(problem_type_);
931 }
933  // @@protoc_insertion_point(field_get:operations_research.FlowModel.problem_type)
934  return _internal_problem_type();
935 }
936 inline void FlowModel::_internal_set_problem_type(::operations_research::FlowModel_ProblemType value) {
938  _has_bits_[0] |= 0x00000001u;
939  problem_type_ = value;
940 }
942  _internal_set_problem_type(value);
943  // @@protoc_insertion_point(field_set:operations_research.FlowModel.problem_type)
944 }
945 
946 #ifdef __GNUC__
947  #pragma GCC diagnostic pop
948 #endif // __GNUC__
949 // -------------------------------------------------------------------
950 
951 // -------------------------------------------------------------------
952 
953 
954 // @@protoc_insertion_point(namespace_scope)
955 
956 } // namespace operations_research
957 
958 PROTOBUF_NAMESPACE_OPEN
959 
960 template <> struct is_proto_enum< ::operations_research::FlowModel_ProblemType> : ::std::true_type {};
961 template <>
962 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::FlowModel_ProblemType>() {
964 }
965 
966 PROTOBUF_NAMESPACE_CLOSE
967 
968 // @@protoc_insertion_point(global_scope)
969 
970 #include <google/protobuf/port_undef.inc>
971 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fgraph_2fflow_5fproblem_2eproto
Arc & operator=(Arc &&from) noexcept
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ProblemType_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
FlowModel_ProblemType
bool FlowModel_ProblemType_Parse(const std::string &name, FlowModel_ProblemType *value)
virtual ~FlowModel()
friend void swap(Node &a, Node &b)
int arc_size() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Node()
FlowModel(FlowModel &&from) noexcept
static constexpr ProblemType ProblemType_MIN
Arc * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static constexpr ProblemType ProblemType_MAX
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * FlowModel_ProblemType_descriptor()
Node & operator=(const Node &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
NodeDefaultTypeInternal _Node_default_instance_
static constexpr int kIndexInFileMessages
FlowModel * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
FlowModel_ProblemType ProblemType
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
Node * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::operations_research::Arc * add_arc()
Arc * New() const final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const std::string & FlowModel_ProblemType_Name(T enum_t_value)
FlowModelDefaultTypeInternal _FlowModel_default_instance_
static const FlowModel * internal_default_instance()
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::int64 tail_node_id() const
bool has_supply() const
Arc(Arc &&from) noexcept
Definition: christofides.h:33
constexpr int FlowModel_ProblemType_ProblemType_ARRAYSIZE
virtual ~Arc()
friend void swap(Arc &a, Arc &b)
FlowModel & operator=(FlowModel &&from) noexcept
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fgraph_2fflow_5fproblem_2eproto
::operations_research::Node * add_node()
static const Arc * internal_default_instance()
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_supply(::PROTOBUF_NAMESPACE_ID::int64 value)
ArcDefaultTypeInternal _Arc_default_instance_
::PROTOBUF_NAMESPACE_ID::int64 id() const
static constexpr int kIndexInFileMessages
void clear_unit_cost()
static const Node * internal_default_instance()
void Swap(Arc *other)
void clear_head_node_id()
constexpr FlowModel_ProblemType FlowModel_ProblemType_ProblemType_MAX
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
::PROTOBUF_NAMESPACE_ID::int64 head_node_id() const
void Swap(Node *other)
void clear_problem_type()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Arc > & arc() const
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
size_t ByteSizeLong() const final
static constexpr ProblemType MAX_FLOW
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_capacity()
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Node > * mutable_node()
bool FlowModel_ProblemType_IsValid(int value)
void clear_id()
Node * New() const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Node > & node() const
static constexpr ProblemType MIN_COST_FLOW
static constexpr int ProblemType_ARRAYSIZE
void clear_tail_node_id()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
size_t ByteSizeLong() const final
bool IsInitialized() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const std::string & ProblemType_Name(T enum_t_value)
void set_id(::PROTOBUF_NAMESPACE_ID::int64 value)
bool IsInitialized() const final
static void InitAsDefaultInstance()
static const FlowModel & default_instance()
void clear_supply()
Node & operator=(Node &&from) noexcept
void set_unit_cost(::PROTOBUF_NAMESPACE_ID::int64 value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
friend void swap(FlowModel &a, FlowModel &b)
::operations_research::FlowModel_ProblemType problem_type() const
int GetCachedSize() const final
FlowModel & operator=(const FlowModel &from)
::PROTOBUF_NAMESPACE_ID::int64 capacity() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Node(Node &&from) noexcept
bool IsInitialized() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static void InitAsDefaultInstance()
void Swap(FlowModel *other)
FlowModel()
static const Node & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
bool has_capacity() const
::PROTOBUF_NAMESPACE_ID::int64 unit_cost() const
bool has_problem_type() const
void set_head_node_id(::PROTOBUF_NAMESPACE_ID::int64 value)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const Arc & default_instance()
static bool ProblemType_IsValid(int value)
size_t ByteSizeLong() const final
::PROTOBUF_NAMESPACE_ID::int64 supply() const
void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
int GetCachedSize() const final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
bool has_unit_cost() const
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
int GetCachedSize() const final
static constexpr ProblemType LINEAR_SUM_ASSIGNMENT
void clear_arc()
Arc & operator=(const Arc &from)
static constexpr int kIndexInFileMessages
constexpr FlowModel_ProblemType FlowModel_ProblemType_ProblemType_MIN
bool has_id() const
static bool ProblemType_Parse(const std::string &name, ProblemType *value)
FlowModel * New() const final
void clear_node()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::Arc > * mutable_arc()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
Arc()
void set_problem_type(::operations_research::FlowModel_ProblemType value)
bool has_head_node_id() const
int node_size() const
bool has_tail_node_id() const
static void InitAsDefaultInstance()
void set_tail_node_id(::PROTOBUF_NAMESPACE_ID::int64 value)
virtual ~Node()