scala.collection

class RollbackIterator

[source: scala/collection/RollbackIterator.scala]

class RollbackIterator[+A](underlying : Iterator[A])
extends Default[A]
Rollback iterators are buffered iterators which allow for unbounded rollbacks
Author
Sean McDirmid
Method Summary
protected def fill : Seq[A]
used to fill lookahead buffer
override def next : A
Returns the next element.
def read (f : => Unit) : Boolean
returns true if any elements are iterated over during f's execution
override def readIfStartsWith (seq : Seq[Any]) : Boolean
if elements of seq will be iterated over next in this iterator, returns true and iterates over these elements
def remember [T](g : => (Seq[A]) => T) : T
remembers elements iterated over during g's execution and provides these elements to the result of g's execution
def tryRead [T](f : => Option[T]) : Option[T]
will rollback all elements iterated during f's execution if f return false
Methods inherited from Default
putBack, defaultPeek, hasNext, forget, peekList
Methods inherited from PutBack
counted, flushFrom
Methods inherited from Advanced
head, peek, startsWith, toString, advanced
Methods inherited from BufferedIterator
headOpt, buffered, readIf, readWhile
Methods inherited from Iterator
take, drop, map, append, ++, flatMap, filter, takeWhile, dropWhile, zip, zipWithIndex, foreach, forall, exists, contains, find, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, duplicate, copyToArray, readInto, readInto, readInto, copyToBuffer, toList, mkString, mkString, addString
Methods inherited from AnyRef
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Method Details
protected def fill : Seq[A]
used to fill lookahead buffer
Overrides
Default.fill

override def next : A
Returns the next element.
Overrides
Default.next

def tryRead[T](f : => Option[T]) : Option[T]
will rollback all elements iterated during f's execution if f return false

def remember[T](g : => (Seq[A]) => T) : T
remembers elements iterated over during g's execution and provides these elements to the result of g's execution

def read(f : => Unit) : Boolean
returns true if any elements are iterated over during f's execution

override def readIfStartsWith(seq : Seq[Any]) : Boolean
if elements of seq will be iterated over next in this iterator, returns true and iterates over these elements