scala.Iterable
trait Projection

[source: `scala/Iterable.scala`]

`` `trait` Projection[+A]
  `extends` Iterable[A]

  A non-strict projection of an iterable.

Author
  Sean McDirmid

Direct Known Subclasses:
  Seq.Projection, Map.Projection, MutableIterable.Projection

Method Summary
`def` | append [B >: A](rest : => 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
`def` | force : Iterable[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 Iterable
elements (abstract), concat, ++, partition, dropWhile, take, drop, foreach, forall, exists, find, findIndexOf, indexOf, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toList, toStream, mkString, mkString, mkString, addString, addString, copyToArray, isEmpty, hasDefiniteSize

Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized

Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

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
  Iterable.projection

`` `def` force : Iterable[A]

  convert to a copied strict collection

`override` `def` filter(p : (A) => Boolean) : Projection[A]

  non-strict

Overrides
  Iterable.filter

`override` `def` map[B](f : (A) => B) : Projection[B]

  non-strict

Overrides
  Iterable.map

`override` `def` flatMap[B](f : (A) => Iterable[B]) : Projection[B]

  non-strict

Overrides
  Iterable.flatMap

`override` `def` takeWhile(p : (A) => Boolean) : Projection[A]

  non-strict

Overrides
  Iterable.takeWhile

`` `def` append[B >: A](rest : => 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