DotNet Reference

DotNet Reference

algorithms/IntVector.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 IntVector : global::System.IDisposable, global::System.Collections.IEnumerable, global::System.Collections.Generic.IList<int>
14  {
15  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
16  protected bool swigCMemOwn;
17 
18  internal IntVector(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(IntVector obj) {
24  return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
25  }
26 
27  ~IntVector() {
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 IntVector(global::System.Collections.IEnumerable c) : this() {
49  if (c == null)
50  throw new global::System.ArgumentNullException("c");
51  foreach (int element in c) {
52  this.Add(element);
53  }
54  }
55 
56  public IntVector(global::System.Collections.Generic.IEnumerable<int> c) : this() {
57  if (c == null)
58  throw new global::System.ArgumentNullException("c");
59  foreach (int 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 int 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(int[] array)
109  {
110  CopyTo(0, array, 0, this.Count);
111  }
112 
113  public void CopyTo(int[] array, int arrayIndex)
114  {
115  CopyTo(0, array, arrayIndex, this.Count);
116  }
117 
118  public void CopyTo(int index, int[] 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 int[] ToArray() {
137  int[] array = new int[this.Count];
138  this.CopyTo(array);
139  return array;
140  }
141 
142  global::System.Collections.Generic.IEnumerator<int> global::System.Collections.Generic.IEnumerable<int>.GetEnumerator() {
143  return new IntVectorEnumerator(this);
144  }
145 
146  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
147  return new IntVectorEnumerator(this);
148  }
149 
151  return new IntVectorEnumerator(this);
152  }
153 
154  // Type-safe enumerator
159  public sealed class IntVectorEnumerator : global::System.Collections.IEnumerator
160  , global::System.Collections.Generic.IEnumerator<int>
161  {
162  private IntVector collectionRef;
163  private int currentIndex;
164  private object currentObject;
165  private int currentSize;
166 
167  public IntVectorEnumerator(IntVector collection) {
168  collectionRef = collection;
169  currentIndex = -1;
170  currentObject = null;
171  currentSize = collectionRef.Count;
172  }
173 
174  // Type-safe iterator Current
175  public int 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 (int)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(int x) {
226  }
227 
228  private uint size() {
230  return ret;
231  }
232 
233  private uint capacity() {
234  uint ret = operations_research_algorithmsPINVOKE.IntVector_capacity(swigCPtr);
235  return ret;
236  }
237 
238  private void reserve(uint n) {
239  operations_research_algorithmsPINVOKE.IntVector_reserve(swigCPtr, n);
240  }
241 
242  public IntVector() : this(operations_research_algorithmsPINVOKE.new_IntVector__SWIG_0(), true) {
243  }
244 
245  public IntVector(IntVector other) : this(operations_research_algorithmsPINVOKE.new_IntVector__SWIG_1(IntVector.getCPtr(other)), true) {
247  }
248 
249  public IntVector(int capacity) : this(operations_research_algorithmsPINVOKE.new_IntVector__SWIG_2(capacity), true) {
251  }
252 
253  private int getitemcopy(int index) {
256  return ret;
257  }
258 
259  private int getitem(int index) {
260  int ret = operations_research_algorithmsPINVOKE.IntVector_getitem(swigCPtr, index);
261  if (operations_research_algorithmsPINVOKE.SWIGPendingException.Pending) throw operations_research_algorithmsPINVOKE.SWIGPendingException.Retrieve();
262  return ret;
263  }
264 
265  private void setitem(int index, int val) {
266  operations_research_algorithmsPINVOKE.IntVector_setitem(swigCPtr, index, val);
267  if (operations_research_algorithmsPINVOKE.SWIGPendingException.Pending) throw operations_research_algorithmsPINVOKE.SWIGPendingException.Retrieve();
268  }
269 
270  public void AddRange(IntVector values) {
273  }
274 
275  public IntVector GetRange(int index, int count) {
276  global::System.IntPtr cPtr = operations_research_algorithmsPINVOKE.IntVector_GetRange(swigCPtr, index, count);
277  IntVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVector(cPtr, true);
279  return ret;
280  }
281 
282  public void Insert(int index, int x) {
285  }
286 
287  public void InsertRange(int index, IntVector values) {
290  }
291 
292  public void RemoveAt(int index) {
295  }
296 
297  public void RemoveRange(int index, int count) {
300  }
301 
302  public static IntVector Repeat(int value, int count) {
303  global::System.IntPtr cPtr = operations_research_algorithmsPINVOKE.IntVector_Repeat(value, count);
304  IntVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVector(cPtr, true);
306  return ret;
307  }
308 
309  public void Reverse() {
311  }
312 
313  public void Reverse(int index, int count) {
316  }
317 
318  public void SetRange(int index, IntVector values) {
319  operations_research_algorithmsPINVOKE.IntVector_SetRange(swigCPtr, index, IntVector.getCPtr(values));
321  }
322 
323  public bool Contains(int value) {
324  bool ret = operations_research_algorithmsPINVOKE.IntVector_Contains(swigCPtr, value);
325  return ret;
326  }
327 
328  public int IndexOf(int value) {
329  int ret = operations_research_algorithmsPINVOKE.IntVector_IndexOf(swigCPtr, value);
330  return ret;
331  }
332 
333  public int LastIndexOf(int value) {
335  return ret;
336  }
337 
338  public bool Remove(int value) {
339  bool ret = operations_research_algorithmsPINVOKE.IntVector_Remove(swigCPtr, value);
340  return ret;
341  }
342 
343 }
344 
345 }
void Reset()
int Count
IntVector()
void CopyTo(int[] array)
int[] ToArray()
static void IntVector_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool IntVector_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVector_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
void Add(int x)
void SetRange(int index, IntVector values)
static void delete_IntVector(global::System.Runtime.InteropServices.HandleRef jarg1)
static void IntVector_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
bool IsSynchronized
bool swigCMemOwn
bool Remove(int value)
IntVector(global::System.Collections.IEnumerable c)
static global::System.IntPtr IntVector_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void IntVector_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
IntVectorEnumerator(IntVector collection)
static void IntVector_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void IntVector_Add(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int IntVector_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVector_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
int Capacity
Note that the IEnumerator documentation requires an InvalidOperationException to be thrown whenever t...
void CopyTo(int[] array, int arrayIndex)
void Dispose()
int LastIndexOf(int value)
static int IntVector_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void Dispose()
void InsertRange(int index, IntVector values)
int IndexOf(int value)
static void IntVector_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
void Clear()
bool MoveNext()
bool IsFixedSize
bool Contains(int value)
void CopyTo(int index, int[] array, int arrayIndex, int count)
void Reverse(int index, int count)
bool IsReadOnly
static bool Pending
int Current
void Reverse()
void AddRange(IntVector values)
void RemoveAt(int index)
static IntVector Repeat(int value, int count)
static global::System.IntPtr IntVector_Repeat(int jarg1, int jarg2)
void Insert(int index, int x)
static bool IntVector_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void RemoveRange(int index, int count)
static int IntVector_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVector_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
virtual void Dispose(bool disposing)
IntVector GetRange(int index, int count)
IntVector(IntVector other)
static void IntVector_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
IntVector(global::System.Collections.Generic.IEnumerable< int > c)
IntVectorEnumerator GetEnumerator()
static global::System.Exception Retrieve()
static uint IntVector_size(global::System.Runtime.InteropServices.HandleRef jarg1)
IntVector(int capacity)