src/Pure/Concurrent/volatile.scala
changeset 56690 69b31dc7256e
parent 56689 b8b8b4ff8ad5
child 56691 ad5d7461b370
--- a/src/Pure/Concurrent/volatile.scala	Thu Apr 24 10:33:06 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*  Title:      Pure/Concurrent/volatile.scala
-    Module:     PIDE
-    Author:     Makarius
-
-Volatile variables.
-*/
-
-package isabelle
-
-
-object Volatile
-{
-  def apply[A](init: A): Volatile[A] = new Volatile(init)
-}
-
-
-final class Volatile[A] private(init: A)
-{
-  @volatile private var state: A = init
-  def value: A = state
-  def change(f: A => A) { state = f(state) }
-  def change_result[B](f: A => (B, A)): B =
-  {
-    val (result, new_state) = f(state)
-    state = new_state
-    result
-  }
-
-  override def toString: String = state.toString
-}
-