scala.collection.generic

trait IterableProxyTemplate

[source: scala/collection/generic/IterableProxyTemplate.scala]

trait IterableProxyTemplate[+A, +This <: IterableTemplate[A, This] with Iterable[A]]
extends IterableTemplate[A, This] with TraversableProxyTemplate[A, This]
This trait implements a proxy for iterable objects. It forwards all calls to a different iterable object
Author
Martin Odersky
Version
2.8
Direct Known Subclasses:
IterableProxy, MapProxyTemplate, SequenceProxyTemplate, SetProxyTemplate

Method Summary
override def dropRight (n : Int) : This
Returns the iterable wihtout its rightmost n elements.
override def foldRight [B](z : B)(op : (A, B) => B) : B
Combines the elements of this iterable together using the binary function f, from right to left, and starting with the value z.
override def foreach [U](f : (A) => U) : Unit
Apply a function f to all elements of this traversable object.
override def head : A
The first element of this iterable.
override def isEmpty : Boolean
Does this iterable contain no elements?
override def iterator : Iterator[A]
Creates a new iterator over all elements contained in this iterable object.
override def reduceRight [B >: A](op : (A, B) => B) : B
Combines the elements of this iterable object together using the binary operator op, from right to left
override def sameElements [B >: A](that : Iterable[B]) : Boolean
Checks if the other iterable object contains the same elements as this one.
override def takeRight (n : Int) : This
Returns the rightmost n elements from this iterable.
override def toIterable : Iterable[A]
The iterable itself
override def toStream : Stream[A]
Returns a stream with all elements in this traversable object.
override def view : IterableView[A, This]
Creates a view of this iterable @see IterableView
override def view (from : Int, until : Int) : IterableView[A, This]
A sub-iterable view starting at index `from` and extending up to (but not including) index `until`.
Methods inherited from TraversableProxyTemplate
self (abstract), nonEmpty, size, hasDefiniteSize, ++, ++, map, flatMap, filter, filterNot, remove, partition, groupBy, forall, exists, count, find, foldLeft, /:, :\, reduceLeft, reduceLeftOption, reduceRightOption, headOption, tail, last, lastOption, init, take, drop, slice, takeWhile, dropWhile, span, splitAt, copyToBuffer, copyToArray, copyToArray, toArray, toList, toSequence, toSet, mkString, mkString, mkString, addString, addString, addString, stringPrefix
Methods inherited from Proxy
hashCode, equals, toString
Methods inherited from IterableTemplate
elements, first, firstOption, toSeq, projection
Methods inherited from TraversableTemplate
newBuilder (abstract), thisCollection, filterMap
Methods inherited from AnyRef
getClass, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Method Details
override def iterator : Iterator[A]
Creates a new iterator over all elements contained in this iterable object.
Returns
the new iterator
Overrides
IterableTemplate.iterator

override def foreach[U](f : (A) => U) : Unit
Apply a function f to all elements of this traversable object.
Parameters
f - A function that is applied for its side-effect to every element. The result (of arbitrary type U) of function `f` is discarded.
Notes
This method underlies the implementation of most other bulk operations. Implementing `foreach` with `iterator` is often suboptimal. So `foreach` should be overridden in concrete collection classes if a more efficient implementation is available.
Overrides
IterableTemplate.foreach, TraversableProxyTemplate.foreach

override def isEmpty : Boolean
Does this iterable contain no elements?
Overrides
IterableTemplate.isEmpty, TraversableProxyTemplate.isEmpty

override def foldRight[B](z : B)(op : (A, B) => B) : B
Combines the elements of this iterable together using the binary function f, from right to left, and starting with the value z.
Notes
Will not terminate for infinite-sized collections.
Might return different results for different runs, unless this iterable is ordered, or the operator is associative and commutative.
Returns
f(a0, f(a1, f(..., f(an, z)...))) if the iterable is [a0, a1, ..., an].
Overrides
IterableTemplate.foldRight, TraversableProxyTemplate.foldRight

override def reduceRight[B >: A](op : (A, B) => B) : B
Combines the elements of this iterable object together using the binary operator op, from right to left
Notes
Will not terminate for infinite-sized collections.
Might return different results for different runs, unless this iterable is ordered, or the operator is associative and commutative.
Parameters
op - The operator to apply
Returns
a0 op (... op (an-1 op an)...) if the iterable object has elements a0, a1, ..., an.
Throws
Predef.UnsupportedOperationException - if the iterator is empty.
Overrides
IterableTemplate.reduceRight, TraversableProxyTemplate.reduceRight

override def toIterable : Iterable[A]
The iterable itself
Overrides
IterableTemplate.toIterable, TraversableProxyTemplate.toIterable

override def head : A
The first element of this iterable.
Notes
Might return different results for different runs, unless this iterable is ordered
Throws
Predef.NoSuchElementException - if the iterable is empty.
Overrides
IterableTemplate.head, TraversableProxyTemplate.head

override def takeRight(n : Int) : This
Returns the rightmost n elements from this iterable.
Parameters
n - the number of elements to take
Notes
Might return different results for different runs, unless this iterable is ordered
Overrides
IterableTemplate.takeRight

override def dropRight(n : Int) : This
Returns the iterable wihtout its rightmost n elements.
Parameters
n - the number of elements to take
Notes
Might return different results for different runs, unless this iterable is ordered
Overrides
IterableTemplate.dropRight

override def sameElements[B >: A](that : Iterable[B]) : Boolean
Checks if the other iterable object contains the same elements as this one.
Notes
will not terminate for infinite-sized iterables.
Might return different results for different runs, unless this iterable is ordered
Parameters
that - the other iterable
Returns
true, iff both iterables contain the same elements.
Overrides
IterableTemplate.sameElements

override def toStream : Stream[A]
Returns a stream with all elements in this traversable object.
Overrides
IterableTemplate.toStream, TraversableProxyTemplate.toStream

override def view : IterableView[A, This]
Creates a view of this iterable @see IterableView
Overrides
IterableTemplate.view, TraversableProxyTemplate.view

override def view(from : Int, until : Int) : IterableView[A, This]
A sub-iterable view starting at index `from` and extending up to (but not including) index `until`.
Parameters
from - The index of the first element of the slice
until - The index of the element following the slice
Notes
The difference between `view` and `slice` is that `view` produces a view of the current iterable, whereas `slice` produces a new iterable.
Might return different results for different runs, unless this iterable is ordered
view(from, to) is equivalent to view.slice(from, to)
Overrides
IterableTemplate.view, TraversableProxyTemplate.view