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.cs55
1 files changed, 0 insertions, 55 deletions
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
deleted file mode 100644
index f8efdde2a..000000000
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using System;
-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;
-
- public EnumeratorWrapper (object collection, IEnumerator<T> e)
- {
- this._e = e;
- this._collection = collection;
- _more = e.MoveNext ();
- }
-
- 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 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);
- }
- }
-}