From a8ba1dbdec6976596e005b7ffe2d06355280a10f Mon Sep 17 00:00:00 2001 From: Rich Hickey Date: Fri, 4 Aug 2006 23:43:39 +0000 Subject: added AnArray --- src/cli/runtime/AnArray.cs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/cli/runtime/AnArray.cs (limited to 'src/cli/runtime/AnArray.cs') diff --git a/src/cli/runtime/AnArray.cs b/src/cli/runtime/AnArray.cs new file mode 100644 index 00000000..6bdb9d29 --- /dev/null +++ b/src/cli/runtime/AnArray.cs @@ -0,0 +1,45 @@ +/** + * 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 clojure.lang +{ +public abstract class AnArray : Obj, IArray { + + public override Obj withMeta(IPersistentMap meta) + { + Obj ret = (Obj)MemberwiseClone(); + ret._meta = meta; + return ret; + } + + + #region IArray Members + + abstract public int length(); + + abstract public object nth(int i); + + abstract public IArray assocN(int i, object val); + + #endregion + + #region IPersistentCollection Members + + abstract public int count(); + + abstract public ISeq seq(); + + #endregion + } + +} -- cgit v1.2.3-18-g5258