DotNet Reference

DotNet 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.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.Util {
12 
13 using System;
14 using System.Runtime.InteropServices;
15 using System.Collections;
16 
17 public 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 }
IntVectorVectorEnumerator GetEnumerator()
IntVectorVector(global::System.Collections.IEnumerable c)
void RemoveRange(int index, int count)
static void IntVectorVector_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void IntVectorVector_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
void SetRange(int index, IntVectorVector values)
void CopyTo(IntVector[] array, int arrayIndex)
bool swigCMemOwn
static void IntVectorVector_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
void CopyTo(IntVector[] array)
void InsertRange(int index, IntVectorVector values)
static IntVectorVector Repeat(IntVector value, int count)
static global::System.IntPtr IntVectorVector_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void Reverse(int index, int count)
IntVector Current
IntVectorVector(IntVectorVector other)
void Clear()
Note that the IEnumerator documentation requires an InvalidOperationException to be thrown whenever t...
static bool Pending
IntVectorVector()
virtual void Dispose(bool disposing)
static global::System.IntPtr IntVectorVector_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
IntVectorVector GetRange(int index, int count)
static void IntVectorVector_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
bool IsFixedSize
IntVectorVector(global::System.Collections.Generic.IEnumerable< IntVector > c)
void Dispose()
static void IntVectorVector_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr IntVectorVector_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.Exception Retrieve()
bool IsReadOnly
void Reverse()
void Dispose()
void Insert(int index, IntVector x)
void Add(IntVector x)
static uint IntVectorVector_size(global::System.Runtime.InteropServices.HandleRef jarg1)
IntVector[] ToArray()
int Capacity
static void IntVectorVector_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
void RemoveAt(int index)
void AddRange(IntVectorVector values)
static void IntVectorVector_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void Reset()
Definition: Domain.cs:11
static void IntVectorVector_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
IntVectorVector(int capacity)
int Count
static void IntVectorVector_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
IntVectorVectorEnumerator(IntVectorVector collection)
bool IsSynchronized
bool MoveNext()
void CopyTo(int index, IntVector[] array, int arrayIndex, int count)
static void delete_IntVectorVector(global::System.Runtime.InteropServices.HandleRef jarg1)
static void IntVectorVector_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)