DotNet Reference

.Net Reference

util/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 
11 namespace Google.OrTools.Util {
12 
13 using System;
14 using System.Runtime.InteropServices;
15 using System.Collections;
16 
17 public class Int64Vector : global::System.IDisposable, global::System.Collections.IEnumerable, global::System.Collections.Generic.IList<long>
18  {
19  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
20  protected bool swigCMemOwn;
21 
22  internal Int64Vector(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(Int64Vector obj) {
28  return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
29  }
30 
31  ~Int64Vector() {
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 Int64Vector(global::System.Collections.IEnumerable c) : this() {
53  if (c == null)
54  throw new global::System.ArgumentNullException("c");
55  foreach (long element in c) {
56  this.Add(element);
57  }
58  }
59 
60  public Int64Vector(global::System.Collections.Generic.IEnumerable<long> c) : this() {
61  if (c == null)
62  throw new global::System.ArgumentNullException("c");
63  foreach (long 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 long 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(long[] array)
113  {
114  CopyTo(0, array, 0, this.Count);
115  }
116 
117  public void CopyTo(long[] array, int arrayIndex)
118  {
119  CopyTo(0, array, arrayIndex, this.Count);
120  }
121 
122  public void CopyTo(int index, long[] 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 long[] ToArray() {
141  long[] array = new long[this.Count];
142  this.CopyTo(array);
143  return array;
144  }
145 
146  global::System.Collections.Generic.IEnumerator<long> global::System.Collections.Generic.IEnumerable<long>.GetEnumerator() {
147  return new Int64VectorEnumerator(this);
148  }
149 
150  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
151  return new Int64VectorEnumerator(this);
152  }
153 
155  return new Int64VectorEnumerator(this);
156  }
157 
158  // Type-safe enumerator
163  public sealed class Int64VectorEnumerator : global::System.Collections.IEnumerator
164  , global::System.Collections.Generic.IEnumerator<long>
165  {
166  private Int64Vector collectionRef;
167  private int currentIndex;
168  private object currentObject;
169  private int currentSize;
170 
171  public Int64VectorEnumerator(Int64Vector collection) {
172  collectionRef = collection;
173  currentIndex = -1;
174  currentObject = null;
175  currentSize = collectionRef.Count;
176  }
177 
178  // Type-safe iterator Current
179  public long 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 (long)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(long x) {
230  }
231 
232  private uint size() {
234  return ret;
235  }
236 
237  private uint capacity() {
238  uint ret = operations_research_utilPINVOKE.Int64Vector_capacity(swigCPtr);
239  return ret;
240  }
241 
242  private void reserve(uint n) {
243  operations_research_utilPINVOKE.Int64Vector_reserve(swigCPtr, n);
244  }
245 
246  public Int64Vector() : this(operations_research_utilPINVOKE.new_Int64Vector__SWIG_0(), true) {
247  }
248 
249  public Int64Vector(Int64Vector other) : this(operations_research_utilPINVOKE.new_Int64Vector__SWIG_1(Int64Vector.getCPtr(other)), true) {
251  }
252 
253  public Int64Vector(int capacity) : this(operations_research_utilPINVOKE.new_Int64Vector__SWIG_2(capacity), true) {
255  }
256 
257  private long getitemcopy(int index) {
258  long ret = operations_research_utilPINVOKE.Int64Vector_getitemcopy(swigCPtr, index);
260  return ret;
261  }
262 
263  private long getitem(int index) {
264  long ret = operations_research_utilPINVOKE.Int64Vector_getitem(swigCPtr, index);
265  if (operations_research_utilPINVOKE.SWIGPendingException.Pending) throw operations_research_utilPINVOKE.SWIGPendingException.Retrieve();
266  return ret;
267  }
268 
269  private void setitem(int index, long val) {
270  operations_research_utilPINVOKE.Int64Vector_setitem(swigCPtr, index, val);
271  if (operations_research_utilPINVOKE.SWIGPendingException.Pending) throw operations_research_utilPINVOKE.SWIGPendingException.Retrieve();
272  }
273 
274  public void AddRange(Int64Vector values) {
277  }
278 
279  public Int64Vector GetRange(int index, int count) {
280  global::System.IntPtr cPtr = operations_research_utilPINVOKE.Int64Vector_GetRange(swigCPtr, index, count);
281  Int64Vector ret = (cPtr == global::System.IntPtr.Zero) ? null : new Int64Vector(cPtr, true);
283  return ret;
284  }
285 
286  public void Insert(int index, long x) {
289  }
290 
291  public void InsertRange(int index, Int64Vector values) {
292  operations_research_utilPINVOKE.Int64Vector_InsertRange(swigCPtr, index, Int64Vector.getCPtr(values));
294  }
295 
296  public void RemoveAt(int index) {
299  }
300 
301  public void RemoveRange(int index, int count) {
304  }
305 
306  public static Int64Vector Repeat(long value, int count) {
307  global::System.IntPtr cPtr = operations_research_utilPINVOKE.Int64Vector_Repeat(value, count);
308  Int64Vector ret = (cPtr == global::System.IntPtr.Zero) ? null : new Int64Vector(cPtr, true);
310  return ret;
311  }
312 
313  public void Reverse() {
315  }
316 
317  public void Reverse(int index, int count) {
320  }
321 
322  public void SetRange(int index, Int64Vector values) {
323  operations_research_utilPINVOKE.Int64Vector_SetRange(swigCPtr, index, Int64Vector.getCPtr(values));
325  }
326 
327  public bool Contains(long value) {
328  bool ret = operations_research_utilPINVOKE.Int64Vector_Contains(swigCPtr, value);
329  return ret;
330  }
331 
332  public int IndexOf(long value) {
333  int ret = operations_research_utilPINVOKE.Int64Vector_IndexOf(swigCPtr, value);
334  return ret;
335  }
336 
337  public int LastIndexOf(long value) {
338  int ret = operations_research_utilPINVOKE.Int64Vector_LastIndexOf(swigCPtr, value);
339  return ret;
340  }
341 
342  public bool Remove(long value) {
343  bool ret = operations_research_utilPINVOKE.Int64Vector_Remove(swigCPtr, value);
344  return ret;
345  }
346 
347 }
348 
349 }
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)
void Insert(int index, long x)
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)
virtual void Dispose(bool disposing)
void AddRange(Int64Vector values)
void CopyTo(int index, long[] array, int arrayIndex, int count)
void RemoveRange(int index, int count)
Int64Vector(global::System.Collections.Generic.IEnumerable< long > c)
Int64VectorEnumerator GetEnumerator()
void Reverse(int index, int count)
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)