DotNet Reference

DotNet 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.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 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 }
void InsertRange(int index, Int64Vector values)
void CopyTo(long[] array, int arrayIndex)
static void Int64Vector_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3)
void AddRange(Int64Vector values)
Int64Vector(int capacity)
static void Int64Vector_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
Int64VectorEnumerator(Int64Vector collection)
bool Remove(long value)
static int Int64Vector_IndexOf(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 long Int64Vector_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void Int64Vector_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
int LastIndexOf(long value)
void CopyTo(int index, long[] array, int arrayIndex, int count)
static bool Int64Vector_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
void RemoveAt(int index)
Note that the IEnumerator documentation requires an InvalidOperationException to be thrown whenever t...
int Capacity
static bool Int64Vector_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void Int64Vector_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void Clear()
bool swigCMemOwn
void Reverse(int index, int count)
long Current
static bool Pending
static void Int64Vector_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
Int64Vector(global::System.Collections.IEnumerable c)
void Dispose()
static global::System.IntPtr Int64Vector_Repeat(long jarg1, int jarg2)
void Add(long x)
void Dispose()
Int64Vector(Int64Vector other)
bool MoveNext()
static void Int64Vector_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
int IndexOf(long value)
static global::System.Exception Retrieve()
static void Int64Vector_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
bool Contains(long value)
virtual void Dispose(bool disposing)
static void Int64Vector_Add(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
int Count
void SetRange(int index, Int64Vector values)
bool IsSynchronized
Int64Vector GetRange(int index, int count)
void RemoveRange(int index, int count)
void CopyTo(long[] array)
static global::System.IntPtr Int64Vector_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
void Reset()
Int64Vector()
static int Int64Vector_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
void Reverse()
static void delete_Int64Vector(global::System.Runtime.InteropServices.HandleRef jarg1)
Definition: Domain.cs:11
long[] ToArray()
Int64VectorEnumerator GetEnumerator()
void Insert(int index, long x)
static void Int64Vector_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
bool IsReadOnly
bool IsFixedSize
static Int64Vector Repeat(long value, int count)
static uint Int64Vector_size(global::System.Runtime.InteropServices.HandleRef jarg1)
Int64Vector(global::System.Collections.Generic.IEnumerable< long > c)