1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 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; }
- }
- }
- }
|