Example #1
0
 public RangeEnumerator(ArrayBase <T> internalList, MemoryType memoryType)
     : base(memoryType)
 {
     _rangeEnumeratorArrayBase = internalList;
     IteratorState             = -1;
     _index = 0;
 }
Example #2
0
            internal Range(ArrayBase <T> thebase, int start, int count, bool forwards, MemoryType memoryType = MemoryType.Normal)
            {
                this.thebase = thebase; stamp = thebase.stamp;
                delta        = forwards ? 1 : -1;

                this.start = start + thebase.offsetField; this.count = count;
                _rangeInternalEnumerator = new RangeEnumerator(thebase, memoryType);
            }
Example #3
0
 internal void UpdateReference(ArrayBase <T> list, int start, int end, int theStamp)
 {
     _internalIncrementalIndex = start;
     _end          = end;
     _internalList = list;
     Current       = default(T);
     _theStamp     = theStamp;
 }
Example #4
0
 internal void UpdateReference(ArrayBase <T> list, int start, int delta, int theStamp, int count)
 {
     _count = count;
     _start = start;
     _delta = delta;
     _rangeEnumeratorArrayBase = list;
     Current   = default(T);
     _theStamp = theStamp;
 }
Example #5
0
                public override bool MoveNext()
                {
                    ArrayBase <T> list = _rangeEnumeratorArrayBase;

                    list.modifycheck(_theStamp);

                    if (_index < _count)
                    {
                        Current = list.array[_start + _delta * _index];
                        _index++;
                        return(true);
                    }

                    Current = default(T);
                    return(false);
                }
Example #6
0
            public override bool MoveNext()
            {
                ArrayBase <T> list = _internalList;

                if (list.stamp != _theStamp)
                {
                    throw new CollectionModifiedException();
                }

                if (_internalIncrementalIndex < _end)
                {
                    Current = list.array[_internalIncrementalIndex];
                    _internalIncrementalIndex++;

                    return(true);
                }

                Current = default(T);
                return(false);
            }
Example #7
0
 public Enumerator(ArrayBase <T> list, MemoryType memoryType)
     : base(memoryType)
 {
     _internalList = list;
 }