diff options
Diffstat (limited to 'src/cli/runtime/EnumeratorIter.cs')
-rw-r--r-- | src/cli/runtime/EnumeratorIter.cs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/cli/runtime/EnumeratorIter.cs b/src/cli/runtime/EnumeratorIter.cs new file mode 100644 index 00000000..ccceda93 --- /dev/null +++ b/src/cli/runtime/EnumeratorIter.cs @@ -0,0 +1,43 @@ +/** + * Copyright (c) Rich Hickey. All rights reserved. + * The use and distribution terms for this software are covered by the + * Common Public License 1.0 (http://opensource.org/licenses/cpl.php) + * which can be found in the file CPL.TXT at the root of this distribution. + * By using this software in any fashion, you are agreeing to be bound by + * the terms of this license. + * You must not remove this notice, or any other, from this software. + **/ +
+
+using System;
+using System.Collections;
+
+namespace org.clojure.runtime
+ {
+ internal class EnumeratorIter:Iter
+ {
+ IEnumerator e;
+
+ //presumes that e has already been successfully MovedNext()ed
+ internal EnumeratorIter(IEnumerator e)
+ {
+ this.e = e;
+ }
+
+ #region Iter Members
+
+ public object get()
+ {
+ return e.Current;
+ }
+
+ public Iter iterate()
+ {
+ if (e.MoveNext())
+ return this;
+ return null;
+ }
+
+ #endregion
+ }
+ }
|