Package fj

Class P5<A,​B,​C,​D,​E>


  • public abstract class P5<A,​B,​C,​D,​E>
    extends java.lang.Object
    A product-5.
    • Constructor Summary

      Constructors 
      Constructor Description
      P5()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static <A,​B,​C,​D,​E>
      F<P5<A,​B,​C,​D,​E>,​A>
      __1()
      Returns a function that returns the first element of a product.
      static <A,​B,​C,​D,​E>
      F<P5<A,​B,​C,​D,​E>,​B>
      __2()
      Returns a function that returns the second element of a product.
      static <A,​B,​C,​D,​E>
      F<P5<A,​B,​C,​D,​E>,​C>
      __3()
      Returns a function that returns the third element of a product.
      static <A,​B,​C,​D,​E>
      F<P5<A,​B,​C,​D,​E>,​D>
      __4()
      Returns a function that returns the fourth element of a product.
      static <A,​B,​C,​D,​E>
      F<P5<A,​B,​C,​D,​E>,​E>
      __5()
      Returns a function that returns the fifth 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.
      abstract D _4()
      Access the fourth element of the product.
      P1<D> _4_()
      Returns the 1-product projection over the fourth element.
      abstract E _5()
      Access the fifth element of the product.
      P1<E> _5_()
      Returns the 1-product projection over the fifth element.
      <F> P6<A,​B,​C,​D,​E,​F> append​(F el)
      Creates a P6 by adding the given element to the current P5
      <F,​G>
      P7<A,​B,​C,​D,​E,​F,​G>
      append​(P2<F,​G> el)
      Creates a P7 by adding the given element to the current P5
      <F,​G,​H>
      P8<A,​B,​C,​D,​E,​F,​G,​H>
      append​(P3<F,​G,​H> el)
      Creates a P8 by adding the given element to the current P5
      boolean equals​(java.lang.Object other)  
      int hashCode()  
      <X> P5<X,​B,​C,​D,​E> map1​(F<A,​X> f)
      Map the first element of the product.
      <X> P5<A,​X,​C,​D,​E> map2​(F<B,​X> f)
      Map the second element of the product.
      <X> P5<A,​B,​X,​D,​E> map3​(F<C,​X> f)
      Map the third element of the product.
      <X> P5<A,​B,​C,​X,​E> map4​(F<D,​X> f)
      Map the fourth element of the product.
      <X> P5<A,​B,​C,​D,​X> map5​(F<E,​X> f)
      Map the fifth element of the product.
      P5<A,​B,​C,​D,​E> memo()
      Provides a memoising P5 that remembers its values.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • P5

        public P5()
    • 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.
      • _4

        public abstract D _4()
        Access the fourth element of the product.
        Returns:
        The fourth element of the product.
      • _5

        public abstract E _5()
        Access the fifth element of the product.
        Returns:
        The fifth element of the product.
      • map1

        public final <X> P5<X,​B,​C,​D,​E> 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> P5<A,​X,​C,​D,​E> 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> P5<A,​B,​X,​D,​E> 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.
      • map4

        public final <X> P5<A,​B,​C,​X,​E> map4​(F<D,​X> f)
        Map the fourth element of the product.
        Parameters:
        f - The function to map with.
        Returns:
        A product with the given function applied.
      • map5

        public final <X> P5<A,​B,​C,​D,​X> map5​(F<E,​X> f)
        Map the fifth 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.
      • _4_

        public final P1<D> _4_()
        Returns the 1-product projection over the fourth element.
        Returns:
        the 1-product projection over the fourth element.
      • _5_

        public final P1<E> _5_()
        Returns the 1-product projection over the fifth element.
        Returns:
        the 1-product projection over the fifth element.
      • append

        public final <F> P6<A,​B,​C,​D,​E,​F> append​(F el)
        Creates a P6 by adding the given element to the current P5
        Parameters:
        el - the element to append
        Returns:
        A P6 containing the original P5 with the extra element added at the end
      • append

        public final <F,​G> P7<A,​B,​C,​D,​E,​F,​G> append​(P2<F,​G> el)
        Creates a P7 by adding the given element to the current P5
        Parameters:
        el - the element to append
        Returns:
        A P7 containing the original P5 with the extra element added at the end
      • append

        public final <F,​G,​H> P8<A,​B,​C,​D,​E,​F,​G,​H> append​(P3<F,​G,​H> el)
        Creates a P8 by adding the given element to the current P5
        Parameters:
        el - the element to append
        Returns:
        A P8 containing the original P5 with the extra element added at the end
      • memo

        public final P5<A,​B,​C,​D,​E> memo()
        Provides a memoising P5 that remembers its values.
        Returns:
        A P5 that calls this P5 once for any given element and remembers the value for subsequent calls.
      • __1

        public static <A,​B,​C,​D,​E> F<P5<A,​B,​C,​D,​E>,​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,​D,​E> F<P5<A,​B,​C,​D,​E>,​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,​D,​E> F<P5<A,​B,​C,​D,​E>,​C> __3()
        Returns a function that returns the third element of a product.
        Returns:
        A function that returns the third element of a product.
      • __4

        public static <A,​B,​C,​D,​E> F<P5<A,​B,​C,​D,​E>,​D> __4()
        Returns a function that returns the fourth element of a product.
        Returns:
        A function that returns the fourth element of a product.
      • __5

        public static <A,​B,​C,​D,​E> F<P5<A,​B,​C,​D,​E>,​E> __5()
        Returns a function that returns the fifth element of a product.
        Returns:
        A function that returns the fifth element of a product.
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object