1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2003-2006, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
// $Id$
package scala.collection.mutable;
/** This is a simple wrapper class for <code>scala.collection.mutable.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
*/
trait MapProxy[A, B] extends Map[A, B] with collection.MapProxy[A, B] {
def self: Map[A, B];
def update(key: A, value: B): Unit = self.update(key, value);
override def ++=(map: Iterable[Pair[A, B]]): Unit = self ++= map;
override def ++=(it: Iterator[Pair[A, B]]): Unit = self ++= it;
override def incl(mappings: Pair[A, B]*): Unit = self ++= mappings;
def -=(key: A): Unit = self -= key;
override def --=(keys: Iterable[A]): Unit = self --= keys;
override def --=(it: Iterator[A]): Unit = self --= it;
override def excl(keys: A*): Unit = self --= keys;
override def clear: Unit = self.clear;
override def map(f: (A, B) => B): Unit = self.map(f);
override def filter(p: (A, B) => Boolean): Unit = self.filter(p);
override def toString() = self.toString();
override def mappingToString(p: Pair[A, B]) = self.mappingToString(p);
override def <<(cmd: Message[Pair[A, B]]): Unit = self << cmd;
override def clone(): Map[A, B] = new MapProxy[A, B] { def self = MapProxy.this.self.clone() }
}
|