Package fj
Class P3<A,B,C>
- java.lang.Object
-
- fj.P3<A,B,C>
-
public abstract class P3<A,B,C> extends java.lang.Object
A product-3.
-
-
Constructor Summary
Constructors Constructor Description P3()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static <A,B,C>
F<P3<A,B,C>,A>__1()
Returns a function that returns the first element of a product.static <A,B,C>
F<P3<A,B,C>,B>__2()
Returns a function that returns the second element of a product.static <A,B,C>
F<P3<A,B,C>,C>__3()
Returns a function that returns the third element of a product.abstract A
_1()
Access the first element of the product.P1<A>
_1_()
Returns the 1-product projection over the first element.abstract B
_2()
Access the second element of the product.P1<B>
_2_()
Returns the 1-product projection over the second element.abstract C
_3()
Access the third element of the product.P1<C>
_3_()
Returns the 1-product projection over the third element.<D> P4<A,B,C,D>
append(D el)
<D,E>
P5<A,B,C,D,E>append(P2<D,E> el)
<D,E,F>
P6<A,B,C,D,E,F>append(P3<D,E,F> el)
<D,E,F,G>
P7<A,B,C,D,E,F,G>append(P4<D,E,F,G> el)
<D,E,F,G,H>
P8<A,B,C,D,E,F,G,H>append(P5<D,E,F,G,H> el)
boolean
equals(java.lang.Object other)
int
hashCode()
<X> P3<X,B,C>
map1(F<A,X> f)
Map the first element of the product.<X> P3<A,X,C>
map2(F<B,X> f)
Map the second element of the product.<X> P3<A,B,X>
map3(F<C,X> f)
Map the third element of the product.P3<A,B,C>
memo()
Provides a memoising P3 that remembers its values.java.lang.String
toString()
-
-
-
Method Detail
-
_1
public abstract A _1()
Access the first element of the product.- Returns:
- The first element of the product.
-
_2
public abstract B _2()
Access the second element of the product.- Returns:
- The second element of the product.
-
_3
public abstract C _3()
Access the third element of the product.- Returns:
- The third element of the product.
-
map1
public final <X> P3<X,B,C> map1(F<A,X> f)
Map the first element of the product.- Parameters:
f
- The function to map with.- Returns:
- A product with the given function applied.
-
map2
public final <X> P3<A,X,C> map2(F<B,X> f)
Map the second element of the product.- Parameters:
f
- The function to map with.- Returns:
- A product with the given function applied.
-
map3
public final <X> P3<A,B,X> map3(F<C,X> f)
Map the third element of the product.- Parameters:
f
- The function to map with.- Returns:
- A product with the given function applied.
-
_1_
public final P1<A> _1_()
Returns the 1-product projection over the first element.- Returns:
- the 1-product projection over the first element.
-
_2_
public final P1<B> _2_()
Returns the 1-product projection over the second element.- Returns:
- the 1-product projection over the second element.
-
_3_
public final P1<C> _3_()
Returns the 1-product projection over the third element.- Returns:
- the 1-product projection over the third element.
-
memo
public final P3<A,B,C> memo()
Provides a memoising P3 that remembers its values.- Returns:
- A P3 that calls this P3 once for any given element and remembers the value for subsequent calls.
-
__1
public static <A,B,C> F<P3<A,B,C>,A> __1()
Returns a function that returns the first element of a product.- Returns:
- A function that returns the first element of a product.
-
__2
public static <A,B,C> F<P3<A,B,C>,B> __2()
Returns a function that returns the second element of a product.- Returns:
- A function that returns the second element of a product.
-
__3
public static <A,B,C> F<P3<A,B,C>,C> __3()
Returns a function that returns the third element of a product.- Returns:
- A function that returns the third element of a product.
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-