14using System.Runtime.InteropServices;
17public class OdValueArray : IDisposable, System.Collections.IEnumerable
18, System.Collections.Generic.IList<OdValue>
20 private Object locker =
new Object();
21 private HandleRef swigCPtr;
23 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
26 swigCPtr =
new HandleRef(
this, cPtr);
28 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
30 return (obj ==
null) ?
new HandleRef(
null, IntPtr.Zero) : obj.swigCPtr;
39 global::System.GC.SuppressFinalize(
this);
42 protected virtual void Dispose(
bool disposing) {
44 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
49 swigCPtr =
new global::System.Runtime.InteropServices.HandleRef(
null, global::System.IntPtr.Zero);
56 throw new ArgumentNullException(
"c");
57 foreach (
OdValue element
in c) {
63 : this(
TD_DbPINVOKE.new_OdValueArray__SWIG_0(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
65 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
74 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
82 public OdValueArray(
int capacity) : this(
TD_DbPINVOKE.new_OdValueArray__SWIG_2(capacity), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null) {
83 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
105 return getitem(index);
108 setitem(index,
value);
114 return (
int)capacity();
118 throw new ArgumentOutOfRangeException(
"Capacity");
119 reserve((uint)
value);
148 throw new ArgumentNullException(
"array");
150 throw new ArgumentOutOfRangeException(
"index",
"Value is less than zero");
152 throw new ArgumentOutOfRangeException(
"arrayIndex",
"Value is less than zero");
154 throw new ArgumentOutOfRangeException(
"count",
"Value is less than zero");
156 throw new ArgumentException(
"Multi dimensional array.",
"array");
157 if (index+count > this.
Count || arrayIndex+count > array.Length)
158 throw new ArgumentException(
"Number of elements to copy is too large.");
159 for (
int i=0; i<count; i++)
160 array.SetValue(getitemcopy(index+i), arrayIndex+i);
163 System.Collections.Generic.IEnumerator<
OdValue> System.Collections.Generic.IEnumerable<
OdValue>.GetEnumerator() {
164 return new OdValueArrayEnumerator(
this);
167 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
168 return new OdValueArrayEnumerator(
this);
181 , System.Collections.Generic.IEnumerator<OdValue>
184 private int currentIndex;
185 private object currentObject;
186 private int currentSize;
189 collectionRef = collection;
191 currentObject =
null;
192 currentSize = collectionRef.
Count;
198 if (currentIndex == -1)
199 throw new InvalidOperationException(
"Enumeration not started.");
200 if (currentIndex > currentSize - 1)
201 throw new InvalidOperationException(
"Enumeration finished.");
202 if (currentObject ==
null)
203 throw new InvalidOperationException(
"Collection modified.");
209 object System.Collections.IEnumerator.Current {
216 int size = collectionRef.
Count;
217 bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
220 currentObject = collectionRef[currentIndex];
222 currentObject =
null;
229 currentObject =
null;
230 if (collectionRef.
Count != currentSize) {
231 throw new InvalidOperationException(
"Collection modified.");
237 currentObject =
null;
251 private uint size() {
257 private uint capacity() {
258 uint ret = TD_DbPINVOKE.OdValueArray_capacity(swigCPtr);
259 if (TD_DbPINVOKE.SWIGPendingException.Pending)
throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
263 private void reserve(uint n) {
264 TD_DbPINVOKE.OdValueArray_reserve(swigCPtr, n);
265 if (TD_DbPINVOKE.SWIGPendingException.Pending)
throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
273 private OdValue getitemcopy(
int index) {
279 private OdValue getitem(
int index) {
280 OdValue ret = (OdValue)
Teigha.
Core.Helpers.odrxCreateObjectInternalUniversal(typeof(OdValue),TD_DbPINVOKE.OdValueArray_getitem(swigCPtr, index),
false);
282 if (TD_DbPINVOKE.SWIGPendingException.Pending)
throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
286 private void setitem(
int index, OdValue val) {
287 TD_DbPINVOKE.OdValueArray_setitem(swigCPtr, index, OdValue.getCPtr(val));
288 if (TD_DbPINVOKE.SWIGPendingException.Pending)
throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
OdValueArrayEnumerator(OdValueArray collection)
OdValueArrayEnumerator GetEnumerator()
static HandleRef getCPtr(OdValueArray obj)
void Insert(int index, OdValue x)
OdValueArray(int capacity)
void CopyTo(OdValue[] array, int arrayIndex)
void AddRange(OdValueArray values)
void Reverse(int index, int count)
bool Contains(OdValue value)
static OdValueArray Repeat(OdValue value, int count)
int LastIndexOf(OdValue value)
OdValueArray(IntPtr cPtr, bool cMemoryOwn)
int IndexOf(OdValue value)
void CopyTo(int index, OdValue[] array, int arrayIndex, int count)
void CopyTo(OdValue[] array)
void RemoveRange(int index, int count)
bool Remove(OdValue value)
void SetRange(int index, OdValueArray values)
OdValueArray(OdValueArray other)
OdValueArray(System.Collections.ICollection c)
OdValueArray GetRange(int index, int count)
virtual void Dispose(bool disposing)
void InsertRange(int index, OdValueArray values)
void resize(uint logicalLength)
static HandleRef getCPtr(OdValue obj)
static global::System.Exception Retrieve()
static bool OdValueArray_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static void OdValueArray_Add(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static global::System.IntPtr OdValueArray_Repeat(HandleRef jarg1, int jarg2)
static void OdValueArray_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void OdValueArray_resize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2)
static void OdValueArray_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, HandleRef jarg3)
static void OdValueArray_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void OdValueArray_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void delete_OdValueArray(global::System.Runtime.InteropServices.HandleRef jarg1)
static int OdValueArray_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static void OdValueArray_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int OdValueArray_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static void OdValueArray_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
static void OdValueArray_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static global::System.IntPtr OdValueArray_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static uint OdValueArray_size(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool OdValueArray_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static global::System.IntPtr OdValueArray_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void OdValueArray_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static void OdValueArray_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)