class
SelfClosingIterator[+A] extends Iterator[A]
Instance Constructors
-
new
SelfClosingIterator(underlying: Iterator[A], close: () ⇒ Unit)
Type Members
-
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
-
def
/:[B](z: B)(op: (B, A) ⇒ B): B
-
def
:\[B](z: B)(op: (A, B) ⇒ B): B
-
final
def
==(arg0: Any): Boolean
-
def
addString(b: StringBuilder): StringBuilder
-
def
addString(b: StringBuilder, sep: String): StringBuilder
-
def
addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
-
def
aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B
-
final
def
asInstanceOf[T0]: T0
-
def
buffered: BufferedIterator[A]
-
def
clone(): AnyRef
-
val
close: () ⇒ Unit
-
-
-
def
contains(elem: Any): Boolean
-
def
copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Unit
-
def
copyToArray[B >: A](xs: Array[B]): Unit
-
def
copyToArray[B >: A](xs: Array[B], start: Int): Unit
-
def
copyToBuffer[B >: A](dest: Buffer[B]): Unit
-
-
def
count(p: (A) ⇒ Boolean): Int
-
-
-
-
-
-
-
-
-
def
finalize(): Unit
-
-
-
def
fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1
-
def
foldLeft[B](z: B)(op: (B, A) ⇒ B): B
-
def
foldRight[B](z: B)(op: (A, B) ⇒ B): B
-
-
def
foreach[U](f: (A) ⇒ U): Unit
-
final
def
getClass(): Class[_]
-
-
def
hasDefiniteSize: Boolean
-
-
def
hashCode(): Int
-
def
indexOf[B >: A](elem: B): Int
-
def
indexWhere(p: (A) ⇒ Boolean): Int
-
-
final
def
isInstanceOf[T0]: Boolean
-
def
isTraversableAgain: Boolean
-
def
length: Int
-
def
map[B](f: (A) ⇒ B): Iterator[B]
-
def
max[B >: A](implicit cmp: Ordering[B]): A
-
def
maxBy[B](f: (A) ⇒ B)(implicit cmp: Ordering[B]): A
-
def
min[B >: A](implicit cmp: Ordering[B]): A
-
def
minBy[B](f: (A) ⇒ B)(implicit cmp: Ordering[B]): A
-
def
mkString: String
-
def
mkString(sep: String): String
-
def
mkString(start: String, sep: String, end: String): String
-
-
def
next(): A
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
padTo[A1 >: A](len: Int, elem: A1): Iterator[A1]
-
-
def
patch[B >: A](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
-
def
product[B >: A](implicit num: Numeric[B]): B
-
def
reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1
-
def
reduceLeft[B >: A](op: (B, A) ⇒ B): B
-
def
reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]
-
def
reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]
-
def
reduceRight[B >: A](op: (A, B) ⇒ B): B
-
def
reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
-
def
reversed: List[A]
-
-
def
scanLeft[B](z: B)(op: (B, A) ⇒ B): Iterator[B]
-
def
scanRight[B](z: B)(op: (A, B) ⇒ B): Iterator[B]
-
-
def
size: Int
-
def
slice(from: Int, until: Int): Iterator[A]
-
-
-
def
sum[B >: A](implicit num: Numeric[B]): B
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
-
-
def
to[Col[_]](implicit cbf: CanBuildFrom[Nothing, A, Col[A]]): Col[A]
-
def
toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]
-
def
toBuffer[B >: A]: Buffer[B]
-
def
toIndexedSeq: IndexedSeq[A]
-
def
toIterable: Iterable[A]
-
def
toIterator: Iterator[A]
-
def
toList: List[A]
-
def
toMap[T, U](implicit ev: <:<[A, (T, U)]): Map[T, U]
-
def
toSeq: Seq[A]
-
def
toSet[B >: A]: Set[B]
-
def
toStream: Stream[A]
-
def
toString(): String
-
-
def
toVector: Vector[A]
-
val
underlying: Iterator[A]
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
-
-
def
zipAll[B, A1 >: A, B1 >: B](that: Iterator[B], thisElem: A1, thatElem: B1): Iterator[(A1, B1)]
-
def
zipWithIndex: Iterator[(A, Int)]
An iterator that can be closed, and closes itself after you exhaust it through iteration. Not quite totally safe, since you can leak filehandles by leaving half-consumed iterators, but at least common things like foreach, mkString, reduce, sum, etc. will all result in close() being called.