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 One<V,A>

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

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

A single-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.
 A value()
          Returns the single element in this digit.
 
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)

value

public A value()
Returns the single element in this digit.

Returns:
the single element in this digit.

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.