/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2003-2008, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
// $Id: Iterable.scala 15188 2008-05-24 15:01:02Z stepancheg $
package scalax.collection.generic.covariant
import annotation.unchecked.uncheckedVariance
/** Collection classes mixing in this class provide a method
* elements
which returns an iterator over all the
* elements contained in the collection.
*
* @note If a collection has a known size
, it should also sub-type Collection
.
* Only potentially unbounded collections should directly sub-class Iterable
.
* @author Matthias Zenger
* @version 1.1, 04/02/2004
*/
trait IterableTemplate[+CC[+B] <: IterableTemplate[CC, B] with Iterable[B], +A]
extends generic.IterableTemplate[CC, A @uncheckedVariance] { self /*: CC[A]*/ => }
// !!! todo: explain why @uncheckedVariance is justified here.