scala

trait IterableProxy

[source: scala/IterableProxy.scala]

trait IterableProxy[+A]
extends Iterable[A] with Proxy
This class implements a proxy for iterable objects. It forwards all calls to a different iterable object.
Author
Matthias Zenger
Martin Odersky
Version
2.0, 31/12/2006
Direct Known Subclasses:
CollectionProxy, SeqProxy, MapProxy, SetProxy

Method Summary
override def /: [B](z : B)(op : (B, A) => B) : B
Similar to foldLeft but can be used as an operator with the order of list and zero arguments reversed. That is, z /: xs is the same as xs foldLeft z
override def :\ [B](z : B)(op : (A, B) => B) : B
An alias for foldRight. That is, xs :\ z is the same as xs foldRight z
override def addString (buf : StringBuilder, start : java.lang.String, sep : java.lang.String, end : java.lang.String) : StringBuilder
Write all elements of this string into given string builder.
override def concat [B >: A](that : Iterable[B]) : Collection[B]
Appends two iterable objects.
override def copyToBuffer [B >: A](dest : Buffer[B]) : Unit
Copy all elements to a given buffer
override def drop (n : Int) : Collection[A]
Returns this iterable without its n first elements If this iterable has less than n elements, the empty iterable is returned.
override def dropWhile (p : (A) => Boolean) : Collection[A]
Returns the longest suffix of this iterable whose first element does not satisfy the predicate p.
override def elements : Iterator[A]
Creates a new iterator over all elements contained in this object.
override def exists (p : (A) => Boolean) : Boolean
Apply a predicate p to all elements of this iterable object and return true, iff there is at least one element for which p yields true.
override def filter (p : (A) => Boolean) : Iterable[A]
Returns all the elements of this iterable that satisfy the predicate p. The order of the elements is preserved.
override def find (p : (A) => Boolean) : Option[A]
Find and return the first element of the iterable object satisfying a predicate, if any.
override def findIndexOf (p : (A) => Boolean) : Int
Returns index of the first element satisying a predicate, or -1.
override def flatMap [B](f : (A) => Iterable[B]) : Iterable[B]
Applies the given function f to each element of this iterable, then concatenates the results.
override def foldLeft [B](z : B)(op : (B, A) => B) : B
Combines the elements of this iterable object together using the binary function f, from left to right, and starting with the value z.
override def foldRight [B](z : B)(op : (A, B) => B) : B
Combines the elements of this list together using the binary function f, from right to left, and starting with the value z.
override def forall (p : (A) => Boolean) : Boolean
Apply a predicate p to all elements of this iterable object and return true, iff the predicate yields true for all elements.
override def foreach (f : (A) => Unit) : Unit
Apply a function f to all elements of this iterable object.
override def indexOf [B >: A](elem : B) : Int
Returns the index of the first occurence of the specified object in this iterable object.
override def map [B](f : (A) => B) : Iterable[B]
Returns the iterable resulting from applying the given function f to each element of this iterable.
override def mkString (start : java.lang.String, sep : java.lang.String, end : java.lang.String) : java.lang.String
Returns a string representation of this iterable object. The resulting string begins with the string start and is finished by the string end. Inside, the string representations of elements (w.r.t. the method toString()) are separated by the string sep.
override def reduceLeft [B >: A](op : (B, B) => B) : B
Combines the elements of this iterable object together using the binary operator op, from left to right
override def reduceRight [B >: A](op : (B, 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.
abstract def self : Iterable[A]
override def take (n : Int) : Collection[A]
Returns an iterable consisting only over the first n elements of this iterable, or else the whole iterable, if it has less than n elements.
override def takeWhile (p : (A) => Boolean) : Iterable[A]
Returns the longest prefix of this iterable whose elements satisfy the predicate p.
override def toList : List[A]
Create a fresh list with all the elements of this iterable object.
Methods inherited from Proxy
hashCode, equals, toString
Methods inherited from Iterable
++, partition, toStream, mkString, mkString, addString, copyToArray, isEmpty, projection, hasDefiniteSize
Methods inherited from AnyRef
getClass, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Method Details
abstract def self : Iterable[A]
Overrides
Proxy.self

override def elements : Iterator[A]
Creates a new iterator over all elements contained in this object.
Returns
the new iterator
Overrides
Iterable.elements

@deprecated

override def concat[B >: A](that : Iterable[B]) : Collection[B]
Appends two iterable objects.
Returns
the new iterable object
Deprecated
use ++ instead
Notes
Will not terminate for infinite-sized collections.
Overrides
Iterable.concat

override def map[B](f : (A) => B) : Iterable[B]
Returns the iterable resulting from applying the given function f to each element of this iterable.
Notes
Will not terminate for infinite-sized collections.
Parameters
f - function to apply to each element.
Returns
f(a0), ..., f(an) if this iterable is a0, ..., an.
Overrides
Iterable.map

override def flatMap[B](f : (A) => Iterable[B]) : Iterable[B]
Applies the given function f to each element of this iterable, then concatenates the results.
Notes
Will not terminate for infinite-sized collections.
Parameters
f - the function to apply on each element.
Returns
f(a0) ::: ... ::: f(an) if this iterable is a0, ..., an.
Overrides
Iterable.flatMap

override def filter(p : (A) => Boolean) : Iterable[A]
Returns all the elements of this iterable that satisfy the predicate p. The order of the elements is preserved.
Notes
Will not terminate for infinite-sized collections.
Parameters
p - the predicate used to filter the list.
Returns
the elements of this list satisfying p.
Overrides
Iterable.filter

override def takeWhile(p : (A) => Boolean) : Iterable[A]
Returns the longest prefix of this iterable whose elements satisfy the predicate p.
Notes
May not terminate for infinite-sized collections.
Parameters
p - the test predicate.
Returns
the longest prefix of this iterable whose elements satisfy the predicate p.
Overrides
Iterable.takeWhile

override def dropWhile(p : (A) => Boolean) : Collection[A]
Returns the longest suffix of this iterable whose first element does not satisfy the predicate p.
Notes
May not terminate for infinite-sized collections.
Parameters
p - the test predicate.
Returns
the longest suffix of the iterable whose first element does not satisfy the predicate p.
Overrides
Iterable.dropWhile

@deprecated

override def take(n : Int) : Collection[A]
Returns an iterable consisting only over the first n elements of this iterable, or else the whole iterable, if it has less than n elements.
Deprecated
API does not make sense for non-ordered collections
Parameters
n - the number of elements to take
Returns
the new iterable
Overrides
Iterable.take

@deprecated

override def drop(n : Int) : Collection[A]
Returns this iterable without its n first elements If this iterable has less than n elements, the empty iterable is returned.
Notes
Will not terminate for infinite-sized collections.
Deprecated
API does not make sense for non-ordered collections
Parameters
n - the number of elements to drop
Returns
the new iterable
Overrides
Iterable.drop

override def foreach(f : (A) => Unit) : Unit
Apply a function f to all elements of this iterable object.
Notes
Will not terminate for infinite-sized collections.
Parameters
f - a function that is applied to every element.
Overrides
Iterable.foreach

override def forall(p : (A) => Boolean) : Boolean
Apply a predicate p to all elements of this iterable object and return true, iff the predicate yields true for all elements.
Notes
May not terminate for infinite-sized collections.
Parameters
p - the predicate
Returns
true, iff the predicate yields true for all elements.
Overrides
Iterable.forall

override def exists(p : (A) => Boolean) : Boolean
Apply a predicate p to all elements of this iterable object and return true, iff there is at least one element for which p yields true.
Notes
May not terminate for infinite-sized collections.
Parameters
p - the predicate
Returns
true, iff the predicate yields true for at least one element.
Overrides
Iterable.exists

override def find(p : (A) => Boolean) : Option[A]
Find and return the first element of the iterable object satisfying a predicate, if any.
Notes
may not terminate for infinite-sized collections.
Parameters
p - the predicate
Returns
the first element in the iterable object satisfying p, or None if none exists.
Overrides
Iterable.find

override def findIndexOf(p : (A) => Boolean) : Int
Returns index of the first element satisying a predicate, or -1.
Notes
may not terminate for infinite-sized collections.
Parameters
p - the predicate
Returns
the index of the first element satisfying p, or -1 if such an element does not exist
Overrides
Iterable.findIndexOf

override def indexOf[B >: A](elem : B) : Int
Returns the index of the first occurence of the specified object in this iterable object.
Notes
may not terminate for infinite-sized collections.
Parameters
elem - element to search for.
Returns
the index in this sequence of the first occurence of the specified element, or -1 if the sequence does not contain this element.
Overrides
Iterable.indexOf

override def foldLeft[B](z : B)(op : (B, A) => B) : B
Combines the elements of this iterable object together using the binary function f, from left to right, and starting with the value z.
Notes
Will not terminate for infinite-sized collections.
Returns
f(... (f(f(z, a0), a1) ...), an) if the list is [a0, a1, ..., an].
Overrides
Iterable.foldLeft

override def foldRight[B](z : B)(op : (A, B) => B) : B
Combines the elements of this list together using the binary function f, from right to left, and starting with the value z.
Notes
Will not terminate for infinite-sized collections.
Returns
f(a0, f(a1, f(..., f(an, z)...))) if the list is [a0, a1, ..., an].
Overrides
Iterable.foldRight

override def /:[B](z : B)(op : (B, A) => B) : B
Similar to foldLeft but can be used as an operator with the order of list and zero arguments reversed. That is, z /: xs is the same as xs foldLeft z
Notes
Will not terminate for infinite-sized collections.
Overrides
Iterable./:

override def :\[B](z : B)(op : (A, B) => B) : B
An alias for foldRight. That is, xs :\ z is the same as xs foldRight z
Notes
Will not terminate for infinite-sized collections.
Overrides
Iterable.:\

override def reduceLeft[B >: A](op : (B, B) => B) : B
Combines the elements of this iterable object together using the binary operator op, from left to right
Notes
Will not terminate for infinite-sized collections.
Parameters
op - The operator to apply
Returns
op(... op(a0,a1), ..., an) if the iterable object has elements a0, a1, ..., an.
Throws
Predef.UnsupportedOperationException - if the iterable object is empty.
Overrides
Iterable.reduceLeft

override def reduceRight[B >: A](op : (B, 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.
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
Iterable.reduceRight

override def sameElements[B >: A](that : Iterable[B]) : Boolean
Checks if the other iterable object contains the same elements.
Notes
will not terminate for infinite-sized collections.
Parameters
that - the other iterable object
Returns
true, iff both iterable objects contain the same elements.
Overrides
Iterable.sameElements

override def copyToBuffer[B >: A](dest : Buffer[B]) : Unit
Copy all elements to a given buffer
Notes
Will not terminate for infinite-sized collections.
Will not terminate if not finite.
Parameters
dest - The buffer to which elements are copied
Overrides
Iterable.copyToBuffer

override def toList : List[A]
Create a fresh list with all the elements of this iterable object.
Notes
Will not terminate for infinite-sized collections.
Overrides
Iterable.toList

override def mkString(start : java.lang.String, sep : java.lang.String, end : java.lang.String) : java.lang.String
Returns a string representation of this iterable object. The resulting string begins with the string start and is finished by the string end. Inside, the string representations of elements (w.r.t. the method toString()) are separated by the string sep.
Examples
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
Notes
Will not terminate for infinite-sized collections.
Parameters
start - starting string.
sep - separator string.
end - ending string.
Returns
a string representation of this iterable object.
Overrides
Iterable.mkString

override def addString(buf : StringBuilder, start : java.lang.String, sep : java.lang.String, end : java.lang.String) : StringBuilder
Write all elements of this string into given string builder.
Notes
Will not terminate for infinite-sized collections.
Parameters
buf - ...
Returns
...
Overrides
Iterable.addString