diff options
author | Matthias Zenger <mzenger@gmail.com> | 2003-07-21 12:00:16 +0000 |
---|---|---|
committer | Matthias Zenger <mzenger@gmail.com> | 2003-07-21 12:00:16 +0000 |
commit | a56f48282546e250df2b8a98248d912f1298875e (patch) | |
tree | e7782513a811257c2e61e439f06c7c224947230e /sources/scala/collection/MapWrapper.scala | |
parent | 7afa1692c95b5de03002daef0dae2598554f2db0 (diff) | |
download | scala-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.scala | 45 |
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; +} |