diff options
| author | Rich Hickey <richhickey@gmail.com> | 2006-04-03 22:39:09 +0000 |
|---|---|---|
| committer | Rich Hickey <richhickey@gmail.com> | 2006-04-03 22:39:09 +0000 |
| commit | b46c8d81cb7815d654e5cb77fa6f26edbd1d2944 (patch) | |
| tree | 6f0b7c1a76fc003cc5a3629d39f77fb4a8f35d71 /src/cli/runtime/EnumeratorIter.cs | |
| parent | ec6f1688589700561599e508f4813ffe11c4f065 (diff) | |
Added iteration support
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
+ }
+ }
|
