Skip to content
Snippets Groups Projects
UniqueCounter.scala 291 B
package amyc.utils

import scala.collection.mutable

// Generates unique counters for each element of a type K
class UniqueCounter[K] {
  private val elemIds = mutable.Map[K, Int]().withDefaultValue(-1)

  def next(key: K): Int = synchronized {
    elemIds(key) += 1
    elemIds(key)
  }

}