Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
LinearSumAssignment.cs
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// <auto-generated />
3//
4// This file was automatically generated by SWIG (https://www.swig.org).
5// Version 4.2.1
6//
7// Do not make changes to this file unless you know what you are doing - modify
8// the SWIG interface file instead.
9//------------------------------------------------------------------------------
10
11namespace Google.OrTools.Graph {
12
13public class LinearSumAssignment : global::System.IDisposable {
14 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
15 protected bool swigCMemOwn;
16
17 internal LinearSumAssignment(global::System.IntPtr cPtr, bool cMemoryOwn) {
18 swigCMemOwn = cMemoryOwn;
19 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
20 }
21
22 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LinearSumAssignment obj) {
23 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
24 }
25
26 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(LinearSumAssignment obj) {
27 if (obj != null) {
28 if (!obj.swigCMemOwn)
29 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
30 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
31 obj.swigCMemOwn = false;
32 obj.Dispose();
33 return ptr;
34 } else {
35 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
36 }
37 }
38
39 ~LinearSumAssignment() {
40 Dispose(false);
41 }
42
43 public void Dispose() {
44 Dispose(true);
45 global::System.GC.SuppressFinalize(this);
46 }
47
48 protected virtual void Dispose(bool disposing) {
49 lock(this) {
50 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
51 if (swigCMemOwn) {
52 swigCMemOwn = false;
54 }
55 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
56 }
57 }
58 }
59
60 public LinearSumAssignment() : this(operations_research_graphPINVOKE.new_LinearSumAssignment(), true) {
61 }
63 public int AddArcWithCost(int left_node, int right_node, long cost) {
64 int ret = operations_research_graphPINVOKE.LinearSumAssignment_AddArcWithCost(swigCPtr, left_node, right_node, cost);
65 return ret;
66 }
67
68 public int NumNodes() {
70 return ret;
71 }
72
73 public int NumArcs() {
75 return ret;
76 }
77
78 public int LeftNode(int arc) {
80 return ret;
81 }
82
83 public int RightNode(int arc) {
85 return ret;
86 }
87
88 public long Cost(int arc) {
90 return ret;
91 }
92
95 return ret;
96 }
97
98 public long OptimalCost() {
100 return ret;
101 }
102
103 public int RightMate(int left_node) {
105 return ret;
106 }
107
108 public long AssignmentCost(int left_node) {
110 return ret;
111 }
112
113 public enum Status {
114 OPTIMAL,
117 }
118
119}
120
121}
int AddArcWithCost(int left_node, int right_node, long cost)
static int LinearSumAssignment_Solve(global::System.Runtime.InteropServices.HandleRef jarg1)
static long LinearSumAssignment_Cost(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int LinearSumAssignment_NumArcs(global::System.Runtime.InteropServices.HandleRef jarg1)
static int LinearSumAssignment_RightMate(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void delete_LinearSumAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
static int LinearSumAssignment_AddArcWithCost(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, long jarg4)
static long LinearSumAssignment_OptimalCost(global::System.Runtime.InteropServices.HandleRef jarg1)
static int LinearSumAssignment_NumNodes(global::System.Runtime.InteropServices.HandleRef jarg1)
static int LinearSumAssignment_LeftNode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long LinearSumAssignment_AssignmentCost(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int LinearSumAssignment_RightNode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)