scala.collection

trait TraversableViewLike

[source: scala/collection/TraversableViewLike.scala]

trait TraversableViewLike[+A, +Coll, +This <: TraversableView[A, Coll] with TraversableViewLike[A, Coll, This]]
extends Traversable[A] with TraversableLike[A, This]

A template trait for views of Traversable.
Every subclass has to implement the foreach method.

Notes
Methods such as map/flatMap on this will not invoke the implicitly passed Builder factory, but will return a new view directly, to preserve by-name behavior. The new view is then cast to the factory's result type. This means that every CanBuildFrom that takes a View as its From type parameter must yield the same view (or a generic superclass of it) as its result parameter. If that assumption is broken, cast errors might result.
Author
Martin Odersky
Version
2.8
Direct Known Subclasses:
IterableViewLike, TraversableView

Method Summary
override def ++ [B >: A, That](that : Traversable[B])(implicit bf : CanBuildFrom[This, B, That]) : That
Creates a new traversable of type `That` which contains all elements of this traversable followed by all elements of another traversable.
override def ++ [B >: A, That](that : Iterator[B])(implicit bf : CanBuildFrom[This, B, That]) : That
Creates a new traversable of type `That` which contains all elements of this traversable followed by all elements of an iterator.
override def drop (n : Int) : This
Returns this traversable without its n first elements If this traversable has less than n elements, the empty traversable is returned.
override def dropWhile (p : (A) => Boolean) : This
Returns the longest suffix of this traversable whose first element does not satisfy the predicate p.
override def filter (p : (A) => Boolean) : This
Returns all the elements of this traversable that satisfy the predicate p. The order of the elements is preserved.
override def flatMap [B, That](f : (A) => Traversable[B])(implicit bf : CanBuildFrom[This, B, That]) : That
Applies the given function f to each element of this traversable, then concatenates the results in a traversable of type That.
def force [B >: A, That](implicit bf : CanBuildFrom[Coll, B, That]) : That
override def init : This
a traversable consisting of all elements of this traversable except the last one.
override def map [B, That](f : (A) => B)(implicit bf : CanBuildFrom[This, B, That]) : That
Returns the traversable that results from applying the given function f to each element of this traversable and collecting the results in a traversable of type `That`.
protected def newAppended [B >: A](that : Traversable[B]) : Transformed[B]
Boilerplate method, to override in each subclass This method could be eliminated if Scala had virtual classes
protected[this] override def newBuilder : Builder[A, This]
The builder that builds instances of CC[A]
protected def newDroppedWhile (p : (A) => Boolean) : Transformed[A]
protected def newFiltered (p : (A) => Boolean) : Transformed[A]
protected def newFlatMapped [B](f : (A) => Traversable[B]) : Transformed[B]
protected def newMapped [B](f : (A) => B) : Transformed[B]
protected def newSliced (_from : Int, _until : Int) : Transformed[A]
protected def newTakenWhile (p : (A) => Boolean) : Transformed[A]
override def slice (from : Int, until : Int) : This
A sub-traversable starting at index `from` and extending up to (but not including) index `until`.
override def span (p : (A) => Boolean) : (This, This)
Returns a pair consisting of the longest prefix of the traversable whose elements all satisfy the given predicate, and the rest of the traversable.
override def splitAt (n : Int) : (This, This)
Split the traversable at a given point and return the two parts thus created.
override def stringPrefix : java.lang.String
Defines the prefix of this object's toString representation.
override def take (n : Int) : This
Return a traversable consisting only of the first n elements of this traversable, or else the whole traversable, if it has less than n elements.
override def takeWhile (p : (A) => Boolean) : This
Returns the longest prefix of this traversable whose elements satisfy the predicate p.
protected abstract def underlying : Coll
Methods inherited from Traversable
companion
Methods inherited from GenericTraversableTemplate
foreach (abstract), genericBuilder, unzip, flatten, transpose
Methods inherited from TraversableLike
foreach (abstract), repr, thisCollection, toCollection, isEmpty, nonEmpty, size, hasDefiniteSize, filterNot, partialMap, remove, partition, groupBy, forall, exists, count, find, foldLeft, /:, foldRight, :\, reduceLeft, reduceLeftOption, reduceRight, reduceRightOption, sum, product, min, max, head, headOption, tail, last, lastOption, copyToBuffer, copyToArray, copyToArray, toArray, toList, toIterable, toSeq, toIndexedSeq, toStream, toSet, mkString, mkString, mkString, addString, addString, addString, toString, view, view, withFilter
Methods inherited from AnyRef
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Class Summary
trait Appended [B >: A] extends Transformed[B]
trait DroppedWhile extends Transformed[A]
trait Filtered extends Transformed[A]
trait FlatMapped [B] extends Transformed[B]
trait Mapped [B] extends Transformed[B]
trait Sliced extends Transformed[A]
pre: from >= 0
trait TakenWhile extends Transformed[A]
trait Transformed [+B] extends TraversableView[B, Coll] with AnyRef
Method Details
protected[this] override def newBuilder : Builder[A, This]
The builder that builds instances of CC[A]
Overrides
TraversableLike.newBuilder

protected abstract def underlying : Coll

def force[B >: A, That](implicit bf : CanBuildFrom[Coll, B, That]) : That

protected def newAppended[B >: A](that : Traversable[B]) : Transformed[B]
Boilerplate method, to override in each subclass This method could be eliminated if Scala had virtual classes

protected def newMapped[B](f : (A) => B) : Transformed[B]

protected def newFlatMapped[B](f : (A) => Traversable[B]) : Transformed[B]

protected def newFiltered(p : (A) => Boolean) : Transformed[A]

protected def newSliced(_from : Int, _until : Int) : Transformed[A]

protected def newDroppedWhile(p : (A) => Boolean) : Transformed[A]

protected def newTakenWhile(p : (A) => Boolean) : Transformed[A]

override def ++[B >: A, That](that : Traversable[B])(implicit bf : CanBuildFrom[This, B, That]) : That
Creates a new traversable of type `That` which contains all elements of this traversable followed by all elements of another traversable.
Parameters
that - The traversable to append
Overrides
TraversableLike.++

override def ++[B >: A, That](that : Iterator[B])(implicit bf : CanBuildFrom[This, B, That]) : That
Creates a new traversable of type `That` which contains all elements of this traversable followed by all elements of an iterator.
Parameters
that - The iterator to append
Overrides
TraversableLike.++

override def map[B, That](f : (A) => B)(implicit bf : CanBuildFrom[This, B, That]) : That
Returns the traversable that results from applying the given function f to each element of this traversable and collecting the results in a traversable of type `That`.
Parameters
f - function to apply to each element.
Overrides
TraversableLike.map

override def flatMap[B, That](f : (A) => Traversable[B])(implicit bf : CanBuildFrom[This, B, That]) : That
Applies the given function f to each element of this traversable, then concatenates the results in a traversable of type That.
Parameters
f - the function to apply on each element.
Overrides
TraversableLike.flatMap

override def filter(p : (A) => Boolean) : This
Returns all the elements of this traversable that satisfy the predicate p. The order of the elements is preserved.
Parameters
p - the predicate used to filter the traversable.
Returns
the elements of this traversable satisfying p.
Overrides
TraversableLike.filter

override def init : This
a traversable consisting of all elements of this traversable except the last one.
Throws
Predef.UnsupportedOperationException - if the stream is empty.
Notes
Might return different results for different runs, unless this traversable is ordered
Overrides
TraversableLike.init

override def drop(n : Int) : This
Returns this traversable without its n first elements If this traversable has less than n elements, the empty traversable is returned.
Parameters
n - the number of elements to drop
Returns
the new traversable
Notes
Might return different results for different runs, unless this traversable is ordered
Overrides
TraversableLike.drop

override def take(n : Int) : This
Return a traversable consisting only of the first n elements of this traversable, or else the whole traversable, if it has less than n elements.
Parameters
n - the number of elements to take
Notes
Might return different results for different runs, unless this traversable is ordered
Overrides
TraversableLike.take

override def slice(from : Int, until : Int) : This
A sub-traversable starting at index `from` and extending up to (but not including) index `until`.
Notes
c.slice(from, to) is equivalent to (but possibly more efficient than) c.drop(from).take(to - from)
Might return different results for different runs, unless this traversable is ordered
Parameters
from - The index of the first element of the returned subsequence
until - The index of the element following the returned subsequence
Overrides
TraversableLike.slice

override def dropWhile(p : (A) => Boolean) : This
Returns the longest suffix of this traversable whose first element does not satisfy the predicate p.
Parameters
p - the test predicate.
Notes
Might return different results for different runs, unless this traversable is ordered
Overrides
TraversableLike.dropWhile

override def takeWhile(p : (A) => Boolean) : This
Returns the longest prefix of this traversable whose elements satisfy the predicate p.
Parameters
p - the test predicate.
Notes
Might return different results for different runs, unless this traversable is ordered
Overrides
TraversableLike.takeWhile

override def span(p : (A) => Boolean) : (This, This)
Returns a pair consisting of the longest prefix of the traversable whose elements all satisfy the given predicate, and the rest of the traversable.
Parameters
p - the test predicate
Returns
a pair consisting of the longest prefix of the traversable whose elements all satisfy p, and the rest of the traversable.
Notes
Might return different results for different runs, unless this traversable is ordered
Overrides
TraversableLike.span

override def splitAt(n : Int) : (This, This)
Split the traversable at a given point and return the two parts thus created.
Parameters
n - the position at which to split
Returns
a pair of traversables composed of the first n elements, and the other elements.
Notes
Might return different results for different runs, unless this traversable is ordered
Overrides
TraversableLike.splitAt

override def stringPrefix : java.lang.String
Defines the prefix of this object's toString representation.
Overrides
TraversableLike.stringPrefix