scala.collection

trait IterableProxyLike

[source: scala/collection/IterableProxyLike.scala]

trait IterableProxyLike[+A, +This <: IterableLike[A, This] with Iterable[A]]
extends IterableLike[A, This] with TraversableProxyLike[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
Since
2.8
Direct Known Subclasses:
IterableProxy, MapProxyLike, SeqProxyLike, SetProxyLike

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 iterable 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 iterable object.
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`.
override def view : IterableView[A, This]
Creates a view of this iterable @see IterableView
override def zip [A1 >: A, B, That](that : Iterable[B])(implicit bf : CanBuildFrom[This, (A1, B), That]) : That
Returns an iterable formed from this iterable and another iterable by combining corresponding elements in pairs. If one of the two iterables is longer than the other, its remaining elements are ignored.
override def zipAll [B, A1 >: A, That](that : Iterable[B], thisElem : A1, thatElem : B)(implicit bf : CanBuildFrom[This, (A1, B), That]) : That
Returns an iterable formed from this iterable and the specified iterable that by associating each element of the former with the element at the same position in the latter.
override def zipWithIndex [A1 >: A, That](implicit bf : CanBuildFrom[This, (A1, Int), That]) : That
Zips this iterable with its indices (startiong from 0).
Methods inherited from TraversableProxyLike
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, toSeq, toSet, mkString, mkString, mkString, addString, addString, addString, stringPrefix
Methods inherited from Proxy
hashCode, equals, toString
Methods inherited from IterableLike
thisCollection, toCollection, elements, canEqual, first, firstOption, projection
Methods inherited from TraversableLike
newBuilder (abstract), repr, partialMap, sum, product, min, max, toIndexedSeq, withFilter
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
IterableLike.iterator

override def foreach[U](f : (A) => U) : Unit
Apply a function f to all elements of this iterable 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
IterableLike.foreach, TraversableProxyLike.foreach

override def isEmpty : Boolean
Does this iterable contain no elements?
Overrides
IterableLike.isEmpty, TraversableProxyLike.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
IterableLike.foldRight, TraversableProxyLike.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
IterableLike.reduceRight, TraversableProxyLike.reduceRight

override def toIterable : Iterable[A]
The iterable itself
Overrides
IterableLike.toIterable, TraversableProxyLike.toIterable

override def zip[A1 >: A, B, That](that : Iterable[B])(implicit bf : CanBuildFrom[This, (A1, B), That]) : That
Returns an iterable formed from this iterable and another iterable by combining corresponding elements in pairs. If one of the two iterables is longer than the other, its remaining elements are ignored.
Parameters
that - The iterable providing the second half of each result pair
Overrides
IterableLike.zip

override def zipAll[B, A1 >: A, That](that : Iterable[B], thisElem : A1, thatElem : B)(implicit bf : CanBuildFrom[This, (A1, B), That]) : That
Returns an iterable formed from this iterable and the specified iterable that by associating each element of the former with the element at the same position in the latter.
Parameters
that - iterable that may have a different length as the self iterable.
thisElem - element thisElem is used to fill up the resulting iterable if the self iterable is shorter than that
thatElem - element thatElem is used to fill up the resulting iterable if that is shorter than the self iterable
Returns
Sequence((a0,b0), ..., (an,bn), (elem,bn+1), ..., {elem,bm}) when [a0, ..., an] zip [b0, ..., bm] is invoked where m > n.
Overrides
IterableLike.zipAll

override def zipWithIndex[A1 >: A, That](implicit bf : CanBuildFrom[This, (A1, Int), That]) : That
Zips this iterable with its indices (startiong from 0).
Overrides
IterableLike.zipWithIndex

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
IterableLike.head, TraversableProxyLike.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
IterableLike.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
IterableLike.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 in the same order.
Overrides
IterableLike.sameElements

override def toStream : Stream[A]
Returns a stream with all elements in this iterable object.
Overrides
IterableLike.toStream, TraversableProxyLike.toStream

override def view : IterableView[A, This]
Creates a view of this iterable @see IterableView
Overrides
IterableLike.view, TraversableProxyLike.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
IterableLike.view, TraversableProxyLike.view