aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs')
-rw-r--r--Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs91
1 files changed, 47 insertions, 44 deletions
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
index f8efdde2a..e6fbdd411 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
+++ b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
@@ -4,52 +4,55 @@ using System.Collections.Generic;
namespace SharpCifs.Util.Sharpen
{
internal class EnumeratorWrapper<T> : Iterator<T>
- {
- object _collection;
- IEnumerator<T> _e;
- T _lastVal;
- bool _more;
- bool _copied;
+ {
+ object _collection;
+ IEnumerator<T> _e;
+ T _lastVal;
+ bool _more;
+ bool _copied;
- public EnumeratorWrapper (object collection, IEnumerator<T> e)
- {
- this._e = e;
- this._collection = collection;
- _more = e.MoveNext ();
- }
+ public EnumeratorWrapper(object collection, IEnumerator<T> e)
+ {
+ this._e = e;
+ this._collection = collection;
+ _more = e.MoveNext();
+ }
- public override bool HasNext ()
- {
- return _more;
- }
+ public override bool HasNext()
+ {
+ return _more;
+ }
- public override T Next ()
- {
- if (!_more)
- throw new NoSuchElementException ();
- _lastVal = _e.Current;
- _more = _e.MoveNext ();
- return _lastVal;
- }
+ public override T Next()
+ {
+ if (!_more)
+ throw new NoSuchElementException();
+ _lastVal = _e.Current;
+ _more = _e.MoveNext();
+ return _lastVal;
+ }
- public override void Remove ()
- {
- ICollection<T> col = _collection as ICollection<T>;
- if (col == null) {
- throw new NotSupportedException ();
- }
- if (_more && !_copied) {
- // Read the remaining elements, since the current enumerator
- // will be invalid after removing the element
- List<T> remaining = new List<T> ();
- do {
- remaining.Add (_e.Current);
- } while (_e.MoveNext ());
- _e = remaining.GetEnumerator ();
- _e.MoveNext ();
- _copied = true;
- }
- col.Remove (_lastVal);
- }
- }
+ public override void Remove()
+ {
+ ICollection<T> col = _collection as ICollection<T>;
+ if (col == null)
+ {
+ throw new NotSupportedException();
+ }
+ if (_more && !_copied)
+ {
+ // Read the remaining elements, since the current enumerator
+ // will be invalid after removing the element
+ List<T> remaining = new List<T>();
+ do
+ {
+ remaining.Add(_e.Current);
+ } while (_e.MoveNext());
+ _e = remaining.GetEnumerator();
+ _e.MoveNext();
+ _copied = true;
+ }
+ col.Remove(_lastVal);
+ }
+ }
}