All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.sciss.lucre.Disposable.scala Maven / Gradle / Ivy

Go to download

Extension of Scala-STM, adding optional durability layer, and providing API for confluent and reactive event layers

There is a newer version: 4.6.6
Show newest version
/*
 *  Disposable.scala
 *  (Lucre 4)
 *
 *  Copyright (c) 2009-2021 Hanns Holger Rutz. All rights reserved.
 *
 *  This software is published under the GNU Affero General Public License v3+
 *
 *
 *  For further information, please contact Hanns Holger Rutz at
 *  [email protected]
 */

package de.sciss.lucre

object Disposable {
  private object Empty extends Disposable[Any] {
    override def toString = "TDisposable.empty"

    def dispose()(implicit tx: Any): Unit = ()
  }

  def empty[T]: Disposable[T] = Empty

  def seq[T](xs: Disposable[T]*): Disposable[T] = new Disposable[T] {
    def dispose()(implicit tx: T): Unit = xs.foreach(_.dispose())
  }
}
trait Disposable[-T] {
  def dispose()(implicit tx: T): Unit
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy