summaryrefslogtreecommitdiff
path: root/sources/scala/collection/MapWrapper.scala
diff options
context:
space:
mode:
authorMatthias Zenger <mzenger@gmail.com>2003-07-21 12:00:16 +0000
committerMatthias Zenger <mzenger@gmail.com>2003-07-21 12:00:16 +0000
commita56f48282546e250df2b8a98248d912f1298875e (patch)
treee7782513a811257c2e61e439f06c7c224947230e /sources/scala/collection/MapWrapper.scala
parent7afa1692c95b5de03002daef0dae2598554f2db0 (diff)
downloadscala-a56f48282546e250df2b8a98248d912f1298875e.tar.gz
scala-a56f48282546e250df2b8a98248d912f1298875e.tar.bz2
scala-a56f48282546e250df2b8a98248d912f1298875e.zip
Added some generic wrapping functionality.
Diffstat (limited to 'sources/scala/collection/MapWrapper.scala')
-rw-r--r--sources/scala/collection/MapWrapper.scala45
1 files changed, 45 insertions, 0 deletions
diff --git a/sources/scala/collection/MapWrapper.scala b/sources/scala/collection/MapWrapper.scala
new file mode 100644
index 0000000000..29dd53122e
--- /dev/null
+++ b/sources/scala/collection/MapWrapper.scala
@@ -0,0 +1,45 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2003, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+** $Id$
+\* */
+
+package scala.collection;
+
+
+/** This is a simple wrapper class for <code>scala.collection.Map</code>.
+ * It is most useful for assembling customized map abstractions
+ * dynamically using object composition and forwarding.
+ *
+ * @author Matthias Zenger
+ * @version 1.0, 21/07/2003
+ */
+class MapWrapper[A, +B](map: Map[A, B]) extends Map[A, B] {
+
+ def size: Int = map.size;
+
+ def get(key: A): Option[B] = map.get(key);
+
+ override def isEmpty: Boolean = map.isEmpty;
+
+ override def apply(key: A): B = map.apply(key);
+
+ override def contains(key: A): Boolean = map.contains(key);
+
+ override def isDefinedAt(key: A) = map.isDefinedAt(key);
+
+ override def keys: Iterator[A] = map.keys;
+
+ override def values: Iterator[B] = map.values;
+
+ override def foreach(f: (A, B) => Unit) = map.foreach(f);
+
+ override def toList: List[Pair[A, B]] = map.toList;
+
+ override def toString() = map.toString();
+
+ def elements: Iterator[Pair[A, B]] = map.elements;
+}