LinearSumAssignment.cs
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // <auto-generated />
3 //
4 // This file was automatically generated by SWIG (http://www.swig.org).
5 // Version 3.0.12
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 
12 
13 public 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 
27  Dispose();
28  }
29 
30  public virtual void Dispose() {
31  lock(this) {
32  if (swigCPtr.Handle != global::System.IntPtr.Zero) {
33  if (swigCMemOwn) {
34  swigCMemOwn = false;
36  }
37  swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
38  }
39  global::System.GC.SuppressFinalize(this);
40  }
41  }
42 
43  public LinearSumAssignment() : this(operations_research_graphPINVOKE.new_LinearSumAssignment(), true) {
44  }
45 
46  public int AddArcWithCost(int left_node, int right_node, long cost) {
47  int ret = operations_research_graphPINVOKE.LinearSumAssignment_AddArcWithCost(swigCPtr, left_node, right_node, cost);
48  return ret;
49  }
50 
51  public int NumNodes() {
53  return ret;
54  }
55 
56  public int NumArcs() {
58  return ret;
59  }
60 
61  public int LeftNode(int arc) {
63  return ret;
64  }
65 
66  public int RightNode(int arc) {
68  return ret;
69  }
70 
71  public long Cost(int arc) {
73  return ret;
74  }
75 
78  return ret;
79  }
80 
81  public long OptimalCost() {
83  return ret;
84  }
85 
86  public int RightMate(int left_node) {
88  return ret;
89  }
90 
91  public long AssignmentCost(int left_node) {
93  return ret;
94  }
95 
96  public enum Status {
97  OPTIMAL,
98  INFEASIBLE,
99  POSSIBLE_OVERFLOW
100  }
101 
102 }
103 
104 }
static int LinearSumAssignment_NumNodes(global::System.Runtime.InteropServices.HandleRef jarg1)
static void delete_LinearSumAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
static long LinearSumAssignment_AssignmentCost(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int LinearSumAssignment_RightMate(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int LinearSumAssignment_AddArcWithCost(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, long jarg4)
static int LinearSumAssignment_NumArcs(global::System.Runtime.InteropServices.HandleRef jarg1)
static long LinearSumAssignment_OptimalCost(global::System.Runtime.InteropServices.HandleRef jarg1)
static int LinearSumAssignment_Solve(global::System.Runtime.InteropServices.HandleRef jarg1)
static int LinearSumAssignment_LeftNode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
int AddArcWithCost(int left_node, int right_node, long cost)
static long LinearSumAssignment_Cost(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int LinearSumAssignment_RightNode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)