コード例 #1
0
 /// <summary>
 /// Constructs an instance of HeapedArrayImpl.
 /// </summary>
 /// <param name="heapMgr">Reference to the heap manager.</param>
 public HeapedArrayImpl(IHeapManagerInternals heapMgr)
     : base()
 {
     this.isReadyToUse = false;
     this.connector    = null;
     this.items        = new HeapedValueImpl <T> [0];
     this.heapManager  = heapMgr;
 }
コード例 #2
0
        private static IHeapConnector CreateNumRectArray(IHeapManagerInternals heapMgr, int count)
        {
            IHeapConnector retObj = heapMgr.NewArray(heapMgr.GetHeapType("numrect").ID, count);

            for (int i = 0; i < count; i++)
            {
                ((IValueWrite <RCNumRectangle>)retObj.AccessArrayItem(i)).Write(new RCNumRectangle(i, i + 1, i + 2, i + 3));
            }
            return(retObj);
        }
コード例 #3
0
        private static IHeapConnector CreateNumArray(IHeapManagerInternals heapMgr, int count)
        {
            IHeapConnector retObj = heapMgr.NewArray(heapMgr.GetHeapType("num").ID, count);

            for (int i = 0; i < count; i++)
            {
                ((IValueWrite <RCNumber>)retObj.AccessArrayItem(i)).Write((RCNumber)i);
            }
            return(retObj);
        }
コード例 #4
0
 private static void GetIDs(IHeapManagerInternals heapMgr)
 {
     testType = heapMgr.GetHeapType("TestType");
     TESTTYPE_BYTEARRAY_IDX    = testType.GetFieldIdx("ByteArray");
     TESTTYPE_SHORTARRAY_IDX   = testType.GetFieldIdx("ShortArray");
     TESTTYPE_INTARRAY_IDX     = testType.GetFieldIdx("IntArray");
     TESTTYPE_LONGARRAY_IDX    = testType.GetFieldIdx("LongArray");
     TESTTYPE_NUMARRAY_IDX     = testType.GetFieldIdx("NumArray");
     TESTTYPE_INTVECTARRAY_IDX = testType.GetFieldIdx("IntVectArray");
     TESTTYPE_NUMVECTARRAY_IDX = testType.GetFieldIdx("NumVectArray");
     TESTTYPE_INTRECTARRAY_IDX = testType.GetFieldIdx("IntRectArray");
     TESTTYPE_NUMRECTARRAY_IDX = testType.GetFieldIdx("NumRectArray");
     TESTTYPE_NEXT_IDX         = testType.GetFieldIdx("Next");
 }
コード例 #5
0
        private static IHeapConnector CreateTestObj(IHeapManagerInternals heapMgr)
        {
            IHeapConnector retObj = heapMgr.New(testType.ID);

            retObj.AccessField(TESTTYPE_BYTEARRAY_IDX).PointTo(CreateByteArray(heapMgr, 1));
            retObj.AccessField(TESTTYPE_SHORTARRAY_IDX).PointTo(CreateShortArray(heapMgr, 2));
            retObj.AccessField(TESTTYPE_INTARRAY_IDX).PointTo(CreateIntArray(heapMgr, 3));
            retObj.AccessField(TESTTYPE_LONGARRAY_IDX).PointTo(CreateLongArray(heapMgr, 4));
            retObj.AccessField(TESTTYPE_NUMARRAY_IDX).PointTo(CreateNumArray(heapMgr, 5));
            retObj.AccessField(TESTTYPE_INTVECTARRAY_IDX).PointTo(CreateIntVectArray(heapMgr, 6));
            retObj.AccessField(TESTTYPE_NUMVECTARRAY_IDX).PointTo(CreateNumVectArray(heapMgr, 7));
            retObj.AccessField(TESTTYPE_INTRECTARRAY_IDX).PointTo(CreateIntRectArray(heapMgr, 8));
            retObj.AccessField(TESTTYPE_NUMRECTARRAY_IDX).PointTo(CreateNumRectArray(heapMgr, 9));
            return(retObj);
        }