DotNet Reference

DotNet Reference

algorithms/IntVectorVector.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 4.0.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 
11 namespace Google.OrTools.Algorithms {
12 
13 public class IntVectorVector : global::System.IDisposable, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerable<IntVector>
14  {
15  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
16  protected bool swigCMemOwn;
17 
18  internal IntVectorVector(global::System.IntPtr cPtr, bool cMemoryOwn) {
19  swigCMemOwn = cMemoryOwn;
20  swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
21  }
22 
23  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(IntVectorVector obj) {
24  return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
25  }
26 
27  ~IntVectorVector() {
28  Dispose(false);
29  }
30 
31  public void Dispose() {
32  Dispose(true);
33  global::System.GC.SuppressFinalize(this);
34  }
35 
36  protected virtual void Dispose(bool disposing) {
37  lock(this) {
38  if (swigCPtr.Handle != global::System.IntPtr.Zero) {
39  if (swigCMemOwn) {
40  swigCMemOwn = false;
42  }
43  swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
44  }
45  }
46  }
47 
48  public IntVectorVector(global::System.Collections.IEnumerable c) : this() {
49  if (c == null)
50  throw new global::System.ArgumentNullException("c");
51  foreach (IntVector element in c) {
52  this.Add(element);
53  }
54  }
55 
56  public IntVectorVector(global::System.Collections.Generic.IEnumerable<IntVector> c) : this() {
57  if (c == null)
58  throw new global::System.ArgumentNullException("c");
59  foreach (IntVector element in c) {
60  this.Add(element);
61  }
62  }
63 
64  public bool IsFixedSize {
65  get {
66  return false;
67  }
68  }
69 
70  public bool IsReadOnly {
71  get {
72  return false;
73  }
74  }
75 
76  public IntVector this[int index] {
77  get {
78  return getitem(index);
79  }
80  set {
81  setitem(index, value);
82  }
83  }
84 
85  public int Capacity {
86  get {
87  return (int)capacity();
88  }
89  set {
90  if (value < size())
91  throw new global::System.ArgumentOutOfRangeException("Capacity");
92  reserve((uint)value);
93  }
94  }
95 
96  public int Count {
97  get {
98  return (int)size();
99  }
100  }
101 
102  public bool IsSynchronized {
103  get {
104  return false;
105  }
106  }
107 
108  public void CopyTo(IntVector[] array)
109  {
110  CopyTo(0, array, 0, this.Count);
111  }
112 
113  public void CopyTo(IntVector[] array, int arrayIndex)
114  {
115  CopyTo(0, array, arrayIndex, this.Count);
116  }
117 
118  public void CopyTo(int index, IntVector[] array, int arrayIndex, int count)
119  {
120  if (array == null)
121  throw new global::System.ArgumentNullException("array");
122  if (index < 0)
123  throw new global::System.ArgumentOutOfRangeException("index", "Value is less than zero");
124  if (arrayIndex < 0)
125  throw new global::System.ArgumentOutOfRangeException("arrayIndex", "Value is less than zero");
126  if (count < 0)
127  throw new global::System.ArgumentOutOfRangeException("count", "Value is less than zero");
128  if (array.Rank > 1)
129  throw new global::System.ArgumentException("Multi dimensional array.", "array");
130  if (index+count > this.Count || arrayIndex+count > array.Length)
131  throw new global::System.ArgumentException("Number of elements to copy is too large.");
132  for (int i=0; i<count; i++)
133  array.SetValue(getitemcopy(index+i), arrayIndex+i);
134  }
135 
136  public IntVector[] ToArray() {
137  IntVector[] array = new IntVector[this.Count];
138  this.CopyTo(array);
139  return array;
140  }
141 
142  global::System.Collections.Generic.IEnumerator<IntVector> global::System.Collections.Generic.IEnumerable<IntVector>.GetEnumerator() {
143  return new IntVectorVectorEnumerator(this);
144  }
145 
146  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
147  return new IntVectorVectorEnumerator(this);
148  }
149 
151  return new IntVectorVectorEnumerator(this);
152  }
153 
154  // Type-safe enumerator
159  public sealed class IntVectorVectorEnumerator : global::System.Collections.IEnumerator
160  , global::System.Collections.Generic.IEnumerator<IntVector>
161  {
162  private IntVectorVector collectionRef;
163  private int currentIndex;
164  private object currentObject;
165  private int currentSize;
166 
168  collectionRef = collection;
169  currentIndex = -1;
170  currentObject = null;
171  currentSize = collectionRef.Count;
172  }
173 
174  // Type-safe iterator Current
176  get {
177  if (currentIndex == -1)
178  throw new global::System.InvalidOperationException("Enumeration not started.");
179  if (currentIndex > currentSize - 1)
180  throw new global::System.InvalidOperationException("Enumeration finished.");
181  if (currentObject == null)
182  throw new global::System.InvalidOperationException("Collection modified.");
183  return (IntVector)currentObject;
184  }
185  }
186 
187  // Type-unsafe IEnumerator.Current
188  object global::System.Collections.IEnumerator.Current {
189  get {
190  return Current;
191  }
192  }
193 
194  public bool MoveNext() {
195  int size = collectionRef.Count;
196  bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
197  if (moveOkay) {
198  currentIndex++;
199  currentObject = collectionRef[currentIndex];
200  } else {
201  currentObject = null;
202  }
203  return moveOkay;
204  }
205 
206  public void Reset() {
207  currentIndex = -1;
208  currentObject = null;
209  if (collectionRef.Count != currentSize) {
210  throw new global::System.InvalidOperationException("Collection modified.");
211  }
212  }
213 
214  public void Dispose() {
215  currentIndex = -1;
216  currentObject = null;
217  }
218  }
219 
220  public void Clear() {
222  }
223 
224  public void Add(IntVector x) {
227  }
228 
229  private uint size() {
231  return ret;
232  }
233 
234  private uint capacity() {
235  uint ret = operations_research_algorithmsPINVOKE.IntVectorVector_capacity(swigCPtr);
236  return ret;
237  }
238 
239  private void reserve(uint n) {
240  operations_research_algorithmsPINVOKE.IntVectorVector_reserve(swigCPtr, n);
241  }
242 
243  public IntVectorVector() : this(operations_research_algorithmsPINVOKE.new_IntVectorVector__SWIG_0(), true) {
244  }
245 
246  public IntVectorVector(IntVectorVector other) : this(operations_research_algorithmsPINVOKE.new_IntVectorVector__SWIG_1(IntVectorVector.getCPtr(other)), true) {
248  }
249 
250  public IntVectorVector(int capacity) : this(operations_research_algorithmsPINVOKE.new_IntVectorVector__SWIG_2(capacity), true) {
252  }
253 
254  private IntVector getitemcopy(int index) {
257  return ret;
258  }
259 
260  private IntVector getitem(int index) {
261  IntVector ret = new IntVector(operations_research_algorithmsPINVOKE.IntVectorVector_getitem(swigCPtr, index), false);
262  if (operations_research_algorithmsPINVOKE.SWIGPendingException.Pending) throw operations_research_algorithmsPINVOKE.SWIGPendingException.Retrieve();
263  return ret;
264  }
265 
266  private void setitem(int index, IntVector val) {
267  operations_research_algorithmsPINVOKE.IntVectorVector_setitem(swigCPtr, index, IntVector.getCPtr(val));
268  if (operations_research_algorithmsPINVOKE.SWIGPendingException.Pending) throw operations_research_algorithmsPINVOKE.SWIGPendingException.Retrieve();
269  }
270 
271  public void AddRange(IntVectorVector values) {
274  }
275 
276  public IntVectorVector GetRange(int index, int count) {
277  global::System.IntPtr cPtr = operations_research_algorithmsPINVOKE.IntVectorVector_GetRange(swigCPtr, index, count);
278  IntVectorVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVectorVector(cPtr, true);
280  return ret;
281  }
282 
283  public void Insert(int index, IntVector x) {
286  }
287 
288  public void InsertRange(int index, IntVectorVector values) {
291  }
292 
293  public void RemoveAt(int index) {
296  }
297 
298  public void RemoveRange(int index, int count) {
301  }
302 
303  public static IntVectorVector Repeat(IntVector value, int count) {
304  global::System.IntPtr cPtr = operations_research_algorithmsPINVOKE.IntVectorVector_Repeat(IntVector.getCPtr(value), count);
305  IntVectorVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVectorVector(cPtr, true);
307  return ret;
308  }
309 
310  public void Reverse() {
312  }
313 
314  public void Reverse(int index, int count) {
317  }
318 
319  public void SetRange(int index, IntVectorVector values) {
322  }
323 
324 }
325 
326 }
void Dispose()
static void IntVectorVector_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
IntVectorVectorEnumerator GetEnumerator()
IntVectorVector(global::System.Collections.IEnumerable c)
IntVectorVector(global::System.Collections.Generic.IEnumerable< IntVector > c)
bool IsReadOnly
IntVector[] ToArray()
static void IntVectorVector_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
void CopyTo(int index, IntVector[] array, int arrayIndex, int count)
int Capacity
IntVectorVector GetRange(int index, int count)
void Reverse()
void Insert(int index, IntVector x)
static global::System.IntPtr IntVectorVector_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
Note that the IEnumerator documentation requires an InvalidOperationException to be thrown whenever t...
static void IntVectorVector_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
void Dispose()
IntVectorVector(IntVectorVector other)
void Clear()
void InsertRange(int index, IntVectorVector values)
static void IntVectorVector_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
bool IsFixedSize
static uint IntVectorVector_size(global::System.Runtime.InteropServices.HandleRef jarg1)
static void IntVectorVector_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVectorVector_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
IntVectorVector()
void RemoveAt(int index)
void CopyTo(IntVector[] array)
static bool Pending
void Reverse(int index, int count)
static void IntVectorVector_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
bool MoveNext()
IntVectorVector(int capacity)
static void delete_IntVectorVector(global::System.Runtime.InteropServices.HandleRef jarg1)
void Add(IntVector x)
int Count
void RemoveRange(int index, int count)
IntVector Current
static global::System.IntPtr IntVectorVector_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void IntVectorVector_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
bool swigCMemOwn
static IntVectorVector Repeat(IntVector value, int count)
void CopyTo(IntVector[] array, int arrayIndex)
static global::System.IntPtr IntVectorVector_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void Reset()
static void IntVectorVector_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
IntVectorVectorEnumerator(IntVectorVector collection)
void AddRange(IntVectorVector values)
virtual void Dispose(bool disposing)
bool IsSynchronized
void SetRange(int index, IntVectorVector values)
static global::System.Exception Retrieve()
static void IntVectorVector_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)