View

This object reifies operations on views as case classes

Companion:
class
Source:
View.scala
View.type

Type members

Classlikes

class Appended[+A](underlying: SomeIterableOps[A], elem: A) extends AbstractView[A]

A view that appends an element to its elements

A view that appends an element to its elements

Source:
View.scala
class Collect[+A, B](underlying: SomeIterableOps[A], pf: PartialFunction[A, B]) extends AbstractView[B]

A view that collects elements of the underlying collection.

A view that collects elements of the underlying collection.

Source:
View.scala
class Concat[A](prefix: SomeIterableOps[A], suffix: SomeIterableOps[A]) extends AbstractView[A]

A view that concatenates elements of the prefix collection or iterator with the elements of the suffix collection or iterator.

A view that concatenates elements of the prefix collection or iterator with the elements of the suffix collection or iterator.

Source:
View.scala
class DistinctBy[A, B](underlying: SomeIterableOps[A], f: A => B) extends AbstractView[A]

A view that removes the duplicated elements as determined by the transformation function f

A view that removes the duplicated elements as determined by the transformation function f

Source:
View.scala
class Drop[A](underlying: SomeIterableOps[A], n: Int) extends AbstractView[A]

A view that drops leading elements of the underlying collection.

A view that drops leading elements of the underlying collection.

Source:
View.scala
class DropRight[A](underlying: SomeIterableOps[A], n: Int) extends AbstractView[A]

A view that drops trailing elements of the underlying collection.

A view that drops trailing elements of the underlying collection.

Source:
View.scala
class DropWhile[A](underlying: SomeIterableOps[A], p: A => Boolean) extends AbstractView[A]
Source:
View.scala
class Elems[A](xs: A*) extends AbstractView[A]

A view with given elements

A view with given elements

Source:
View.scala
case object Empty extends AbstractView[Nothing]

The empty view

The empty view

Source:
View.scala
class Fill[A](n: Int)(elem: => A) extends AbstractView[A]

A view containing the results of some element computation a number of times.

A view containing the results of some element computation a number of times.

Source:
View.scala
class Filter[A](val underlying: SomeIterableOps[A], val p: A => Boolean, val isFlipped: Boolean) extends AbstractView[A]

A view that filters an underlying collection.

A view that filters an underlying collection.

Companion:
object
Source:
View.scala
object Filter
Companion:
class
Source:
View.scala
class FlatMap[A, B](underlying: SomeIterableOps[A], f: A => IterableOnce[B]) extends AbstractView[B]

A view that flatmaps elements of the underlying collection.

A view that flatmaps elements of the underlying collection.

Source:
View.scala
class Iterate[A](start: A, len: Int)(f: A => A) extends AbstractView[A]

A view containing repeated applications of a function to a start value

A view containing repeated applications of a function to a start value

Source:
View.scala
class LeftPartitionMapped[A, A1, A2](underlying: SomeIterableOps[A], f: A => Either[A1, A2]) extends AbstractView[A1]
Source:
View.scala
class Map[+A, +B](underlying: SomeIterableOps[A], f: A => B) extends AbstractView[B]

A view that maps elements of the underlying collection.

A view that maps elements of the underlying collection.

Source:
View.scala
class PadTo[A](underlying: SomeIterableOps[A], len: Int, elem: A) extends AbstractView[A]
Source:
View.scala
class Prepended[+A](elem: A, underlying: SomeIterableOps[A]) extends AbstractView[A]

A view that prepends an element to its elements

A view that prepends an element to its elements

Source:
View.scala
class RightPartitionMapped[A, A1, A2](underlying: SomeIterableOps[A], f: A => Either[A1, A2]) extends AbstractView[A2]
Source:
View.scala
class ScanLeft[+A, +B](underlying: SomeIterableOps[A], z: B, op: (B, A) => B) extends AbstractView[B]
Source:
View.scala
class Single[A](a: A) extends AbstractView[A]

A view with exactly one element

A view with exactly one element

Source:
View.scala
class Tabulate[A](n: Int)(f: Int => A) extends AbstractView[A]

A view containing values of a given function over a range of integer values starting from 0.

A view containing values of a given function over a range of integer values starting from 0.

Source:
View.scala
class Take[+A](underlying: SomeIterableOps[A], n: Int) extends AbstractView[A]

A view that takes leading elements of the underlying collection.

A view that takes leading elements of the underlying collection.

Source:
View.scala
class TakeRight[+A](underlying: SomeIterableOps[A], n: Int) extends AbstractView[A]

A view that takes trailing elements of the underlying collection.

A view that takes trailing elements of the underlying collection.

Source:
View.scala
class TakeWhile[A](underlying: SomeIterableOps[A], p: A => Boolean) extends AbstractView[A]
Source:
View.scala
class Unfold[A, S](initial: S)(f: S => Option[(A, S)]) extends AbstractView[A]

A view that uses a function f to produce elements of type A and update an internal state S.

A view that uses a function f to produce elements of type A and update an internal state S.

Source:
View.scala
class Updated[A](underlying: SomeIterableOps[A], index: Int, elem: A) extends AbstractView[A]
Source:
View.scala
class Zip[A, B](underlying: SomeIterableOps[A], other: Iterable[B]) extends AbstractView[(A, B)]

A view that zips elements of the underlying collection with the elements of another collection.

A view that zips elements of the underlying collection with the elements of another collection.

Source:
View.scala
class ZipAll[A, B](underlying: SomeIterableOps[A], other: Iterable[B], thisElem: A, thatElem: B) extends AbstractView[(A, B)]

A view that zips elements of the underlying collection with the elements of another collection.

A view that zips elements of the underlying collection with the elements of another collection. If one of the two collections is shorter than the other, placeholder elements are used to extend the shorter collection to the length of the longer.

Source:
View.scala
class ZipWithIndex[A](underlying: SomeIterableOps[A]) extends AbstractView[(A, Int)]
Source:
View.scala

Types

type SomeIterableOps[A] = IterableOps[A, AnyConstr, _]

An IterableOps whose collection type and collection type constructor are unknown

An IterableOps whose collection type and collection type constructor are unknown

Source:
View.scala

Value members

Concrete methods

override def apply[A](xs: A*): View[A]
Definition Classes
Source:
View.scala
def empty[A]: View[A]
Source:
View.scala
def from[E](it: IterableOnce[E]): View[E]
Type parameters:
E

View element type

Value parameters:
it

The IterableOnce to view. A proper Iterable is used directly. If it is really only IterableOnce it gets memoized on the first traversal.

Returns:

A view iterating over the given Iterable

Source:
View.scala
def fromIteratorProvider[A](it: () => Iterator[A]): View[A]
Type parameters:
A

View element type

Value parameters:
it

Function creating the iterator to be used by the view. This function must always return a fresh Iterator, otherwise the resulting view will be effectively iterable only once.

Returns:

A View[A] whose underlying iterator is provided by the it parameter-less function.

Source:
View.scala
def newBuilder[A]: Builder[A, View[A]]
Source:
View.scala

Inherited methods

def concat[A](xss: Iterable[A]*): View[A]

Concatenates all argument collections into a single collection.

Concatenates all argument collections into a single collection.

Value parameters:
xss

the collections that are to be concatenated.

Returns:

the concatenation of all the collections.

Inherited from:
IterableFactory
Source:
Factory.scala
def fill[A](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => A): View[View[View[View[View[A]]]]]

Produces a five-dimensional collection containing the results of some element computation a number of times.

Produces a five-dimensional collection containing the results of some element computation a number of times.

Value parameters:
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

n5

the number of elements in the 5th dimension

Returns:

A collection that contains the results of n1 x n2 x n3 x n4 x n5 evaluations of elem.

Inherited from:
IterableFactory
Source:
Factory.scala
def fill[A](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => A): View[View[View[View[A]]]]

Produces a four-dimensional collection containing the results of some element computation a number of times.

Produces a four-dimensional collection containing the results of some element computation a number of times.

Value parameters:
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

Returns:

A collection that contains the results of n1 x n2 x n3 x n4 evaluations of elem.

Inherited from:
IterableFactory
Source:
Factory.scala
def fill[A](n1: Int, n2: Int, n3: Int)(elem: => A): View[View[View[A]]]

Produces a three-dimensional collection containing the results of some element computation a number of times.

Produces a three-dimensional collection containing the results of some element computation a number of times.

Value parameters:
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

Returns:

A collection that contains the results of n1 x n2 x n3 evaluations of elem.

Inherited from:
IterableFactory
Source:
Factory.scala
def fill[A](n1: Int, n2: Int)(elem: => A): View[View[A]]

Produces a two-dimensional collection containing the results of some element computation a number of times.

Produces a two-dimensional collection containing the results of some element computation a number of times.

Value parameters:
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

Returns:

A collection that contains the results of n1 x n2 evaluations of elem.

Inherited from:
IterableFactory
Source:
Factory.scala
def fill[A](n: Int)(elem: => A): View[A]

Produces a collection containing the results of some element computation a number of times.

Produces a collection containing the results of some element computation a number of times.

Value parameters:
elem

the element computation

n

the number of elements contained in the collection.

Returns:

A collection that contains the results of n evaluations of elem.

Inherited from:
IterableFactory
Source:
Factory.scala
def iterate[A](start: A, len: Int)(f: A => A): View[A]

Produces a collection containing repeated applications of a function to a start value.

Produces a collection containing repeated applications of a function to a start value.

Value parameters:
f

the function that's repeatedly applied

len

the number of elements contained in the collection

start

the start value of the collection

Returns:

a collection with len values in the sequence start, f(start), f(f(start)), ...

Inherited from:
IterableFactory
Source:
Factory.scala
def range[A : Integral](start: A, end: A, step: A): View[A]

Produces a collection containing equally spaced values in some integer interval.

Produces a collection containing equally spaced values in some integer interval.

Value parameters:
end

the end value of the collection (the first value NOT contained)

start

the start value of the collection

step

the difference between successive elements of the collection (must be positive or negative)

Returns:

a collection with values start, start + step, ... up to, but excluding end

Inherited from:
IterableFactory
Source:
Factory.scala
def range[A : Integral](start: A, end: A): View[A]

Produces a collection containing a sequence of increasing of integers.

Produces a collection containing a sequence of increasing of integers.

Value parameters:
end

the end value of the collection (the first value NOT contained)

start

the first element of the collection

Returns:

a collection with values start, start + 1, ..., end - 1

Inherited from:
IterableFactory
Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => A): View[View[View[View[View[A]]]]]

Produces a five-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a five-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value parameters:
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

n5

the number of elements in the 5th dimension

Returns:

A collection consisting of elements f(i1, i2, i3, i4, i5) for 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, 0 <= i4 < n4, and 0 <= i5 < n5.

Inherited from:
IterableFactory
Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => A): View[View[View[View[A]]]]

Produces a four-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a four-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value parameters:
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

Returns:

A collection consisting of elements f(i1, i2, i3, i4) for 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, and 0 <= i4 < n4.

Inherited from:
IterableFactory
Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => A): View[View[View[A]]]

Produces a three-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a three-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value parameters:
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

Returns:

A collection consisting of elements f(i1, i2, i3) for 0 <= i1 < n1, 0 <= i2 < n2, and 0 <= i3 < n3.

Inherited from:
IterableFactory
Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int)(f: (Int, Int) => A): View[View[A]]

Produces a two-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a two-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value parameters:
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

Returns:

A collection consisting of elements f(i1, i2) for 0 <= i1 < n1 and 0 <= i2 < n2.

Inherited from:
IterableFactory
Source:
Factory.scala
def tabulate[A](n: Int)(f: Int => A): View[A]

Produces a collection containing values of a given function over a range of integer values starting from 0.

Produces a collection containing values of a given function over a range of integer values starting from 0.

Value parameters:
f

The function computing element values

n

The number of elements in the collection

Returns:

A collection consisting of elements f(0), ..., f(n -1)

Inherited from:
IterableFactory
Source:
Factory.scala
def unfold[A, S](init: S)(f: S => Option[(A, S)]): View[A]

Produces a collection that uses a function f to produce elements of type A and update an internal state of type S.

Produces a collection that uses a function f to produce elements of type A and update an internal state of type S.

Type parameters:
A

Type of the elements

S

Type of the internal state

Value parameters:
f

Computes the next element (or returns None to signal the end of the collection)

init

State initial value

Returns:

a collection that produces elements using f until f returns None

Inherited from:
IterableFactory
Source:
Factory.scala

Implicits

Inherited implicits

implicit def iterableFactory[A]: Factory[A, View[A]]
Inherited from:
IterableFactory
Source:
Factory.scala