|
Scala example source code file (MapProxy.scala)
The MapProxy.scala Scala example source code/* __ *\ ** ________ ___ / / ___ Scala API ** ** / __/ __// _ | / / / _ | (c) 2003-2013, LAMP/EPFL ** ** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ package scala package collection package mutable /** * This trait implements a proxy for [[scala.collection.mutable.Map]]. * * It is most useful for assembling customized map abstractions * dynamically using object composition and forwarding. * * @author Matthias Zenger, Martin Odersky * @version 2.0, 31/12/2006 * @since 1 */ @deprecated("Proxying is deprecated due to lack of use and compiler-level support.", "2.11.0") trait MapProxy[A, B] extends Map[A, B] with MapProxyLike[A, B, Map[A, B]] { private def newProxy[B1 >: B](newSelf: Map[A, B1]): MapProxy[A, B1] = new MapProxy[A, B1] { val self = newSelf } override def repr = this override def empty: MapProxy[A, B] = new MapProxy[A, B] { val self = MapProxy.this.self.empty } override def updated [B1 >: B](key: A, value: B1) = newProxy(self.updated(key, value)) override def + [B1 >: B] (kv: (A, B1)): Map[A, B1] = newProxy(self + kv) override def + [B1 >: B] (elem1: (A, B1), elem2: (A, B1), elems: (A, B1) *) = newProxy(self.+(elem1, elem2, elems: _*)) override def ++[B1 >: B](xs: GenTraversableOnce[(A, B1)]) = newProxy(self ++ xs.seq) override def -(key: A) = newProxy(self - key) override def += (kv: (A, B)) = { self += kv ; this } override def -= (key: A) = { self -= key ; this } } Other Scala source code examplesHere is a short list of links related to this Scala MapProxy.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.