public DirCacheIterator(DirCacheIterator parentIterator, DirCacheTree cacheTree) : base(parentIterator, parentIterator.Path, parentIterator.PathLen + 1) { Cache = parentIterator.Cache; Tree = cacheTree; TreeStart = parentIterator._pointer; TreeEnd = TreeStart + Tree.getEntrySpan(); SubtreeId = parentIterator.SubtreeId; _pointer = parentIterator._pointer; ParseEntry(); }
public override void next(int delta) { while (--delta >= 0) { if (_currentSubtree != null) { _pointer += _currentSubtree.getEntrySpan(); } else { _pointer++; } if (eof()) { break; } ParseEntry(); } }
public DirCacheIterator(DirCacheIterator parentIterator, DirCacheTree cacheTree) : base(parentIterator, parentIterator.Path, parentIterator.PathLen + 1) { if (parentIterator == null) { throw new System.ArgumentNullException("parentIterator"); } Cache = parentIterator.Cache; Tree = cacheTree; TreeStart = parentIterator._pointer; TreeEnd = TreeStart + Tree.getEntrySpan(); SubtreeId = parentIterator.SubtreeId; _pointer = parentIterator._pointer; ParseEntry(); }
public DirCacheIterator(DirCacheIterator parentIterator, DirCacheTree cacheTree) : base(parentIterator, parentIterator.Path, parentIterator.PathLen + 1) { if ( parentIterator == null) { throw new System.ArgumentNullException("parentIterator"); } Cache = parentIterator.Cache; Tree = cacheTree; TreeStart = parentIterator._pointer; TreeEnd = TreeStart + Tree.getEntrySpan(); SubtreeId = parentIterator.SubtreeId; _pointer = parentIterator._pointer; ParseEntry(); }