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
`override def` | filter (p : (A) => Boolean) : Projection[A] non-strict
`override def` | flatMap [B](f : (A) => Iterable[B]) : Projection[B] non-strict
`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.

Methods inherited from Iterable
elements (abstract), concat, ++, takeWhile, dropWhile, take, drop, foreach, forall, exists, find, findIndexOf, indexOf, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toList, 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

`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