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