14using System.Runtime.InteropServices;
16public class intPairArray : IDisposable, System.Collections.IEnumerable
17, System.Collections.Generic.IList<intPair>
19 private Object locker =
new Object();
20 private HandleRef swigCPtr;
22 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
25 swigCPtr =
new HandleRef(
this, cPtr);
27 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
29 return (obj ==
null) ?
new HandleRef(
null, IntPtr.Zero) : obj.swigCPtr;
38 global::System.GC.SuppressFinalize(
this);
41 protected virtual void Dispose(
bool disposing) {
43 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
48 swigCPtr =
new global::System.Runtime.InteropServices.HandleRef(
null, global::System.IntPtr.Zero);
55 throw new ArgumentNullException(
"c");
56 foreach (
intPair element
in c) {
62 : this(
GlobalsPINVOKE.new_intPairArray__SWIG_0(), bGCMemory_Own || MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
64 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
65 if (!bGCMemory_Own &&
null != mTr)
73 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
74 if (!bGCMemory_Own &&
null != mTr)
81 public intPairArray(
int capacity,
bool bGCMemory_Own =
false) : this(
GlobalsPINVOKE.new_intPairArray__SWIG_2(capacity), bGCMemory_Own || MemoryManager.GetMemoryManager().GetCurrentTransaction() == null) {
82 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
83 if (!bGCMemory_Own &&
null != mTr)
104 return getitem(index);
107 setitem(index,
value);
113 return (
int)capacity();
117 throw new ArgumentOutOfRangeException(
"Capacity");
118 reserve((uint)
value);
147 throw new ArgumentNullException(
"array");
149 throw new ArgumentOutOfRangeException(
"index",
"Value is less than zero");
151 throw new ArgumentOutOfRangeException(
"arrayIndex",
"Value is less than zero");
153 throw new ArgumentOutOfRangeException(
"count",
"Value is less than zero");
155 throw new ArgumentException(
"Multi dimensional array.",
"array");
156 if (index+count > this.
Count || arrayIndex+count > array.Length)
157 throw new ArgumentException(
"Number of elements to copy is too large.");
158 for (
int i=0; i<count; i++)
159 array.SetValue(getitemcopy(index+i), arrayIndex+i);
162 System.Collections.Generic.IEnumerator<
intPair> System.Collections.Generic.IEnumerable<
intPair>.GetEnumerator() {
163 return new intPairArrayEnumerator(
this);
166 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
167 return new intPairArrayEnumerator(
this);
180 , System.Collections.Generic.IEnumerator<intPair>
183 private int currentIndex;
184 private object currentObject;
185 private int currentSize;
188 collectionRef = collection;
190 currentObject =
null;
191 currentSize = collectionRef.
Count;
197 if (currentIndex == -1)
198 throw new InvalidOperationException(
"Enumeration not started.");
199 if (currentIndex > currentSize - 1)
200 throw new InvalidOperationException(
"Enumeration finished.");
201 if (currentObject ==
null)
202 throw new InvalidOperationException(
"Collection modified.");
208 object System.Collections.IEnumerator.Current {
215 int size = collectionRef.
Count;
216 bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
219 currentObject = collectionRef[currentIndex];
221 currentObject =
null;
228 currentObject =
null;
229 if (collectionRef.
Count != currentSize) {
230 throw new InvalidOperationException(
"Collection modified.");
236 currentObject =
null;
250 private uint size() {
256 private uint capacity() {
257 uint ret = GlobalsPINVOKE.intPairArray_capacity(swigCPtr);
258 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
262 private void reserve(uint n) {
263 GlobalsPINVOKE.intPairArray_reserve(swigCPtr, n);
264 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
272 private intPair getitemcopy(
int index) {
278 private intPair getitem(
int index) {
279 intPair ret =
new intPair(GlobalsPINVOKE.intPairArray_getitem(swigCPtr, index),
false);
280 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
284 private void setitem(
int index, intPair val) {
285 GlobalsPINVOKE.intPairArray_setitem(swigCPtr, index, intPair.getCPtr(val));
286 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
static global::System.Exception Retrieve()
static void intPairArray_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void intPairArray_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static void intPairArray_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void intPairArray_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void intPairArray_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static bool intPairArray_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void intPairArray_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int intPairArray_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void delete_intPairArray(global::System.Runtime.InteropServices.HandleRef jarg1)
static void intPairArray_resize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2)
static global::System.IntPtr intPairArray_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr intPairArray_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static uint intPairArray_size(global::System.Runtime.InteropServices.HandleRef jarg1)
static void intPairArray_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void intPairArray_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void intPairArray_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void intPairArray_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr intPairArray_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool intPairArray_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int intPairArray_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
intPairArrayEnumerator(intPairArray collection)
intPairArray(System.Collections.ICollection c)
void AddRange(intPairArray values)
int LastIndexOf(intPair value)
virtual void Dispose(bool disposing)
intPairArrayEnumerator GetEnumerator()
void resize(uint logicalLength)
intPairArray(intPairArray other, bool bGCMemory_Own=false)
void CopyTo(intPair[] array)
void CopyTo(int index, intPair[] array, int arrayIndex, int count)
static intPairArray Repeat(intPair value, int count)
void RemoveRange(int index, int count)
void Insert(int index, intPair x)
void SetRange(int index, intPairArray values)
bool Remove(intPair value)
void Reverse(int index, int count)
bool Contains(intPair value)
void CopyTo(intPair[] array, int arrayIndex)
intPairArray GetRange(int index, int count)
int IndexOf(intPair value)
void InsertRange(int index, intPairArray values)
intPairArray(IntPtr cPtr, bool cMemoryOwn)
static HandleRef getCPtr(intPairArray obj)
intPairArray(int capacity, bool bGCMemory_Own=false)
intPairArray(bool bGCMemory_Own=false)
static HandleRef getCPtr(intPair obj)