Copyright 2008 - 2010 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg

This software is released under an open source BSD licence.

fj.data.fingertrees
Class Four<V,A>

java.lang.Object
  extended by fj.data.fingertrees.Digit<V,A>
      extended by fj.data.fingertrees.Four<V,A>

public final class Four<V,A>
extends Digit<V,A>

A four-element prefix or suffix of a finger tree.


Method Summary
<B> B
foldLeft(F<B,F<A,B>> bff, B z)
          Folds this digit to the left using the given function and the given initial value.
<B> B
foldRight(F<A,F<B,B>> aff, B z)
          Folds this digit to the right using the given function and the given initial value.
<B> B
match(F<One<V,A>,B> one, F<Two<V,A>,B> two, F<Three<V,A>,B> three, F<Four<V,A>,B> four)
          Structural pattern matching on digits.
 V4<A> values()
          Returns the elements of this digit as a vector.
 
Methods inherited from class fj.data.fingertrees.Digit
map, measure, reduceLeft, reduceRight, toTree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

foldRight

public <B> B foldRight(F<A,F<B,B>> aff,
                       B z)
Description copied from class: Digit
Folds this digit to the right using the given function and the given initial value.

Specified by:
foldRight in class Digit<V,A>
Parameters:
aff - A function with which to fold this digit.
z - An initial value to apply at the rightmost end of the fold.
Returns:
The right reduction of this digit with the given function and the given initial value.
See Also:
Digit.foldRight(fj.F, Object)

foldLeft

public <B> B foldLeft(F<B,F<A,B>> bff,
                      B z)
Description copied from class: Digit
Folds this digit to the left using the given function and the given initial value.

Specified by:
foldLeft in class Digit<V,A>
Parameters:
bff - A function with which to fold this digit.
z - An initial value to apply at the leftmost end of the fold.
Returns:
The left reduction of this digit with the given function and the given initial value.
See Also:
Digit.foldLeft(fj.F, Object)

match

public <B> B match(F<One<V,A>,B> one,
                   F<Two<V,A>,B> two,
                   F<Three<V,A>,B> three,
                   F<Four<V,A>,B> four)
Description copied from class: Digit
Structural pattern matching on digits. Applies the function that matches the structure of this digit.

Specified by:
match in class Digit<V,A>
Parameters:
one - A function to apply to this digit if it's One.
two - A function to apply to this digit if it's Two.
three - A function to apply to this digit if it's Three.
four - A function to apply to this digit if it's Four.
Returns:
The result of applying the function matching this Digit.
See Also:
Digit.match(fj.F, fj.F, fj.F, fj.F)

values

public V4<A> values()
Returns the elements of this digit as a vector.

Returns:
the elements of this digit as a vector.

Copyright 2008 - 2010 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg

This software is released under an open source BSD licence.