DotNet Reference

.Net Reference

constraint_solver/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
13using System;
14using System.Runtime.InteropServices;
15using System.Collections;
16using System.Collections.Generic;
17
18public class IntVector : global::System.IDisposable, global::System.Collections.IEnumerable, global::System.Collections.Generic.IList<int>
19 {
20 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
21 protected bool swigCMemOwn;
22
23 internal IntVector(global::System.IntPtr cPtr, bool cMemoryOwn) {
24 swigCMemOwn = cMemoryOwn;
25 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
26 }
27
28 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(IntVector obj) {
29 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
30 }
31
32 ~IntVector() {
33 Dispose(false);
34 }
35
36 public void Dispose() {
37 Dispose(true);
38 global::System.GC.SuppressFinalize(this);
39 }
40
41 protected virtual void Dispose(bool disposing) {
42 lock(this) {
43 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
44 if (swigCMemOwn) {
45 swigCMemOwn = false;
47 }
48 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
49 }
50 }
51 }
52
53 public IntVector(global::System.Collections.IEnumerable c) : this() {
54 if (c == null)
55 throw new global::System.ArgumentNullException("c");
56 foreach (int element in c) {
57 this.Add(element);
58 }
59 }
60
61 public IntVector(global::System.Collections.Generic.IEnumerable<int> c) : this() {
62 if (c == null)
63 throw new global::System.ArgumentNullException("c");
64 foreach (int element in c) {
65 this.Add(element);
66 }
67 }
68
69 public bool IsFixedSize {
70 get {
71 return false;
72 }
73 }
74
75 public bool IsReadOnly {
76 get {
77 return false;
78 }
79 }
80
81 public int this[int index] {
82 get {
83 return getitem(index);
84 }
85 set {
86 setitem(index, value);
87 }
88 }
89
90 public int Capacity {
91 get {
92 return (int)capacity();
93 }
94 set {
95 if (value < size())
96 throw new global::System.ArgumentOutOfRangeException("Capacity");
97 reserve((uint)value);
98 }
99 }
100
101 public int Count {
102 get {
103 return (int)size();
104 }
105 }
106
107 public bool IsSynchronized {
108 get {
109 return false;
110 }
111 }
112
113 public void CopyTo(int[] array)
114 {
115 CopyTo(0, array, 0, this.Count);
116 }
117
118 public void CopyTo(int[] array, int arrayIndex)
119 {
120 CopyTo(0, array, arrayIndex, this.Count);
121 }
122
123 public void CopyTo(int index, int[] array, int arrayIndex, int count)
124 {
125 if (array == null)
126 throw new global::System.ArgumentNullException("array");
127 if (index < 0)
128 throw new global::System.ArgumentOutOfRangeException("index", "Value is less than zero");
129 if (arrayIndex < 0)
130 throw new global::System.ArgumentOutOfRangeException("arrayIndex", "Value is less than zero");
131 if (count < 0)
132 throw new global::System.ArgumentOutOfRangeException("count", "Value is less than zero");
133 if (array.Rank > 1)
134 throw new global::System.ArgumentException("Multi dimensional array.", "array");
135 if (index+count > this.Count || arrayIndex+count > array.Length)
136 throw new global::System.ArgumentException("Number of elements to copy is too large.");
137 for (int i=0; i<count; i++)
138 array.SetValue(getitemcopy(index+i), arrayIndex+i);
139 }
140
141 public int[] ToArray() {
142 int[] array = new int[this.Count];
143 this.CopyTo(array);
144 return array;
145 }
146
147 global::System.Collections.Generic.IEnumerator<int> global::System.Collections.Generic.IEnumerable<int>.GetEnumerator() {
148 return new IntVectorEnumerator(this);
149 }
150
151 global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
152 return new IntVectorEnumerator(this);
153 }
154
156 return new IntVectorEnumerator(this);
157 }
158
159 // Type-safe enumerator
164 public sealed class IntVectorEnumerator : global::System.Collections.IEnumerator
165 , global::System.Collections.Generic.IEnumerator<int>
166 {
167 private IntVector collectionRef;
168 private int currentIndex;
169 private object currentObject;
170 private int currentSize;
171
172 public IntVectorEnumerator(IntVector collection) {
173 collectionRef = collection;
174 currentIndex = -1;
175 currentObject = null;
176 currentSize = collectionRef.Count;
177 }
178
179 // Type-safe iterator Current
180 public int Current {
181 get {
182 if (currentIndex == -1)
183 throw new global::System.InvalidOperationException("Enumeration not started.");
184 if (currentIndex > currentSize - 1)
185 throw new global::System.InvalidOperationException("Enumeration finished.");
186 if (currentObject == null)
187 throw new global::System.InvalidOperationException("Collection modified.");
188 return (int)currentObject;
189 }
190 }
191
192 // Type-unsafe IEnumerator.Current
193 object global::System.Collections.IEnumerator.Current {
194 get {
195 return Current;
196 }
197 }
198
199 public bool MoveNext() {
200 int size = collectionRef.Count;
201 bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
202 if (moveOkay) {
203 currentIndex++;
204 currentObject = collectionRef[currentIndex];
205 } else {
206 currentObject = null;
207 }
208 return moveOkay;
209 }
210
211 public void Reset() {
212 currentIndex = -1;
213 currentObject = null;
214 if (collectionRef.Count != currentSize) {
215 throw new global::System.InvalidOperationException("Collection modified.");
216 }
217 }
218
219 public void Dispose() {
220 currentIndex = -1;
221 currentObject = null;
222 }
223 }
224
225 public void Clear() {
227 }
228
229 public void Add(int x) {
231 }
232
233 private uint size() {
235 return ret;
236 }
237
238 private uint capacity() {
239 uint ret = operations_research_constraint_solverPINVOKE.IntVector_capacity(swigCPtr);
240 return ret;
241 }
242
243 private void reserve(uint n) {
244 operations_research_constraint_solverPINVOKE.IntVector_reserve(swigCPtr, n);
245 }
246
247 public IntVector() : this(operations_research_constraint_solverPINVOKE.new_IntVector__SWIG_0(), true) {
248 }
249
250 public IntVector(IntVector other) : this(operations_research_constraint_solverPINVOKE.new_IntVector__SWIG_1(IntVector.getCPtr(other)), true) {
252 }
253
254 public IntVector(int capacity) : this(operations_research_constraint_solverPINVOKE.new_IntVector__SWIG_2(capacity), true) {
256 }
257
258 private int getitemcopy(int index) {
261 return ret;
262 }
263
264 private int getitem(int index) {
265 int ret = operations_research_constraint_solverPINVOKE.IntVector_getitem(swigCPtr, index);
266 if (operations_research_constraint_solverPINVOKE.SWIGPendingException.Pending) throw operations_research_constraint_solverPINVOKE.SWIGPendingException.Retrieve();
267 return ret;
268 }
269
270 private void setitem(int index, int val) {
271 operations_research_constraint_solverPINVOKE.IntVector_setitem(swigCPtr, index, val);
272 if (operations_research_constraint_solverPINVOKE.SWIGPendingException.Pending) throw operations_research_constraint_solverPINVOKE.SWIGPendingException.Retrieve();
273 }
274
275 public void AddRange(IntVector values) {
278 }
279
280 public IntVector GetRange(int index, int count) {
281 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.IntVector_GetRange(swigCPtr, index, count);
282 IntVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVector(cPtr, true);
284 return ret;
285 }
286
287 public void Insert(int index, int x) {
290 }
291
292 public void InsertRange(int index, IntVector values) {
295 }
296
297 public void RemoveAt(int index) {
300 }
301
302 public void RemoveRange(int index, int count) {
305 }
306
307 public static IntVector Repeat(int value, int count) {
308 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.IntVector_Repeat(value, count);
309 IntVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVector(cPtr, true);
311 return ret;
312 }
313
314 public void Reverse() {
316 }
317
318 public void Reverse(int index, int count) {
321 }
322
323 public void SetRange(int index, IntVector values) {
326 }
327
328 public bool Contains(int value) {
330 return ret;
331 }
332
333 public int IndexOf(int value) {
335 return ret;
336 }
337
338 public int LastIndexOf(int value) {
340 return ret;
341 }
342
343 public bool Remove(int value) {
345 return ret;
346 }
347
348}
349
350}
Note that the IEnumerator documentation requires an InvalidOperationException to be thrown whenever t...
IntVector(global::System.Collections.Generic.IEnumerable< int > c)
static IntVector Repeat(int value, int count)
void CopyTo(int index, int[] array, int arrayIndex, int count)
IntVector(global::System.Collections.IEnumerable c)
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)