DotNet Reference

.Net Reference

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