DotNet Reference

.Net 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.2
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
13public 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) {
321 }
322
323 public bool Contains(int value) {
325 return ret;
326 }
327
328 public int IndexOf(int value) {
330 return ret;
331 }
332
333 public int LastIndexOf(int value) {
335 return ret;
336 }
337
338 public bool Remove(int value) {
340 return ret;
341 }
342
343}
344
345}
Note that the IEnumerator documentation requires an InvalidOperationException to be thrown whenever t...
void CopyTo(int[] array, int arrayIndex)
IntVector(global::System.Collections.Generic.IEnumerable< int > c)
static IntVector Repeat(int value, int count)
IntVector GetRange(int index, int count)
void InsertRange(int index, IntVector values)
virtual void Dispose(bool disposing)
void CopyTo(int index, int[] array, int arrayIndex, int count)
void RemoveRange(int index, int count)
IntVector(global::System.Collections.IEnumerable c)
void SetRange(int index, IntVector values)
static void IntVector_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static bool IntVector_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVector_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool IntVector_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVector_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
static void IntVector_Add(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int IntVector_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int IntVector_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVector_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr IntVector_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void IntVector_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static global::System.IntPtr IntVector_Repeat(int jarg1, int jarg2)
static void IntVector_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void delete_IntVector(global::System.Runtime.InteropServices.HandleRef jarg1)
static int IntVector_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void IntVector_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void IntVector_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void IntVector_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static uint IntVector_size(global::System.Runtime.InteropServices.HandleRef jarg1)