Copyright 2008 - 2009 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 Node<V,A>

java.lang.Object
  extended by fj.data.fingertrees.Node<V,A>
Direct Known Subclasses:
Node2, Node3

public abstract class Node<V,A>
extends Object

An inner node of the 2-3 tree.


Method Summary
static
<V,A,B> F<B,F<Node<V,A>,B>>
foldLeft_(F<B,F<A,B>> bff)
           
abstract
<B> B
foldLeft(F<B,F<A,B>> f, B z)
           
static
<V,A,B> F<B,F<Node<V,A>,B>>
foldRight_(F<A,F<B,B>> aff)
           
abstract
<B> B
foldRight(F<A,F<B,B>> f, B z)
           
static
<V,A,B> F<Node<V,A>,Node<V,B>>
liftM(F<A,B> f, Measured<V,B> m)
           
abstract  P2<Integer,A> lookup(F<V,Integer> o, int i)
           
<B> Node<V,B>
map(F<A,B> f, Measured<V,B> m)
           
abstract
<B> B
match(F<Node2<V,A>,B> n2, F<Node3<V,A>,B> n3)
           
 V measure()
           
protected  Measured<V,A> measured()
           
abstract  Digit<V,A> toDigit()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

foldRight

public abstract <B> B foldRight(F<A,F<B,B>> f,
                                B z)

foldLeft

public abstract <B> B foldLeft(F<B,F<A,B>> f,
                               B z)

foldLeft_

public static <V,A,B> F<B,F<Node<V,A>,B>> foldLeft_(F<B,F<A,B>> bff)

foldRight_

public static <V,A,B> F<B,F<Node<V,A>,B>> foldRight_(F<A,F<B,B>> aff)

map

public <B> Node<V,B> map(F<A,B> f,
                         Measured<V,B> m)

liftM

public static <V,A,B> F<Node<V,A>,Node<V,B>> liftM(F<A,B> f,
                                                   Measured<V,B> m)

toDigit

public abstract Digit<V,A> toDigit()

measure

public V measure()

measured

protected Measured<V,A> measured()

lookup

public abstract P2<Integer,A> lookup(F<V,Integer> o,
                                     int i)

match

public abstract <B> B match(F<Node2<V,A>,B> n2,
                            F<Node3<V,A>,B> n3)

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

This software is released under an open source BSD licence.