aboutsummaryrefslogblamecommitdiff
path: root/src/dotty/tools/dotc/util/Set.scala
blob: 3e906c6a87fbcb25c7a424b6117e5150d60f82d7 (plain) (tree)
1
2
3
4
5
6
7
8
9







                                        
                               











                                                      
                        


                              
                 
 
/* NSC -- new Scala compiler
 * Copyright 2005-2012 LAMP/EPFL
 * @author  Martin Odersky
 */
package dotty.tools.dotc.util

/** A common class for lightweight sets.
 */
abstract class Set[T >: Null] {

  def findEntry(x: T): T

  def addEntry(x: T): Unit

  def iterator: Iterator[T]

  def foreach[U](f: T => U): Unit = iterator foreach f

  def apply(x: T): Boolean = contains(x)

  def contains(x: T): Boolean =
    findEntry(x) != null

  def toList = iterator.toList

  def clear: Unit
}