1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- namespace SharpCifs.Util.Sharpen
- {
- public interface ITerator
- {
- bool HasNext();
- object Next();
- void Remove();
- }
- public abstract class Iterator<T> : IEnumerator<T>, ITerator
- {
- private T _lastValue;
- object ITerator.Next()
- {
- return Next();
- }
- public abstract bool HasNext();
- public abstract T Next();
- public abstract void Remove();
- bool IEnumerator.MoveNext()
- {
- if (HasNext())
- {
- _lastValue = Next();
- return true;
- }
- return false;
- }
- void IEnumerator.Reset()
- {
- throw new NotImplementedException();
- }
- void IDisposable.Dispose()
- {
- }
- T IEnumerator<T>.Current
- {
- get { return _lastValue; }
- }
- object IEnumerator.Current
- {
- get { return _lastValue; }
- }
- }
- }
|