DotNet Reference

.Net Reference

algorithms/Int64Vector.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 
13 public class Int64Vector : global::System.IDisposable, global::System.Collections.IEnumerable, global::System.Collections.Generic.IList<long>
14  {
15  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
16  protected bool swigCMemOwn;
17 
18  internal Int64Vector(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(Int64Vector obj) {
24  return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
25  }
26 
27  ~Int64Vector() {
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 Int64Vector(global::System.Collections.IEnumerable c) : this() {
49  if (c == null)
50  throw new global::System.ArgumentNullException("c");
51  foreach (long element in c) {
52  this.Add(element);
53  }
54  }
55 
56  public Int64Vector(global::System.Collections.Generic.IEnumerable<long> c) : this() {
57  if (c == null)
58  throw new global::System.ArgumentNullException("c");
59  foreach (long 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 long 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(long[] array)
109  {
110  CopyTo(0, array, 0, this.Count);
111  }
112 
113  public void CopyTo(long[] array, int arrayIndex)
114  {
115  CopyTo(0, array, arrayIndex, this.Count);
116  }
117 
118  public void CopyTo(int index, long[] 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 long[] ToArray() {
137  long[] array = new long[this.Count];
138  this.CopyTo(array);
139  return array;
140  }
141 
142  global::System.Collections.Generic.IEnumerator<long> global::System.Collections.Generic.IEnumerable<long>.GetEnumerator() {
143  return new Int64VectorEnumerator(this);
144  }
145 
146  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
147  return new Int64VectorEnumerator(this);
148  }
149 
151  return new Int64VectorEnumerator(this);
152  }
153 
154  // Type-safe enumerator
159  public sealed class Int64VectorEnumerator : global::System.Collections.IEnumerator
160  , global::System.Collections.Generic.IEnumerator<long>
161  {
162  private Int64Vector collectionRef;
163  private int currentIndex;
164  private object currentObject;
165  private int currentSize;
166 
167  public Int64VectorEnumerator(Int64Vector collection) {
168  collectionRef = collection;
169  currentIndex = -1;
170  currentObject = null;
171  currentSize = collectionRef.Count;
172  }
173 
174  // Type-safe iterator Current
175  public long 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 (long)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(long x) {
226  }
227 
228  private uint size() {
230  return ret;
231  }
232 
233  private uint capacity() {
234  uint ret = operations_research_algorithmsPINVOKE.Int64Vector_capacity(swigCPtr);
235  return ret;
236  }
237 
238  private void reserve(uint n) {
239  operations_research_algorithmsPINVOKE.Int64Vector_reserve(swigCPtr, n);
240  }
241 
242  public Int64Vector() : this(operations_research_algorithmsPINVOKE.new_Int64Vector__SWIG_0(), true) {
243  }
244 
245  public Int64Vector(Int64Vector other) : this(operations_research_algorithmsPINVOKE.new_Int64Vector__SWIG_1(Int64Vector.getCPtr(other)), true) {
247  }
248 
249  public Int64Vector(int capacity) : this(operations_research_algorithmsPINVOKE.new_Int64Vector__SWIG_2(capacity), true) {
251  }
252 
253  private long getitemcopy(int index) {
256  return ret;
257  }
258 
259  private long getitem(int index) {
260  long ret = operations_research_algorithmsPINVOKE.Int64Vector_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, long val) {
266  operations_research_algorithmsPINVOKE.Int64Vector_setitem(swigCPtr, index, val);
267  if (operations_research_algorithmsPINVOKE.SWIGPendingException.Pending) throw operations_research_algorithmsPINVOKE.SWIGPendingException.Retrieve();
268  }
269 
270  public void AddRange(Int64Vector values) {
273  }
274 
275  public Int64Vector GetRange(int index, int count) {
276  global::System.IntPtr cPtr = operations_research_algorithmsPINVOKE.Int64Vector_GetRange(swigCPtr, index, count);
277  Int64Vector ret = (cPtr == global::System.IntPtr.Zero) ? null : new Int64Vector(cPtr, true);
279  return ret;
280  }
281 
282  public void Insert(int index, long x) {
285  }
286 
287  public void InsertRange(int index, Int64Vector values) {
290  }
291 
292  public void RemoveAt(int index) {
295  }
296 
297  public void RemoveRange(int index, int count) {
300  }
301 
302  public static Int64Vector Repeat(long value, int count) {
303  global::System.IntPtr cPtr = operations_research_algorithmsPINVOKE.Int64Vector_Repeat(value, count);
304  Int64Vector ret = (cPtr == global::System.IntPtr.Zero) ? null : new Int64Vector(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, Int64Vector values) {
321  }
322 
323  public bool Contains(long value) {
325  return ret;
326  }
327 
328  public int IndexOf(long value) {
330  return ret;
331  }
332 
333  public int LastIndexOf(long value) {
335  return ret;
336  }
337 
338  public bool Remove(long value) {
339  bool ret = operations_research_algorithmsPINVOKE.Int64Vector_Remove(swigCPtr, value);
340  return ret;
341  }
342 
343 }
344 
345 }
Note that the IEnumerator documentation requires an InvalidOperationException to be thrown whenever t...
void InsertRange(int index, Int64Vector values)
Int64Vector GetRange(int index, int count)
static Int64Vector Repeat(long value, int count)
void SetRange(int index, Int64Vector values)
Int64Vector(global::System.Collections.IEnumerable c)
void CopyTo(long[] array, int arrayIndex)
void CopyTo(int index, long[] array, int arrayIndex, int count)
Int64Vector(global::System.Collections.Generic.IEnumerable< long > c)
static uint Int64Vector_size(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr Int64Vector_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void Int64Vector_Add(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void Int64Vector_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int Int64Vector_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void Int64Vector_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void Int64Vector_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void Int64Vector_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
static int Int64Vector_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void Int64Vector_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3)
static global::System.IntPtr Int64Vector_Repeat(long jarg1, int jarg2)
static void Int64Vector_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void Int64Vector_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static long Int64Vector_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool Int64Vector_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void Int64Vector_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void delete_Int64Vector(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool Int64Vector_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void Int64Vector_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)