scala.Seq

trait Projection

[source: scala/Seq.scala]

trait Projection[+A]
extends Seq[A] with Projection[A]
Direct Known Subclasses:
RandomAccessSeq.Projection, Seq.Projection.MapProjection, Seq.Projection.ComputeSize, Stream, MutableSeq.Projection

Method Summary
override def append [B >: A](that : => Iterable[B]) : Projection[B]
The projection resulting from the concatenation of this projection with the rest projection.
override def filter (p : (A) => Boolean) : Projection[A]
non-strict
override def flatMap [B](f : (A) => Iterable[B]) : Projection[B]
non-strict
override def force : Seq[A]
convert to a copied strict collection
override def map [B](f : (A) => B) : Projection[B]
non-strict
override def projection : Projection[A]
returns a projection that can be used to call non-strict filter, map, and flatMap methods that build projections of the collection.
override def takeWhile (p : (A) => Boolean) : Projection[A]
non-strict
Methods inherited from Seq
length (abstract), lengthCompare, size, isEmpty, concat, last, lastOption, headOption, ++, isDefinedAt, lastIndexOf, take, drop, slice, dropWhile, reverse, contains, subseq, toArray, equalsWith, startsWith, endsWith, indexOf, containsSlice
Methods inherited from Collection
toString, stringPrefix
Methods inherited from Iterable
elements (abstract), partition, foreach, forall, exists, find, findIndexOf, indexOf, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toList, toStream, mkString, mkString, mkString, addString, addString, copyToArray, hasDefiniteSize
Methods inherited from PartialFunction
orElse, andThen
Methods inherited from Function1
apply (abstract), compose
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
protected abstract class ComputeSize [B] extends Projection[B]
protected class MapProjection [B](f : (A) => B) extends Projection[B]
Method Details
override def projection : Projection[A]
returns a projection that can be used to call non-strict filter, map, and flatMap methods that build projections of the collection.
Overrides
Seq.projection, Projection.projection

override def force : Seq[A]
convert to a copied strict collection
Overrides
Projection.force

override def map[B](f : (A) => B) : Projection[B]
non-strict
Overrides
Seq.map, Projection.map

override def flatMap[B](f : (A) => Iterable[B]) : Projection[B]
non-strict
Overrides
Seq.flatMap, Projection.flatMap

override def append[B >: A](that : => Iterable[B]) : Projection[B]
The projection resulting from the concatenation of this projection with the rest projection.
Parameters
rest - The projection that gets appended to this projection
Overrides
Projection.append

override def takeWhile(p : (A) => Boolean) : Projection[A]
non-strict
Overrides
Seq.takeWhile, Projection.takeWhile

override def filter(p : (A) => Boolean) : Projection[A]
non-strict
Overrides
Seq.filter, Projection.filter